Продажи ниже спроса: как учитывать отсутствие товара в прогнозе выпуска скоропорта
К полудню закончились готовые обеды. За день касса зафиксировала десять продаж. Если система воспримет это число как полный дневной спрос, следующий план может стать ещё меньше. Возникает круг: маленький выпуск ограничивает продажи, а ограниченные продажи подтверждают маленький выпуск.
Для производителя готовой еды, молочной продукции или свежей выпечки важно различать наблюдаемые продажи и спрос, который не удалось наблюдать из-за недоступности товара. Восстановить его точно по одному кассовому итогу нельзя. Но можно сохранить признаки ограничения и перестать обращаться с такими днями как с обычными.
Откуда возникает ошибка
Текстовые задачи языковых моделей и прогноз по SKU с помощью машинного обучения — разные задачи. Для прогноза важны погода, календарь, остатки, товары в пути и подтверждение поставщика. Эти элементы полезны как карта процесса. Общая формулировка о росте точности не даёт измеренного результата для конкретного пищевого предприятия.
Исследование FreshRetailNet-50K рассматривает продажи свежих продуктов с отметками отсутствия товара. В эксперименте авторов восстановление скрытого спроса перед прогнозированием снизило WAPE модели TFT с 31,75% до 29,02%. Это 2,73 процентного пункта на исследовательском наборе, а не прирост прибыли и не гарантированный результат для российской фирменной сети. .
Практическое следствие: прежде чем выбирать сложную модель, нужно установить, какие продажи в данных действительно наблюдались при возможности покупки.
Каких данных не хватает дневному итогу
Для каждой позиции и точки полезны интервалы доступности, продажи по времени, поступления, списания и причины блокировки. Дата закрытия магазина и сбой обмена тоже важны: отсутствие событий может означать отсутствие наблюдения.
| Состояние | Что известно | Как обращаться в анализе |
|---|---|---|
| Товар доступен весь рабочий интервал | Продажи наблюдались без известного ограничения наличия | Использовать с учётом других факторов |
| Товар закончился в известный момент | До этого момента есть наблюдения, после — ограничение | Сохранить границу и признак дефицита |
| Остаток в учёте есть, на полке не найден | Учёт не подтверждает доступность | Уточнить физическое состояние |
| Товар заблокирован по качеству | Продажа ограничена решением | Отделить от обычного спроса |
| Данные кассы отсутствуют | Продажи неизвестны | Не подставлять ноль |
Даже полный день наличия не делает продажи чистым измерением предпочтения. Меняются цена, промо, погода, поток и соседние товары. Признак наличия устраняет одну ошибку интерпретации, но не все.
Учебная неделя
Пусть продажи за семь дней составили 20, 22, 10, 24, 8, 21 и 23 порции. В третьем и пятом днях товар закончился до завершения торговли. Все числа вымышлены.
Среднее по семи дням — 128 / 7 = 18,29 порции. Среднее по пяти дням без отмеченного дефицита — 110 / 5 = 22.
Второе число нельзя объявить истинным спросом каждого дня. Дни могут отличаться по потоку; товар чаще заканчивается именно при высоком спросе, поэтому отбор дней наличия тоже бывает смещённым. Расчёт показывает чувствительность простой средней к выбору наблюдений.
Для дней с десятью и восемью продажами эти значения задают наблюдаемый объём покупок. Дополнительный неудовлетворённый спрос неизвестен. Его не стоит достраивать точным числом без модели и проверки. В журнале полезнее сохранить время окончания и основания последующей оценки.
Как сравнить прогнозы
Сначала выберите простой ориентир: например, продажи сопоставимого дня недели с явной обработкой отсутствий. Затем сравните более сложную модель на одном и том же периоде, который не участвовал в настройке. Разделяйте обучение и проверку по времени, чтобы будущие события не попали в прошлый прогноз.
Используйте только сведения, доступные к моменту решения. Для погоды это сохранённый прогноз на тот момент, а не фактическая погода задним числом. Для промо — известный план и его версия. Для поставки — тогдашнее подтверждение, а не дата, которую узнали после приезда машины.
Отдельно оценивайте недопрогноз и перепрогноз. Для скоропорта последствия различаются: недоступность и списание требуют своего учёта. WAPE можно считать как сумму абсолютных ошибок, делённую на сумму фактических значений на выбранной проверке. При нулевом знаменателе показатель не определён; крупные позиции способны скрыть ошибки редких SKU.
Там, где истинный спрос был ограничен наличием, ошибка относительно кассовых продаж не является ошибкой относительно полного спроса. Такие интервалы показывают отдельно. Полезны контролируемые проверки на заведомо наблюдаемых отрезках, но искусственное скрытие данных также не воспроизводит все причины реального дефицита.
Прогноз ещё нужно превратить в исполнимый выпуск
План учитывает пригодные остатки, подтверждённые своевременные поступления, срок продукта, производственные ограничения и выбранный запас. Неизвестное поступление нельзя считать доступным только потому, что заказ отправлен поставщику.
Учебный пример: прогноз — 22 единицы, целевой остаток — 2, пригодно на начало — 3, подтверждено поступление 5 до нужного окна. Предварительная потребность в новом объёме: 22 + 2 − 3 − 5 = 16.
Если пять единиц приедут после окна продажи, они не покрывают это окно; расчёт изменится до 21. Это условная арифметика, не рекомендация выпускать конкретное количество. Сроки, кратность производства и ограничения продукта проверяются отдельно.
Что сохранить после пилота
У каждого прогноза нужны дата формирования, горизонт, версия модели, доступные тогда входы и фактическое решение человека. После исполнения добавляют продажи, интервалы отсутствия, остаток и списание. Если менеджер изменил прогноз, сохраняют величину и причину корректировки.
Первый результат пилота — понимание, где прогноз ошибается и где данных недостаточно. Для экономического вывода нужны затраты, исполнение и сопоставимое наблюдение. Самая полезная ранняя доработка иногда состоит в регистрации времени отсутствия товара: без него сложная модель продолжает учиться на ограниченном результате, принимая его за весь спрос. Дыра в прогнозе видна на продукте с коротким сроком. Заказ охлаждённой молочной продукции: партия и доставка показывает, какие поля заказа нельзя заменить средним спросом.
