Прогноз продаж сродни прогнозу погоды — его можно построить лишь в определенном приближении. Десятки тьсяч позиций, тысячи площадок, промоакции, логистические и другие факторы влияния — можно учесть максимум мелочей, и все равно остаются случайности, которые не укладываются ни в одну формулу. Однако даже если идеал недостижим, можно построить прогноз, который будет отклоняться от него совсем незначительно.
Меня зовут Юлия Трусова, я руководитель домена Логистика в Lenta Tech. В этой статье я расскажу, как устроено прогнозирование спроса и как современные методики помогают свести эту погрешность к минимуму. Тем, кто захочет углубиться в тему и технические подробности, может быть интересен наш материал «Как машинное обучение помогает «Группе Лента» прогнозировать спрос»
Оглавление:
Почему спрос так трудно предсказать
Спрос — это результат множества процессов, которые накладываются друг на друга и редко повторяются в одном и том же сочетании. Годичная сезонность пересекается с недельной, будни чередуются с праздниками и выходными, а какие-нибудь непредвиденные случайности наподобие ремонта дороги рядом с магазином ломают любую историческую закономерность в отдельной точке продаж. Даже стабильный на первый взгляд товар живет в потоке факторов, часть из которых невозможно знать заранее.

Добавляют сложности и промоакции. Каждая из них резко меняет и уровень продаж, и их форму. Появляется всплеск, а за ним, как правило, следует провал, потому что потребители закупились впрок. Если прогноз учится на такой истории вслепую, он принимает разовый всплеск за норму.
Попутно срабатывают так называемые эффекты каннибализации, когда скидка на один товар съедает продажи соседнего. Бывает и обратный эффект, когда акция подтягивает за собой сопутствующие позиции — например, скидки на пельмени попутно способствуют продажам сметаны и соусов. Разделить эти факторы влияния по чистой истории продаж почти нереально.
Новые товары — отдельная боль: истории нет вовсе, а решение по первой поставке принимать нужно. Приходится опираться на аналоги, экспертные оценки и признаки самого товара. На другом полюсе — огромная доля позиций, которые покупают редко и нерегулярно. Поэтому привычные методы, заточенные под плавные ряды, буксуют и здесь.
Наконец, сам целевой показатель виден не полностью.
Как вы думаете, почему нулевые продажи не всегда означают нулевой спрос?
A. Продажи попадают в отчеты с задержкой в несколько дней
B. Покупатели приходили за товаром, но его не оказалось на полке
C. Часть покупок проходит мимо кассы
D. Небольшие продажи система округляет до нуля
Скрытый текст
Правильный ответ B. Продажи упираются в наличие товара.
Если позиция закончилась, покупатели уходят без нее, и этот спрос нигде не фиксируется.
Под наблюдение попадают продажи, но не спрос. Однако нулевая продажа не означает отсутствие желания купить, ведь товара в какой-то момент могло не оказаться на полке. Это так называемый цензурированный спрос: истинная потребность видна не полностью, потому что продажи упираются в наличие товара, а когда позиция заканчивается, покупатели уходят без покупки и этот спрос нигде не фиксируется.
А размер запаса определяется нашим же прогнозом. Получается замкнутый круг: уже само решение о запасе ограничивает данные, на которых строится следующий прогноз. То есть прогнозирование — это оценка распределения частично ненаблюдаемого процесса.
Именно поэтому идеальная точность невозможна. Успешность результата заключается лишь в том, насколько аккуратно удается очертить диапазон и насколько узким он получается.
Как устроены методы прогнозирования
Главный практический водораздел между методами прогнозирования проходит по тому, что они способны учитывать. Одни работают только с самим рядом продаж — берут прошлую динамику товара и продлевают ее закономерности в будущее. Другие умеют принимать в расчет внешние условия — цену, промо, остатки, погоду, — и именно это чаще всего определяет выбор.

