Знакомая картина: по одним позициям склад забит, по другим покупатели видят «нет в наличии», и всё это в одном и том же месяце. Закупщик не ошибся в арифметике, он просто повторил прошлый период. В статье разбираем, из чего складывается прогноз спроса, какие метрики показывают его качество и как проверить, готов ли бизнес к модели.
Почему закупка по прошлому месяцу даёт и дефицит, и излишки
Самый распространённый способ планировать закупку: взять продажи прошлого месяца или того же месяца год назад и немного поправить на глаз. Метод понятный и быстрый. Проблема в том, что прошлые продажи показывают не спрос, а то, что удалось продать при тех остатках, ценах и акциях, которые тогда были.
Если товара не было на полке десять дней, продажи за месяц занижены. По ним закажут меньше, и дефицит повторится. Если в прошлом месяце шла акция, продажи завышены, и после её окончания на складе останется лишнее. Так один и тот же метод даёт ошибки в обе стороны.
Цена этих ошибок разная. Дефицит означает упущенную выручку и покупателя, который ушёл к конкуренту или на маркетплейс. Излишки замораживают деньги в запасах, занимают склад, а для товаров со сроком годности или сезонных коллекций заканчиваются уценкой и списанием. В интернет-магазине дефицит ещё и бьёт по рекламе: деньги тратятся на трафик в карточку, где товара нет.
- Дефицит замораживает спрос: нулевые продажи из-за отсутствия товара выглядят как отсутствие интереса
- Акции искажают базу: всплеск продаж переносят на обычный месяц
- Календарь сдвигается: праздники и длинные выходные выпадают на разные недели в разные годы
- Новинки без истории планируют по ощущению, и ошибка здесь самая большая
- Решения принимают по сумме за месяц, хотя спрос внутри месяца распределён неравномерно
Условный пример: магазин продавал 300 единиц товара в месяц, но в марте товар закончился на третьей неделе и продали 220. Закупка «как в марте» закладывает 220 и снова не покрывает спрос.
Что такое прогноз спроса и из каких частей он собирается
Прогноз спроса это оценка того, сколько товара купят в конкретный период в конкретной точке или канале. Важно слово «купят»: прогноз пытается восстановить спрос, а не повторить продажи. Для этого продажи раскладывают на составляющие и смотрят, что из них повторится.
Обычно прогноз строят по каждой позиции (SKU) и каждому складу или магазину на горизонт, который совпадает с циклом закупки: неделя, две недели, месяц.
| Фактор | Что он меняет | Откуда брать данные |
|---|---|---|
| Базовый уровень | Обычный спрос без внешних событий | История продаж по дням с учётом дней без остатка |
| Сезонность | Регулярные подъёмы и спады по неделям и месяцам | Продажи минимум за год, лучше за два |
| Акции и цены | Временный рост спроса и спад после акции | Календарь акций, глубина скидки, цены по дням |
| Праздники и выходные | Сдвиги спроса на конкретные даты | Производственный календарь, собственные даты распродаж |
| Погода | Спрос на сезонные категории: напитки, одежда, сад | Архив погоды по городам, если категория чувствительна |
| Новинки | Спрос без собственной истории | Похожие товары, первые недели продаж |
Метрики, которые стоит считать
Качество прогноза нельзя оценить одной цифрой. Модель может хорошо угадывать сумму по категории и плохо работать по отдельным позициям, а именно по ним делают заказ. Поэтому смотрят на две группы метрик: точность самого прогноза и то, как он меняет запасы.
- Ошибка прогноза: насколько в среднем прогноз отличается от факта. Обычно считают в процентах (MAPE или WAPE) по позициям и периодам
- Смещение прогноза: в какую сторону модель ошибается чаще, вверх или вниз. Постоянное завышение ведёт к излишкам, занижение к дефициту
- Доля out-of-stock: сколько дней или позиций товар отсутствовал, когда должен был быть в наличии
- Оборачиваемость запасов: за сколько дней в среднем продаётся запас на складе
- Списания и уценка: сколько товара пришлось списать или продать дешевле из-за срока годности или конца сезона
Сравнивать стоит не с идеалом, а с текущим способом планирования. Если модель ошибается меньше, чем закупка «по прошлому месяцу», это уже результат, даже если ошибка далека от нуля.
Как считают прогноз: от среднего к модели
Способов много, и они различаются тем, сколько факторов учитывают. Начинать имеет смысл с простого, потому что простой метод становится базой для сравнения.
| Подход | Как работает | Где хорош | Чего не видит |
|---|---|---|---|
| Среднее за период | Продажи за N недель делят на N | Стабильные товары без сезона | Сезонность, акции, дефицит |
| Тот же период прошлого года | Берут продажи год назад с поправкой | Выраженный годовой сезон | Сдвиги праздников, новые акции, рост бизнеса |
| Статистическая модель временного ряда | Раскладывает продажи на уровень, тренд и сезон | Позиции с длинной историей | Влияние акций и цен, если их не добавить отдельно |
| Модель машинного обучения | Учитывает много факторов сразу: акции, цены, календарь, погоду | Большой ассортимент с разными паттернами | Совсем новые события, которых не было в истории |
Как проверяют, что модель лучше
Честная проверка выглядит так. Берут историю, откладывают последние несколько месяцев и не показывают их модели при настройке. Затем строят прогноз на этот отложенный период двумя способами: текущим методом закупщика и моделью. Сравнивают ошибку по позициям, которые реально заказывали.
Если модель не обгоняет простой метод на отложенном периоде, внедрять её рано. Причина обычно в данных: нет учёта дефицита, акции не размечены, история слишком короткая. Это тоже полезный вывод, потому что он показывает, что исправить в учёте.
Сложная модель не обязательна. Для части ассортимента хватает статистического метода, а машинное обучение оправдано там, где на спрос заметно влияют акции и цены.
Ещё одно правило: прогноз должен показывать не только число, но и разброс. Закупщику полезно видеть, что по одной позиции модель уверена, а по другой ошибка может быть большой. От этого зависит страховой запас.
Как прогноз связан с закупкой и остатками
Прогноз сам по себе ничего не меняет. Он полезен, когда превращается в заказ поставщику или в перемещение между складами. Между прогнозом и заказом стоят ещё несколько чисел, и их тоже нужно знать.
- Текущий остаток и товар в пути
- Срок поставки от заказа до появления на полке
- Страховой запас: сколько держать сверху на случай ошибки прогноза и задержки поставки
- Минимальная партия и кратность упаковки у поставщика
- Ограничения склада и сроки годности
Условный пример: прогноз на две недели 140 единиц, на складе 60, в пути 30, страховой запас 25. Заказ: 140 + 25 − 60 − 30 = 75 единиц, с округлением до кратности упаковки. Числа приведены для иллюстрации расчёта.
Самопроверка: готовы ли данные к прогнозу
Перед тем как обсуждать модели, ответьте на пять вопросов. Если на большинство ответ «да», можно переходить к пилоту. Если нет, первым шагом будет порядок в учёте.
Готово 0 из 5
Пилот и что на нём измерить
Пилот лучше ограничить одной категорией или группой складов, где ошибка закупки ощутима: скоропортящийся товар, сезонная категория или позиции, по которым чаще всего жалуются на отсутствие. Метрики фиксируют до старта, чтобы потом не подбирать удобные.
Удобный порядок такой. Сначала собирают и чистят историю, затем проверяют модель на отложенном периоде, и только потом закупщик начинает видеть прогноз рядом со своим заказом. Первые недели он может править прогноз вручную, и каждая правка с причиной это ценный материал: так видно, какие факторы модель ещё не учитывает.
Прогноз спроса начинается не с выбора алгоритма, а с вопроса, видно ли в ваших данных, сколько товара хотели купить, а не только сколько продали.
- Ошибка прогноза модели против текущего метода на отложенном периоде
- Изменение доли out-of-stock по позициям пилота
- Изменение запаса в днях и объёма списаний
- Доля заказов, где закупщик использовал прогноз без ручной правки, и причины правок


