Почему прогнозирование спроса ломается на реальных данных
Прогноз спроса редко ломается на модели — он ломается на входных данных. Заказы, остатки, отгрузки и планы промоакций живут в разных системах, выгружаются вручную таблицами планирования и сводятся в одну книгу, где каждая цифра правится руками. Планировщик подстраивает значение под последний разговор с отделом продаж, а не под историю, поэтому фактическая ошибка прогноза не измеряется вообще: непонятно, насколько цифра в таблице расходится с тем, что было.
Сезонность поставок в такой схеме учитывается «на глаз»: агрегат по среднему за период сглаживает пики и провалы, а лаг между заказом и приходом на склад в расчёте просто отсутствует. Промоакция, которая поднимет спрос вдвое, и следующий за ней провал живут в отдельном файле маркетинга и до модели не доходят — в результате система закупает по усреднённому профилю, который не совпадает ни с одним реальным месяцем.
Отдельная причина — разрыв между отделами. Продажи, закупки и склад считают свои версии плана с разными горизонтами и правилами округления, и каждая версия уходит в работу как единственно верная. Ошибка на этом стыке не гасится, а накапливается: неточность по одной группе товаров тянет за собой заказ по смежным позициям, а расхождение обнаруживается уже по факту прихода.
Дальше по цепочке поставок накопленная ошибка превращается в два дорогих состояния склада. В пик сезона — дефицит на складе: упущенные продажи и ручные ускоренные закупки. В спад — затоваривание: замороженный оборот, сроки годности и распродажи. Ниже разбираем, как это закрывается на уровне данных, модели и регламента планирования.
Эффект от внедрения: точность, запасы, упущенные продажи
Внедрение прогнозирования спроса измеряется не «умностью» модели, а четырьмя числами, которые видно в отчёте через один-два квартала: точность прогноза, объём страхового запаса, оборачиваемость склада и доля упущенных продаж. Первый срез снимаем до старта — на исторических данных, иначе эффект не с чем сравнивать.
Сокращение страховых запасов без потери уровня сервиса
Точность прогноза на горизонте 4–12 недель обычно поднимается с 60–70% до 80–90% по взвешенной ошибке — этого достаточно, чтобы страховой запас по ходовым позициям сократился на 20–35% при том же уровне сервиса. Ключ в переходе от единого норматива к прогнозу с интервалом: там, где спрос стабилен, запас режется, а по волатильным позициям остаётся прежним. Оборачиваемость при этом улучшается на 15–25%, списания по срокам годности падают.
Сколько ручных правок уходит из плана
Доля ручных правок — индикатор недоверия к прогнозу, поэтому считаем её до и после: типично план правят в 30–40% строк, после внедрения остаётся 5–10%, и то в основном на акциях и разовых поставках. Каждую правку логируем с причиной, и эти причины уходят в признаки модели — точность растёт без ручной подгонки.
Базовую линию и сезонность берём из открытых реализаций вроде Prophet, поверх — градиентный бустинг на ценах и акциях. Метрики считаем по скользящему окну, чтобы разовый выброс не искажал картину.
Форматы моделей: статистика, ансамбли, нейросети
Ни один формат не выигрывает по всем категориям — выбор задают горизонт планирования, длина истории продаж и доля редких позиций. Ниже три подхода, между которыми реально выбирают на старте.
На практике их почти всегда смешивают: статистическая модель держит базовый уровень по регулярному спросу, ансамбль моделей уточняет сезонность и акции, а нейросетевая модель подключается там, где нужно учесть внешние факторы.
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Статистическая модель | Стабильный спрос, длинная история, горизонт от недели до месяца | Не видит акций и внешних событий, рассыпается на редких позициях |
| Ансамбль моделей | Много групп с разной сезонностью, нужен устойчивый прогноз | Требует регулярного переобучения и разметки акций |
| Нейросетевая модель | Короткая история, много связанных факторов, короткий горизонт | Нужны объёмы данных, решение сложнее объяснить |
Как выбрать формат под горизонт и категорию
Чем длиннее горизонт, тем важнее устойчивость: на месяцы вперёд статистика и ансамбли дают более ровную картину, нейросеть — на дни и недели. Дальше формат закрепляют по категориям: для ходовых товаров один, для медленных другой, иначе средняя точность по складу скрывает провалы в отдельных группах.
Что делать с редкими и новыми позициями
Редкие позиции прогнозируют не по собственной истории, а через группу аналогов: объединяют похожие товары и переносят на них общий профиль спроса. Новинки до накопления данных идут по плану запуска и экспертной оценке, а модель подключается, когда набирается достаточно наблюдений.
Этапы внедрения системы планирования поставок
Работы идут последовательно: каждый этап закрывается проверкой, и переход к следующему возможен только после того, как предыдущий подтверждён на реальных данных заказчика. Так ошибки в данных и постановке вскрываются раньше, чем в них начнут вкладываться силы в разработку и настройку.
Аудит данных и постановка задачи
- Аудит данных — сверяем историю продаж, остатков и поставок по глубине, полноте и расхождениям между учётными системами; на выходе перечень пробелов и периоды, пригодные для обучения.
- Подготовка данных — приводим ряды к единой гранулярности (склад, товарная группа, день или неделя), закрываем пропуски и выбросы, размечаем акции и перебои поставок отдельными признаками.
- Постановка задачи и метрик — фиксируем горизонт прогноза и целевую ошибку на уровне склада и товарной группы, договариваемся о приемлемом качестве.
- Сборка и настройка модели — сравнение подходов на отложенной выборке, отбор признаков, отдельная настройка на сезонность и локальные всплески спроса.
Проверка на исторических периодах и передача
- Валидация модели — прогон на исторических отрезках в режиме, приближенном к реальному: модель видит только те данные, что были доступны на тот момент, и не подглядывает вперёд.
- Регламент обновления — фиксируем частоту переобучения, ответственного за подачу свежих данных и порядок действий при ухудшении качества.
- Передача в эксплуатацию — развёртывание, мониторинг отклонений прогноза от факта, обучение команды заказчика и передача документации.
Что передаём команде заказчика: конфигурации и регламенты
Проект по прогнозированию спроса живёт долго, только если его можно развивать без авторов. Поэтому передаём не «работающую модель», а комплект артефактов, по которым ваш инженер переобучит модель, подключит новый источник данных и разберёт инцидент без переписки с нами.
Комплект документации и схемы данных
- Схема данных — источники продаж, остатков, промо и внешних факторов: гранулярность, ключи, лаги, правила обработки пропусков и всплесков.
- Описание признаков — что подаётся на вход модели, как считаются лаги и скользящие окна, какие признаки отключены и почему.
- Конфигурации переобучения — горизонт прогноза, частота пересборки, разбиение на обучающую и проверочную выборки, пороги качества, при которых модель уходит на дообучение.
- Политика доступа — роли на чтение сырых данных, выгрузку прогнозов и изменение настроек; где хранятся ключи и кто их выдаёт.
- Регламент мониторинга — метрики дежурного: отклонение факта от прогноза, доля пропусков, дрейф входных распределений; периодичность проверки и порог тревоги.
Обучение команды и передача знаний
- Разбор инцидентов — типовые сбои: сдвиг спроса, неполный день в данных, смена структуры промо; что проверяется первым.
- Практикумы на ваших данных — аналитики сами прогоняют переобучение и выкатывают новую версию прогноза под присмотром наших инженеров.
- Журнал решений — почему выбраны текущие горизонты и пороги и какие альтернативы отклонены, чтобы через полгода никто не гадал.
Кейс: как выросла точность после переработки модели
Задача пришла от розничной сети: прогноз на четыре недели по нескольким тысячам позиций нужен был не «в целом», а по каждой точке, чтобы планировать закупку и полку. Исходно прогноз считался скользящим средним по прошлым продажам — модель не видела промо, праздников и смены ассортимента.
Что было до: расхождения и ручные правки
По ключевым группам расхождение с фактом на горизонте четырёх недель доходило до 32%. Категорийные менеджеры каждую неделю вручную правили около 40% строк прогноза — цифры «доводили руками» до состояния, в которое верили. Срочные дозаказы шли почти каждый день, а часть позиций оседала на полке.
Причина — в признаках: в модель не попадали промо-календарь и локальные праздники, а всплески спроса усреднялись с обычными днями. Сезонные позиции страдали отдельно: средняя по прошлому периоду не описывала текущий спрос.
Что стало после: показатели и режим сопровождения
Прогноз пересобрали: вместо одной модели — набор по классам спроса (стабильные, сезонные, промо-зависимые, новинки), базовый слой на Prophet с признаками календаря, промо и цен. Качество проверяли ретроспективно: обучение на прошлом отрезке, сверка с фактом на следующем, без заглядывания вперёд.
Расхождение на том же горизонте снизилось с 32% до 9–12% по группам, доля ручных правок — примерно втрое, срочные дозаказы — вдвое. Прогноз обновляется ежедневно, ошибка по каждой группе сравнивается с историческим разбросом: выход за границы даёт уведомление и переобучение на свежем окне. Раз в месяц — отчёт по точности с разбором просевших групп, поэтому деградация видна на первой неделе, а не в конце квартала.
Чем отличается прогнозирование спроса от планирования поставок?
Прогнозирование спроса отвечает на вопрос «сколько продадим», планирование поставок — «что и когда закупить, чтобы этого хватило». Первое — статистическая задача: по истории продаж, сезонности, акциям и внешним факторам строится распределение спроса по дням и точкам продаж. Второе — задача оптимизации под ограничения: сроки и кратность поставки, минимальная партия, сроки годности, ёмкость склада.
| Критерий | Прогнозирование спроса | Планирование поставок |
|---|---|---|
| Горизонт прогноза | от дня до квартала, обновление скользящее | от недели до сезона, привязан к сроку поставки |
| Входные данные | история продаж, акции, цена, остатки, внешние факторы | прогноз, сроки поставки, размер партии, складские лимиты |
| Зона ответственности | качество предсказания потребности | уровень сервиса и объём запасов |
| Результат | распределение спроса, а не одна цифра | точка заказа, размер партии, страховой запас |
| Метрика качества | ошибка прогноза по интервалам | уровень сервиса, оборачиваемость, доля дефицита |
Граница проходит ровно по точке заказа. Модель даёт распределение спроса и его разброс, а правило пополнения решает, при каком остатке запускать закупку и какой страховой запас держать, чтобы удержать целевой уровень сервиса. Смешивать эти зоны нельзя: даже точный прогноз не вытянет уровень сервиса, если точка заказа посчитана на глаз, а рост запасов спишут на «плохую модель».
Поэтому в проекте мы разводим ответственность явно: у прогноза — данные, признаки и контроль качества предсказания, у планирования — правила, ограничения и согласованный с бизнесом уровень сервиса по группам товаров. Опишите, как у вас сейчас принимается решение о закупке, — вернёмся с оценкой и планом по каждой зоне.
Технические сомнения: данные, сезонность, сбои
Ни один вопрос ниже — не про алгоритм, а про данные и процессы вокруг модели. Пять сомнений, которые заказчик задаёт до старта, и то, как мы их закрываем.
Грязные и неполные данные?
До обучения считаем полноту и рассинхрон по каждому источнику: пропуски, дубли, лаг между отгрузкой и продажей. Учим на пересечении чистых интервалов, а пропуск помечаем признаком «данных не было», а не средним по периоду.
Аномалия или реальный всплеск?
Аномалии не удаляем, а размечаем по устойчивым статистикам — медиане и отклонению от неё. Модель получает метку и сама решает, насколько ей верить: вырезанный выброс уносит чувствительность к настоящим пикам.
Промоакции и скидки?
Промо — управляемое событие, а не выброс: календарь акций, глубина скидки и медийные всплески идут отдельными признаками. Промо-дни не смешиваются с обычными в обучении, иначе эффект акции размазывается по соседним неделям.
Переобучение?
Проверяем на отложенном будущем периоде, а не на перемешанной выборке: скользящая кросс-проверка по времени и сравнение с наивным прогнозом «как на прошлой неделе». Не бьёт базовую линию — в работу не уходит.
Контроль качества после запуска?
Ежедневно считаем средневзвешенную ошибку (WAPE) и смещение по товару и точке, при выходе за порог приходит оповещение. Дрейф входных данных запускает переобучение по расписанию — подход из Прогнозирование: принципы и практика.
Обсудим задачу: соберём оценку и план внедрения
Для старта нужен не доступ ко всей аналитике, а конкретный минимум: история продаж по товарам и точкам за достаточный период, календарь акций и поставок, ограничения по складам. Чем раньше эти данные окажутся на столе, тем точнее постановка задачи и меньше итераций на пересборку.
- Постановка задачи: горизонт и шаг прогноза, разрезы (товар, точка, канал), допустимая ошибка и тот, кто принимает результат.
- Выгрузка данных: согласуем состав полей, период, способ передачи и периодичность — разовая выгрузка или регулярный обмен по расписанию.
- Схема данных: показываем, как продажи, промо, остатки и внешние факторы связываются между собой, где заполняем пропуски и как отсекаем выбросы.
- Состав работ: этапы с результатом каждого — подготовка данных, обучение и настройка модели, проверка на отложенном периоде, внедрение в ваш контур.
- Этапность и план внедрения: очередность запуска по группам товаров или точкам, чтобы первая отдача появилась раньше полного охвата.
- Оценка сроков: диапазон с привязкой к готовности данных и скорости согласований, а не средняя по рынку цифра.
- Точки контроля: демонстрации на реальных данных, метрики качества до и после, порядок дообучения и отката к предыдущей версии модели.
В ответ присылаем документ с составом работ, схемой данных и планом по этапам. Опишите задачу — вернёмся с оценкой сроков и уточняющими вопросами по данным.







