Прогнозирование спроса с ИИ: как прогнозировать продажи и закупки точнее, чем в Excel, и сколько это экономит
Прогноз спроса в Excel обычно строится как «прошлый год плюс процент» и правится на глаз закупщиком. Ошибка такого прогноза оседает в трех местах: списания, пустые полки и деньги, замороженные в запасах. Разбираем, какие методы прогнозирования спроса работают в рознице, общепите, дистрибуции и на производстве, как считать точность в рублях и что дал прогноз продаж блюд в нашем проекте для сети ресторанов.
- В соревновании M5 на 42 840 рядах продаж Walmart лучший результат дал градиентный бустинг LightGBM: ошибка на 22,4% ниже, чем у лучшего статистического метода.
- Внешние факторы окупаются даже в простых моделях: в M5 учет праздников и дней льготных покупок снизил ошибку ARIMA на 13%.
- Точность прогноза надо мерить взвешенной ошибкой (WAPE) и смещением, а затем переводить в рубли: списания, дефицит и стоимость денег в запасах.
- Прогноз сам по себе не экономит: деньги появляются, когда из него автоматически считается заказ поставщику или план выпуска.
- В нашем проекте для сети ресторанов прогноз продаж каждого блюда дал точность 90%+ и снизил пищевые отходы на 20%.
Где прогноз в Excel теряет деньги
Типичный прогноз спроса в компании без своей команды данных выглядит так: продажи за тот же период прошлого года, поправка на рост, ручные правки закупщика под акции и «чувство рынка». Пока ассортимент небольшой, это работает. Когда позиций сотни, а точек десятки, у закупщика нет физической возможности продумать каждую строку, и ошибка уходит в деньги.
Она оседает в трех местах:
- Списания. Прогноз завышен, товар не продан до конца срока годности. Особенно больно в общепите и продуктовой рознице. По данным Food Waste Index Report 2024 ООН, в странах с высоким доходом общепит в среднем выбрасывает 21 кг еды на человека в год, розница 13 кг.
- Дефицит. Прогноз занижен, полка пустая или блюдо в стоп-листе. Компания теряет не только эту продажу: гость уходит к соседу, сеть платит штрафы за недопоставку.
- Замороженные деньги. Чтобы не было дефицита, закупщик держит запас «на всякий случай». Каждый лишний рубль на складе это рубль, взятый в кредит или не вложенный в развитие.
Хороший прогноз уменьшает все три статьи сразу, потому что снижает неопределенность, под которую приходится держать запас. Общая логика предиктивных моделей, от прогноза спроса до предсказания поломок, разобрана в статье про предиктивную аналитику. Здесь только про спрос и закупки: какой метод выбрать, какие данные добавить и как посчитать эффект.
Методы прогнозирования спроса: от простых к сложным
Методы изучения и прогнозирования спроса делятся на экспертные (опрос продавцов, мнение закупщика) и количественные, которые считают будущее по истории продаж. Ниже про количественные, потому что именно их можно автоматизировать. Лучший открытый ориентир по их точности это соревнование M5: команды прогнозировали дневные продажи 3 049 товаров Walmart в 10 магазинах на 28 дней вперед, всего 42 840 рядов. Организаторы прогнали и два десятка стандартных методов, поэтому их можно сравнить на одних данных (Makridakis и соавторы, 2022).
Скользящее среднее и наивные методы
Прогноз равен среднему за последние несколько дней или продажам в тот же день прошлой недели. Так считают в Excel, и это хорошая база для сравнения. Но в M5 скользящее среднее ошиблось почти в полтора раза сильнее, чем лучшие статистические методы: оно не видит ни сезонности, ни праздников. Метод «как неделю назад» оказался точнее скользящего среднего уже потому, что учитывает день недели.
Сезонность: экспоненциальное сглаживание и ARIMA
Экспоненциальное сглаживание с сезонностью и модели ARIMA учитывают тренд, день недели, месяц. В M5 сглаживание с сезонностью было на 31% точнее простого сглаживания без нее и стало лучшим из стандартных методов. Это рабочий выбор, когда позиций немного, продажи регулярные, а промо редкие. Минус: каждая модель учится на одном товаре и не переносит знания с соседних позиций.
Градиентный бустинг
LightGBM, CatBoost, XGBoost строят одну модель сразу на всех товарах и точках. Модель видит, как похожие товары реагируют на скидку, жару или выходной, и переносит это на позиции с короткой историей. Факторы добавляются как колонки в таблицу. Победитель M5 усреднил несколько моделей LightGBM и получил ошибку на 22,4% ниже лучшего статистического метода. Все 50 лучших команд обошли его больше чем на 14%, и большинство использовали тот же бустинг. Для прогноза спроса в рознице, HoReCa и дистрибуции это сейчас основной инструмент.
Нейросети
Нейросети нужны, когда данных много и они сложные: тысячи рядов, тексты отзывов, связи между товарами. Третье место в M5 заняла комбинация глубоких нейросетей LSTM, почти вровень с бустингом. Но важная деталь: простая нейросеть без внешних факторов в том же соревновании оказалась хуже скользящего среднего. Сама по себе нейросеть точности не гарантирует, выигрывают данные и факторы.
Какой метод выбрать
| Ситуация | Метод | Почему |
|---|---|---|
| До 50 позиций, продажи регулярные, промо редко | Сглаживание с сезонностью, ARIMA | Быстро, прозрачно, мало данных |
| Сотни позиций, много точек, акции и сезон | Градиентный бустинг | Учит сразу все ряды, принимает любые факторы |
| Тысячи позиций, отзывы, сложные связи между товарами | Бустинг плюс нейросети | Выигрыш от нейросети заметен только на больших данных |
| Новые товары без истории | Бустинг по похожим позициям | Переносит поведение аналогов |
| Редкие продажи, много нулевых дней | Специальные методы для прерывистого спроса | Обычные модели завышают прогноз |
На практике методы комбинируют: в M5 комбинации моделей были точнее или не хуже методов, из которых состояли, а победитель усреднял шесть моделей на каждый ряд.
Отдельный вопрос, на каком уровне прогнозировать. Можно прогнозировать каждый товар в каждой точке и складывать вверх, а можно прогнозировать категорию и раскладывать вниз по долям. Для закупки нужен нижний уровень: товар, точка, день. Но сверять его стоит с прогнозом по категории и сети: если сумма прогнозов по товарам сильно расходится с прогнозом категории, где-то ошибка в данных.
Какие факторы добавлять в модель
Методики прогнозирования товарного спроса отличаются не столько алгоритмом, сколько тем, что модель знает о будущем. Хорошая новость: большинство нужных факторов уже есть в компании.
- Календарь. День недели, праздники, длинные выходные, начало месяца, зарплатные дни. В M5 добавление в ARIMA всего двух факторов, праздников и дней льготных покупок по продуктовой программе, снизило ошибку на 13%.
- Цены и промо. Собственная цена, скидка, участие в акции, место на полке, цены конкурентов, если их собирают. Без календаря промо модель путает всплеск от акции с ростом спроса.
- Погода. Для напитков, мороженого, летних блюд, стройматериалов и шин погода дает больше, чем любая сезонность. Прогноз погоды на неделю доступен по API.
- Остатки и дефицит. Если товара не было на полке, нулевые продажи не означают нулевой спрос. Эти дни нужно пометить, иначе модель выучит дефицит как норму.
- Отзывы и рейтинг. Для общепита и маркетплейсов: оценки и тексты отзывов влияют на поток гостей и покупателей.
- Локальные события. Концерты, матчи, ярмарки рядом с точкой, ремонт дороги.
Чего не стоит делать: добавлять в модель все, что есть в базе. Лишние факторы делают модель неустойчивой, она находит случайные совпадения. Каждый новый фактор проверяют так же, как модель целиком: стала ли ошибка на отложенных месяцах ниже.
Правило отбора простое: фактор полезен, если о нем известно заранее, на горизонт прогноза. Курс валюты через месяц неизвестен, а дата акции и праздника известны.
Как мерить точность и переводить ее в рубли
Фраза «точность 85%» без уточнения ничего не значит. Нужно договориться о трех вещах до старта.
Метрика ошибки. MAPE считает среднюю процентную ошибку по позициям. Она понятна, но не определена на днях с нулевыми продажами и дает выбросы на продажах, близких к нулю, это ограничение описано в учебнике Хайндмана. Вдобавок MAPE усредняет проценты, и ошибка на позиции, которая продается раз в неделю, весит столько же, сколько ошибка на ходовом товаре. Для закупок честнее WAPE: сумма отклонений по модулю, деленная на сумму продаж. Ошибка на ходовой позиции весит больше, как и в деньгах.
Смещение. Показывает, систематически ли модель завышает или занижает прогноз. При одинаковом WAPE модель со смещением вверх дает списания, а модель со смещением вниз дает пустые полки. Для скоропорта и товаров с дорогим дефицитом смещение настраивают по-разному.
База для сравнения. Сравниваем не с нулем, а с текущим способом: прошлый год плюс процент или прогноз закупщика. Проверка «задним числом» на последних 3-6 месяцах показывает разницу в ошибке еще до внедрения.
Дальше ошибку переводим в деньги:
| Последствие ошибки | Как считать в рублях | Где взять данные |
|---|---|---|
| Списания | Себестоимость списанного товара за год | Акты списания в 1С |
| Дефицит | Недополученная маржа: дни без товара × средние продажи × маржа | Остатки и продажи по дням |
| Замороженные деньги | Средний запас × ставка стоимости денег | Остатки, ставка по кредиту |
| Срочные закупки | Наценка поставщика за срочность, доп. логистика | Счета, путевые листы |
| Ручной труд | Часы закупщиков на сбор заказов × стоимость часа | Опрос отдела |
Если эта таблица дает несколько процентов оборота, проект почти наверняка окупится. Если списания 0,5%, а дефицита нет, лучше искать другую задачу.
От прогноза к закупке и производственному плану
Прогноз спроса это половина работы. Деньги появляются, когда из прогноза автоматически считается решение.
Закупки. Заказ поставщику = прогноз на срок поставки плюс страховой запас минус текущий остаток, с поправкой на кратность упаковки и минимальную партию. Страховой запас зависит от точности прогноза: чем меньше ошибка, тем меньше запас нужен для того же уровня сервиса. Именно здесь точность превращается в высвобожденные деньги.
Дистрибуция и логистика. Прогнозирование спроса в логистике идет по складам и направлениям: сколько держать на каждом складе, что перемещать заранее, сколько машин и смен потребуется на неделе. Для дистрибьютора с несколькими складами ошибка стоит дважды: товар лежит и при этом не там, где его ждут.
Производство. Прогноз продаж становится входом для плана выпуска и закупки сырья. Для пищевых производств и производств с дорогими переналадками это особенно важно: прогноз определяет, какие партии ставить и в каком порядке. Как из прогноза собирается план выпуска, разобрано в статье про планирование производства с ИИ.
Общепит. Прогноз продаж блюд превращается в заготовки по сменам, закупку продуктов и график персонала.
Важное правило: у закупщика остается право поправить прогноз, но каждая правка фиксируется вместе с причиной. Через пару месяцев видно, чьи правки улучшают точность, а чьи нет, и это лучший аргумент в спорах «модель против опыта».
Кейс: прогноз продаж блюд для сети ресторанов
Задача сети: кухня закупала продукты и готовила заготовки по опыту шеф-поваров. В спокойные дни часть заготовок уходила в отходы, в загруженные блюда попадали в стоп-лист.
Что сделали. Мы построили систему прогноза продаж каждого блюда. Модель учится на истории продаж за 3 года и учитывает внешние факторы:
- погоду: в жару и в холод гости заказывают разное;
- праздники и выходные: они меняют и поток гостей, и состав заказов;
- отзывы: оценки и тексты отзывов влияют на поток гостей в конкретный ресторан.
Прогноз считается по блюдам, а из него кухня получает закупку продуктов и объем заготовок. Повара готовят под прогноз, а не «на глаз».
Результат. Точность прогноза 90%+, пищевых отходов на 20% меньше. Проект от старта до работы занял 6,5 месяца.
Почему такие проекты идут месяцами. В подобных проектах основное время обычно уходит не на алгоритм, а на данные и процесс: продажи нужно свести по блюдам за три года, учесть изменения меню и дни, когда блюдо было недоступно, подключить погоду и отзывы, а главное встроить прогноз в ежедневную работу кухни. Модель, которой не пользуются, отходов не снижает.
Что переносится на другие отрасли: в продуктовой рознице вместо блюд товары с коротким сроком годности, в дистрибуции позиции на складах, на пищевом производстве партии продукции. Логика та же: прогноз по каждой позиции, внешние факторы, решение из прогноза автоматически.
Сколько это экономит: пример расчета
Пример ниже иллюстративный, цифры условные. Он показывает, как мы считаем эффект до старта, а не обещает результат.
Сеть из 15 ресторанов закупает продукты на 240 млн ₽ в год. Списания и отходы 6% закупки, то есть 14,4 млн ₽. Средний запас продуктов и напитков на складах и кухнях 25 млн ₽.
| Статья | Было | После прогноза (допущение) | Эффект в год |
|---|---|---|---|
| Списания и отходы | 14,4 млн ₽ | на 20% меньше, как в нашем кейсе | 2,9 млн ₽ |
| Запас | 25 млн ₽ | на 10% меньше | 2,5 млн ₽ высвобождено, при 20% годовых это 0,5 млн ₽ в год |
| Стоп-листы | 3 млн ₽ недополученной маржи | на четверть меньше | 0,75 млн ₽ |
| Итого | около 4,1 млн ₽ в год плюс 2,5 млн ₽ разово из запаса |
На фоне такого эффекта пилот от 300 000 ₽ окупается с запасом. Если бы списания были 1% закупки, а стоп-листов почти не было, расчет показал бы, что прогноз здесь не главный рычаг. Для этого расчет и делают до старта.
С чего начать
Начинать стоит не со всего ассортимента, а с позиций, где ошибка дорогая, а спрос достаточно регулярный, чтобы модель его выучила.
- Собрать данные за 2-3 года: продажи по дням по товарам и точкам, остатки, цены, календарь акций, акты списания. Обычно все это уже есть в 1С, кассе и WMS.
- Посчитать потери в рублях по таблице выше и выбрать группу товаров или один склад для пилота.
- Проверить модель задним числом на последних месяцах и сравнить с текущим способом прогноза по WAPE и смещению.
- Встроить прогноз в процесс: расчет заказа поставщику, план заготовок или план выпуска, с правом ручной правки и журналом правок.
- Запустить пилот на одном участке и сравнить «было» и «стало» в рублях. Срок фиксируем после разбора: он зависит от состояния данных и числа систем.
- Масштабировать на остальной ассортимент и точки, когда эффект подтвердился.
Данные о продажах и закупках коммерчески чувствительны, поэтому работаем под NDA. Персональные данные, например из программ лояльности, обезличиваем до передачи в модель. Модели прогноза спроса можно развернуть в контуре заказчика, чтобы данные не покидали компанию. Общий порядок, сроки и бюджеты ИИ-проектов описаны в статье про внедрение ИИ в бизнес.
Частые вопросы
Какие методы прогнозирования спроса самые точные?
Для розницы и общепита с сотнями позиций сейчас стандарт это градиентный бустинг (LightGBM, CatBoost, XGBoost) с внешними факторами: ценой, промо, праздниками, погодой. В соревновании M5 он обошел лучший статистический метод на 22,4%. Но для 20-30 стабильных позиций хорошо работает и экспоненциальное сглаживание с сезонностью, а простая нейросеть без факторов в M5 оказалась хуже скользящего среднего.
Чем ИИ-прогноз лучше прогноза в Excel?
Excel хорошо считает среднее и тренд по одному товару. Модель учится сразу на всех товарах и точках, учитывает десятки факторов одновременно и пересчитывает прогноз каждый день без ручной работы. Главное отличие в том, что прогноз можно встроить в процесс: он сразу превращается в заказ поставщику или план производства.
Как оценить точность прогноза спроса?
Взвешенной ошибкой WAPE: сумма отклонений прогноза от факта, деленная на сумму продаж. Она не ломается на товарах с нулевыми продажами, в отличие от MAPE. Отдельно считают смещение: если модель систематически завышает, растут списания, если занижает, растет дефицит. Сравнивать нужно с текущим способом прогноза на тех же данных.
Сколько данных нужно для прогнозирования спроса с ИИ?
Продажи по дням по каждому товару и точке, остатки, цены и календарь акций. Истории желательно от двух лет, чтобы модель увидела сезонность хотя бы дважды. В нашем проекте для сети ресторанов модель училась на продажах за 3 года, плюс погода, отзывы и праздники.
Сколько стоит внедрение прогнозирования спроса?
Пилот в PingAI от 300 000 ₽. Точная цена фиксируется после бесплатного разбора процесса и зависит от числа систем, из которых нужно собрать данные (1С, касса, CRM, WMS), и от числа участков. До старта считаем эффект в рублях, чтобы было понятно, окупится ли пилот.
Что такое прогнозирование спроса в логистике?
Это прогноз отгрузок по складам, направлениям и клиентам, из которого планируют запасы на каждом складе, перемещения между ними, загрузку транспорта и смены на складе. Ошибка здесь стоит дважды: лишний товар не только лежит, но и едет не туда.
Разберем ваш процесс на встрече и посчитаем эффект в рублях до старта пилота.
