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
Формула расчета таблицы¶
- Выбираем процедуры за год до текущей даты.
- Выбираем все процедуры, проведенные одноэтапным методом, упрощенным методом или методом на понижение, в статусе
complete
, процедуры, которые находятся в статусе „active“, но при этом больше 30 дней имеютcurrentStage = 'evaluationComplete'
. - Из каждой найденной процедуры извлекаем идентификаторы предметов закупки (
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'
. - Для каждого предмета закупки проводим следующие действия.
- Определяем идентификатор лота
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.
- Определяем идентификатор лота
- Группируем полученные данные по коду предмета закупки (только если по данному коду закупки и единице измерения есть более 3-х записей) и единице измерения, выбирая среднее по цене выигрышного предложения. Также добавляем год, для которого расчитана таблица.
- Полученные результаты заносим в таблицу.