tbl_CPVMeanPrice

Данная аналитическая таблица хранит в себе средние цены за единицы измерения часто закупаемых предметов закупки для календарного года.

Данная аналитическая таблица содержит следующую информацию:
  • Идентификатор предмета закупки;
  • Код единицы измерения;
  • Средняя цена единицы измерения предмета закупки;
  • Год, для которого рассчитана таблица.

Пример того, как может выглядеть таблица:

Предмет закупки Код единицы измерения Цена Год
Предмет закупки 1 Код единицы измерения 1 Цена 1 Год 1
Предмет закупки 1 Код единицы измерения 2 Цена 2 Год 1
Предмет закупки 1 Код единицы измерения 3 Цена 3 Год 1
Предмет закупки 2 Код единицы измерения 1 Цена 1 Год 1
Предмет закупки 2 Код единицы измерения 2 Цена 2 Год 1
     

Расчет аналитической таблицы

Источники данных для расчета

Для расчета аналитической таблицы используются следующие источники данных:

  • API системы государственных закупок в OCDS формате.

Частота расчета аналитической таблицы

Аналитическая таблица рассчитывается 1 раз в сутки.

Поля для расчета

  • data.tender.lots.status
  • data.tender.lots.id
  • data.tender.items.classification.id
  • data.items.unit.id
  • data.item.relatedLot
  • data.awards.relatedLot
  • data.awards.relatedBid
  • data.bids.details.priceProposal.unit.value.amount
  • data.bids.relatedLots.value.amount

Формула расчета таблицы

  1. Выбираем процедуры за год до текущей даты.
  2. Выбираем все процедуры, проведенные одноэтапным методом, упрощенным методом или методом на понижение, в статусе complete, процедуры, которые находятся в статусе „active“, но при этом больше 30 дней имеют currentStage = 'evaluationComplete'.
  3. Из каждой найденной процедуры извлекаем идентификаторы предметов закупки (data.tender.items.classification.id) и единицы измерения data.items.unit.id. Предметы закупки выбираем только из таких лотов (data.item.relatedLot = data.tender.lots.id), которые имеют data.tender.lots.status = 'complete' или data.tender.lots.status = 'active'.
  4. Для каждого предмета закупки проводим следующие действия.
    • Определяем идентификатор лота data.items.relatedLot, к которому относится найденный data.items.
    • Находим блок определения победителя, где data.awards.relatedLot = data.items.relatedLot и data.awards.status = 'active'.
    • В найденном блоке определения победителя находим идентификатор победившего предложения data.awards.relatedBid.
    • По найденному идентификатору находим выигравшее предложение data.awards.relatedBid = data.bids.details.id.
    • В выигравшем предложении в блоке data.bids.priceProposal находим цену единицы измерения предмета закупки data.bids.details.priceProposal.unit.value.amount. Используем только те, у которых data.bids.details.priceProposal.unit.value.amount > 0.
  5. Группируем полученные данные по коду предмета закупки (только если по данному коду закупки и единице измерения есть более 3-х записей) и единице измерения, выбирая среднее по цене выигрышного предложения. Также добавляем год, для которого расчитана таблица.
  6. Полученные результаты заносим в таблицу.