Skip to main content

Принцип расчета индекса

 

1. Индекс - отношение число посетителей к коммерческой площади объектов за N-периодичность, где N может принимать значения: день, неделя, месяц, квартал и год. Индекс всегда разбивается на N-периодичность.

Правила выбора периода каждой N-периодичности:

  • день - календарный день
  • неделя - календарная неделя (с понедельника по воскресенье)
  • месяц - календарный месяц (с первого дня месяца по последний день месяца)
  • квартал - календарный квартал (с первого дня квартала по последний день квартала)
  • год - календарный год (с первого дня года по последний день года)

Общая формула расчета индекса:

image-1695146709412.png   , где image-1695146736914.png - посещаемость объекта за m-день по счету периодичности, N - количество календарных дней в периодичности, S - площадь объекта. Например:

Объект: ТЦ "Солнышко"
Площадь: 136000 м^2.
Посещаемость:

День Посещаемость
04.09.2023 460 792
05.09.2023 349 621
06.09.2023 347 337
07.09.2023 339 815
08.09.2023 340 794
09.09.2023 341 773
10.09.2023 350 024
11.09.2023 395 949
12.09.2023 354 614
13.09.2023 404 033
14.09.2023 363 209
15.09.2023 369 375
16.09.2023 351 758
17.09.2023 365 543

Период построения: 04.09.2023 - 17.09.2023
Периодичность: Неделя

Индекс за 04.09-10.09:  (460792+349621+347337+339815+340794+341773+350024)/136000 = 18,60
Индекс за 11.09-17.09:  (395949+354614+404033+363209+369375+351758+365543)/136000 = 19,15

 

2. Шаблоны - сохраненные фильтры по атрибутам объекта для формирования индекса. У шаблона может быть указан период фиксации в виде даты начала и даты окончания (либо должна быть функция фиксации индекса за период по шаблону).

Пример шаблона: 

{
    "template": {
        "address": [
            {
                "fias_ids": [
                    "123123",
                    "123123",
                    "123213"
                ],
                "representation": "Россия; Рязань; Глазань"
            }
        ],
        "area": [
            {
                "value": 45000,
                "operator": "gte"
            },
            {
                "value": 90000,
                "operator": "lte"
            }
        ],
        "is_mall": true,
        "props": [
            {	
              	"id": "uid",
                "prop_name": "1706532045",
                "values": [{
              		"id": 2,
              		"value": "Одежда"	
            	}],
                "operator": "eq",
              	"group": false
            },
  			 {
              	"id": "uid2",
                "operator": "or",
              	"group": true,
  				"children": [
  					{	
                      "id": "uid3",
                      "prop_name": "1706532045",
                      "values": [{
                          "id": 4,
                          "value": "Женская одежда"
                      }],
                      "operator": "neq",
                      "group": false
                  },
                    {	
                      "id": "uid4",
                      "prop_name": "1706105749",
                      "values": [
                          {
                            "id": 42,
                            "value": 1	
                          },
                          {
                            "id": 45,
                            "value": 3	
                          }
                      ],
                      "operator": "in",
                      "group": false
                    },
  				]
            }
        ]
    }
}

eq — равно
neq — не равно
lt — меньше
lte — меньше или равно
gt — больше
gte — больше или равно
in - находит объекты со свойством, значение которого равно одному из значений из списка
nin - находит объекты со свойством, значение которого не равно ни одному из значений из списка

is_mall принимает значения - true, false, none. none отменяет применение фильтра

3. Фиксация индекса

По существующим шаблонам должен быть предусмотрен механизм фиксации индекса работающий следующим образом: строится индекс по указанным фильтрам шаблона и сохраняется за указанный период фиксации шаблона. 

Фиксировать значение индекса рекомендуется в разрезе дня.

Значения индекса для фиксации строятся на основе данных посещаемости по объектам с учетом основных принципов расчета и формулы расчета индекса.

В случае если за определенный период нет данных для расчета индекса, то такой индекс заполняется в разрезе дня со значением равным 0 (нулю).

4. Расчет индекса

Пример запроса индекса доступен по ссылке.

Основные принципы расчета индекса:

  • Данные по объектам берутся только за период работы с объектом (атрибуты объекта: дата начала работы, дата окончания работы с объектом). 
  • Данные по объекту не берутся в случае если по объекту отсутствуют данные за полную N-периодичность, в ином случае данные по объекту участвуют в расчете индекса.
  • В случае построение индекса по шаблону (запрос по "template" из примера запроса):
    • Период построение отчета попадает в период фиксации по шаблону:
      • Данные по индексу строятся из фиксированного индекса по шаблону
    • Период отчета не попадает в период фиксации по шаблону:
      • Данные по индексу строятся на основании данных посещаемости объектов
    • Период отчета по индексу частично попадает в период фиксации по шаблону:
      • За период который попадает в период фиксации данные строятся из фиксированного индекса по шаблону
      • За период который не попадает в период фиксации данные на основании данных посещаемости объектов
  • В случае построение индекса по объектом (запрос по "objects" из примера запроса):
    • Данные строятся на основании посещаемости объектов

 

Пример расчета индекса в google-таблице