Разработка AI-системы для прогнозирования спроса

Спрос колеблется, а запасы либо замирают на складе, либо заканчиваются в пик. Мы разрабатываем системы прогнозирования спроса под ключ: от подготовки данных до регламентов для вашей команды. Точность растёт, неликвидных остатков становится в разы меньше.
Часто задаваемые вопросы

Почему прогнозирование спроса ломается на реальных данных

Прогноз спроса редко ломается на модели — он ломается на входных данных. Заказы, остатки, отгрузки и планы промоакций живут в разных системах, выгружаются вручную таблицами планирования и сводятся в одну книгу, где каждая цифра правится руками. Планировщик подстраивает значение под последний разговор с отделом продаж, а не под историю, поэтому фактическая ошибка прогноза не измеряется вообще: непонятно, насколько цифра в таблице расходится с тем, что было.

Сезонность поставок в такой схеме учитывается «на глаз»: агрегат по среднему за период сглаживает пики и провалы, а лаг между заказом и приходом на склад в расчёте просто отсутствует. Промоакция, которая поднимет спрос вдвое, и следующий за ней провал живут в отдельном файле маркетинга и до модели не доходят — в результате система закупает по усреднённому профилю, который не совпадает ни с одним реальным месяцем.

Отдельная причина — разрыв между отделами. Продажи, закупки и склад считают свои версии плана с разными горизонтами и правилами округления, и каждая версия уходит в работу как единственно верная. Ошибка на этом стыке не гасится, а накапливается: неточность по одной группе товаров тянет за собой заказ по смежным позициям, а расхождение обнаруживается уже по факту прихода.

Дальше по цепочке поставок накопленная ошибка превращается в два дорогих состояния склада. В пик сезона — дефицит на складе: упущенные продажи и ручные ускоренные закупки. В спад — затоваривание: замороженный оборот, сроки годности и распродажи. Ниже разбираем, как это закрывается на уровне данных, модели и регламента планирования.

Эффект от внедрения: точность, запасы, упущенные продажи

Внедрение прогнозирования спроса измеряется не «умностью» модели, а четырьмя числами, которые видно в отчёте через один-два квартала: точность прогноза, объём страхового запаса, оборачиваемость склада и доля упущенных продаж. Первый срез снимаем до старта — на исторических данных, иначе эффект не с чем сравнивать.

Сокращение страховых запасов без потери уровня сервиса

Точность прогноза на горизонте 4–12 недель обычно поднимается с 60–70% до 80–90% по взвешенной ошибке — этого достаточно, чтобы страховой запас по ходовым позициям сократился на 20–35% при том же уровне сервиса. Ключ в переходе от единого норматива к прогнозу с интервалом: там, где спрос стабилен, запас режется, а по волатильным позициям остаётся прежним. Оборачиваемость при этом улучшается на 15–25%, списания по срокам годности падают.

Сколько ручных правок уходит из плана

Доля ручных правок — индикатор недоверия к прогнозу, поэтому считаем её до и после: типично план правят в 30–40% строк, после внедрения остаётся 5–10%, и то в основном на акциях и разовых поставках. Каждую правку логируем с причиной, и эти причины уходят в признаки модели — точность растёт без ручной подгонки.

Базовую линию и сезонность берём из открытых реализаций вроде Prophet, поверх — градиентный бустинг на ценах и акциях. Метрики считаем по скользящему окну, чтобы разовый выброс не искажал картину.

Форматы моделей: статистика, ансамбли, нейросети

Ни один формат не выигрывает по всем категориям — выбор задают горизонт планирования, длина истории продаж и доля редких позиций. Ниже три подхода, между которыми реально выбирают на старте.

На практике их почти всегда смешивают: статистическая модель держит базовый уровень по регулярному спросу, ансамбль моделей уточняет сезонность и акции, а нейросетевая модель подключается там, где нужно учесть внешние факторы.

Вариант Когда подходит Ограничения
Статистическая модель Стабильный спрос, длинная история, горизонт от недели до месяца Не видит акций и внешних событий, рассыпается на редких позициях
Ансамбль моделей Много групп с разной сезонностью, нужен устойчивый прогноз Требует регулярного переобучения и разметки акций
Нейросетевая модель Короткая история, много связанных факторов, короткий горизонт Нужны объёмы данных, решение сложнее объяснить

Как выбрать формат под горизонт и категорию

Чем длиннее горизонт, тем важнее устойчивость: на месяцы вперёд статистика и ансамбли дают более ровную картину, нейросеть — на дни и недели. Дальше формат закрепляют по категориям: для ходовых товаров один, для медленных другой, иначе средняя точность по складу скрывает провалы в отдельных группах.

Что делать с редкими и новыми позициями