Если продажи товара идут ровно, а факторов немного, хватает простых методов, которым нужна только история самого товара. Они опираются на несколько понятных закономерностей: средний уровень продаж, устойчивый тренд вверх или вниз и повторяющуюся сезонность — недельную, годовую, праздничную.
Такие методы прозрачны, нетребовательны к данным и хорошо работают на стабильных, предсказуемых позициях. Но их слабое место заключается в том, в базовых моделях такие факторы, как цена, промоакции и наличие товара, часто не учитываются напрямую, хотя в рознице они могут существенно влиять на спрос.
Когда на спрос влияет много условий, а позиций тысячи, задачу ставят иначе. Для каждого товара и дня собирают набор характеристик — недавние продажи, день недели и календарь, цену, признак акции, остаток на складе, иногда трафик и погоду — и обучают модель находить связь между этими характеристиками и будущими продажами.
Такой подход, основанный на машинном обучении, ловит сложные зависимости, недоступные простым формулам — например, что скидка дает разный эффект в будни и выходные. Но основная работа здесь приходится не на сам алгоритм, а на подготовку этих характеристик — именно от них зависит, разглядит ли модель промо, сдвиг праздника или реакцию на цену.
Для товаров с редким и нерегулярным спросом применяются отдельные методы, которые учитывают не только объем продаж, но и частоту возникновения спроса. Это подводит к главному сдвигу последних лет — переходу от единственной цифры к оценке диапазона.
Бизнесу важен не только ожидаемый спрос, но и возможный разброс его значений: от этого зависит, какой запас необходимо держать, чтобы сбалансировать риск дефицита и затраты на излишки. Поэтому все чаще прогноз строят как вилку вероятных значений и согласуют прогнозы между уровнями — товар, магазин, регион, сеть, — чтобы они не противоречили друг другу.
От прогноза к полке без дефицита и затоваривания
Прогноз сам по себе ничего не решает — он служит лишь трамплином для оценки, какой запас товара необходим. Между прогнозом и полкой находится отдельный пласт расчетов: сколько товара заложить в страховой запас на случай всплеска спроса, как часто пополнять запасы и какой спрос необходимо покрыть до следующей поставки.
В этой плоскости абстрактная точность прогноза превращается в деньги. И именно здесь полезен прогнозный диапазон: вместо одной цифры он показывает возможные значения спроса, позволяя заранее выбрать, на какой уровень запаса ориентироваться.
При этом важно помнить про асимметрию стоимости ошибок. Цена дефицита почти никогда не равна цене излишка. Для скоропортящихся товаров перезаказ оборачивается списаниями, и выгоднее заказать поменьше. Для высокомаржинальных или якорных позиций, наоборот, пустая полка дороже лишнего запаса, и логично держать подушку безопасности побольше. Единого правила нет: граница прогноза подбирается под экономику конкретной категории.

Отсюда и подход к оценке прогноза. Технические показатели точности нужны, чтобы следить за работой модели, но они не самоцель. Важнее видеть бизнес-показатели — сколько продаж упущено из-за пустой полки, сколько товара списано, как быстро оборачивается запас и сколько денег заморожено в залежавшихся остатках.
Важно также своевременно выявлять систематические ошибки, когда прогноз раз за разом завышает или занижает спрос. Такой систематический сдвиг обычно вреднее случайных колебаний, поскольку он накапливается в запасах из месяца в месяц.
И самое главное, о чем нужно помнить: прогнозирование — это непрерывный цикл. Модели деградируют, поведение покупателей меняется, поэтому прогноз приходится постоянно пересчитывать на свежих данных и аккуратно обходиться с аномалиями, чтобы разовый ажиотаж — например, перед праздником или из-за удачного промо — не исказил будущие прогнозы.
Работает все это только сообща: прогноз, закупки, логистика и график акций должны быть согласованы между собой, иначе даже точная цифра ничего не даст. Да, идеального прогноза не будет никогда, но постоянная подстройка позволяет держать обе нежелательные крайности — и дефицит, и затоваривание — в приемлемых рамках.
А вы как думаете, можно ли разорвать замкнутый круг, при котором прогноз сам ограничивает данные для следующего прогноза, или с ним остается только смириться?