Редкие позиции прогнозируют не по собственной истории, а через группу аналогов: объединяют похожие товары и переносят на них общий профиль спроса. Новинки до накопления данных идут по плану запуска и экспертной оценке, а модель подключается, когда набирается достаточно наблюдений.

Этапы внедрения системы планирования поставок

Работы идут последовательно: каждый этап закрывается проверкой, и переход к следующему возможен только после того, как предыдущий подтверждён на реальных данных заказчика. Так ошибки в данных и постановке вскрываются раньше, чем в них начнут вкладываться силы в разработку и настройку.

Аудит данных и постановка задачи

  1. Аудит данных — сверяем историю продаж, остатков и поставок по глубине, полноте и расхождениям между учётными системами; на выходе перечень пробелов и периоды, пригодные для обучения.
  2. Подготовка данных — приводим ряды к единой гранулярности (склад, товарная группа, день или неделя), закрываем пропуски и выбросы, размечаем акции и перебои поставок отдельными признаками.
  3. Постановка задачи и метрик — фиксируем горизонт прогноза и целевую ошибку на уровне склада и товарной группы, договариваемся о приемлемом качестве.
  4. Сборка и настройка модели — сравнение подходов на отложенной выборке, отбор признаков, отдельная настройка на сезонность и локальные всплески спроса.

Проверка на исторических периодах и передача

  • Валидация модели — прогон на исторических отрезках в режиме, приближенном к реальному: модель видит только те данные, что были доступны на тот момент, и не подглядывает вперёд.
  • Регламент обновления — фиксируем частоту переобучения, ответственного за подачу свежих данных и порядок действий при ухудшении качества.
  • Передача в эксплуатацию — развёртывание, мониторинг отклонений прогноза от факта, обучение команды заказчика и передача документации.

Что передаём команде заказчика: конфигурации и регламенты

Проект по прогнозированию спроса живёт долго, только если его можно развивать без авторов. Поэтому передаём не «работающую модель», а комплект артефактов, по которым ваш инженер переобучит модель, подключит новый источник данных и разберёт инцидент без переписки с нами.

Комплект документации и схемы данных

  • Схема данных — источники продаж, остатков, промо и внешних факторов: гранулярность, ключи, лаги, правила обработки пропусков и всплесков.
  • Описание признаков — что подаётся на вход модели, как считаются лаги и скользящие окна, какие признаки отключены и почему.
  • Конфигурации переобучения — горизонт прогноза, частота пересборки, разбиение на обучающую и проверочную выборки, пороги качества, при которых модель уходит на дообучение.
  • Политика доступа — роли на чтение сырых данных, выгрузку прогнозов и изменение настроек; где хранятся ключи и кто их выдаёт.
  • Регламент мониторинга — метрики дежурного: отклонение факта от прогноза, доля пропусков, дрейф входных распределений; периодичность проверки и порог тревоги.

Обучение команды и передача знаний

  • Разбор инцидентов — типовые сбои: сдвиг спроса, неполный день в данных, смена структуры промо; что проверяется первым.
  • Практикумы на ваших данных — аналитики сами прогоняют переобучение и выкатывают новую версию прогноза под присмотром наших инженеров.
  • Журнал решений — почему выбраны текущие горизонты и пороги и какие альтернативы отклонены, чтобы через полгода никто не гадал.

Кейс: как выросла точность после переработки модели

Задача пришла от розничной сети: прогноз на четыре недели по нескольким тысячам позиций нужен был не «в целом», а по каждой точке, чтобы планировать закупку и полку. Исходно прогноз считался скользящим средним по прошлым продажам — модель не видела промо, праздников и смены ассортимента.

Что было до: расхождения и ручные правки

По ключевым группам расхождение с фактом на горизонте четырёх недель доходило до 32%. Категорийные менеджеры каждую неделю вручную правили около 40% строк прогноза — цифры «доводили руками» до состояния, в которое верили. Срочные дозаказы шли почти каждый день, а часть позиций оседала на полке.

Причина — в признаках: в модель не попадали промо-календарь и локальные праздники, а всплески спроса усреднялись с обычными днями. Сезонные позиции страдали отдельно: средняя по прошлому периоду не описывала текущий спрос.

Что стало после: показатели и режим сопровождения

Прогноз пересобрали: вместо одной модели — набор по классам спроса (стабильные, сезонные, промо-зависимые, новинки), базовый слой на Prophet с признаками календаря, промо и цен. Качество проверяли ретроспективно: обучение на прошлом отрезке, сверка с фактом на следующем, без заглядывания вперёд.

Расхождение на том же горизонте снизилось с 32% до 9–12% по группам, доля ручных правок — примерно втрое, срочные дозаказы — вдвое. Прогноз обновляется ежедневно, ошибка по каждой группе сравнивается с историческим разбросом: выход за границы даёт уведомление и переобучение на свежем окне. Раз в месяц — отчёт по точности с разбором просевших групп, поэтому деградация видна на первой неделе, а не в конце квартала.

Чем отличается прогнозирование спроса от планирования поставок?

Прогнозирование спроса отвечает на вопрос «сколько продадим», планирование поставок — «что и когда закупить, чтобы этого хватило». Первое — статистическая задача: по истории продаж, сезонности, акциям и внешним факторам строится распределение спроса по дням и точкам продаж. Второе — задача оптимизации под ограничения: сроки и кратность поставки, минимальная партия, сроки годности, ёмкость склада.

Критерий Прогнозирование спроса Планирование поставок
Горизонт прогноза от дня до квартала, обновление скользящее от недели до сезона, привязан к сроку поставки
Входные данные история продаж, акции, цена, остатки, внешние факторы прогноз, сроки поставки, размер партии, складские лимиты
Зона ответственности качество предсказания потребности уровень сервиса и объём запасов
Результат распределение спроса, а не одна цифра точка заказа, размер партии, страховой запас
Метрика качества ошибка прогноза по интервалам уровень сервиса, оборачиваемость, доля дефицита

Граница проходит ровно по точке заказа. Модель даёт распределение спроса и его разброс, а правило пополнения решает, при каком остатке запускать закупку и какой страховой запас держать, чтобы удержать целевой уровень сервиса. Смешивать эти зоны нельзя: даже точный прогноз не вытянет уровень сервиса, если точка заказа посчитана на глаз, а рост запасов спишут на «плохую модель».

Поэтому в проекте мы разводим ответственность явно: у прогноза — данные, признаки и контроль качества предсказания, у планирования — правила, ограничения и согласованный с бизнесом уровень сервиса по группам товаров. Опишите, как у вас сейчас принимается решение о закупке, — вернёмся с оценкой и планом по каждой зоне.

Технические сомнения: данные, сезонность, сбои

Ни один вопрос ниже — не про алгоритм, а про данные и процессы вокруг модели. Пять сомнений, которые заказчик задаёт до старта, и то, как мы их закрываем.

Грязные и неполные данные?

До обучения считаем полноту и рассинхрон по каждому источнику: пропуски, дубли, лаг между отгрузкой и продажей. Учим на пересечении чистых интервалов, а пропуск помечаем признаком «данных не было», а не средним по периоду.

Аномалия или реальный всплеск?

Аномалии не удаляем, а размечаем по устойчивым статистикам — медиане и отклонению от неё. Модель получает метку и сама решает, насколько ей верить: вырезанный выброс уносит чувствительность к настоящим пикам.

Промоакции и скидки?

Промо — управляемое событие, а не выброс: календарь акций, глубина скидки и медийные всплески идут отдельными признаками. Промо-дни не смешиваются с обычными в обучении, иначе эффект акции размазывается по соседним неделям.

Переобучение?

Проверяем на отложенном будущем периоде, а не на перемешанной выборке: скользящая кросс-проверка по времени и сравнение с наивным прогнозом «как на прошлой неделе». Не бьёт базовую линию — в работу не уходит.

Контроль качества после запуска?

Ежедневно считаем средневзвешенную ошибку (WAPE) и смещение по товару и точке, при выходе за порог приходит оповещение. Дрейф входных данных запускает переобучение по расписанию — подход из Прогнозирование: принципы и практика.

Обсудим задачу: соберём оценку и план внедрения

Для старта нужен не доступ ко всей аналитике, а конкретный минимум: история продаж по товарам и точкам за достаточный период, календарь акций и поставок, ограничения по складам. Чем раньше эти данные окажутся на столе, тем точнее постановка задачи и меньше итераций на пересборку.

  • Постановка задачи: горизонт и шаг прогноза, разрезы (товар, точка, канал), допустимая ошибка и тот, кто принимает результат.
  • Выгрузка данных: согласуем состав полей, период, способ передачи и периодичность — разовая выгрузка или регулярный обмен по расписанию.
  • Схема данных: показываем, как продажи, промо, остатки и внешние факторы связываются между собой, где заполняем пропуски и как отсекаем выбросы.
  • Состав работ: этапы с результатом каждого — подготовка данных, обучение и настройка модели, проверка на отложенном периоде, внедрение в ваш контур.
  • Этапность и план внедрения: очередность запуска по группам товаров или точкам, чтобы первая отдача появилась раньше полного охвата.
  • Оценка сроков: диапазон с привязкой к готовности данных и скорости согласований, а не средняя по рынку цифра.
  • Точки контроля: демонстрации на реальных данных, метрики качества до и после, порядок дообучения и отката к предыдущей версии модели.

В ответ присылаем документ с составом работ, схемой данных и планом по этапам. Опишите задачу — вернёмся с оценкой сроков и уточняющими вопросами по данным.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141