3

WebTech

Личный кабинет

Проекты, коммерческие предложения, документы и отчёты — в одном месте.

Войти Зарегистрироваться Забыли пароль?
Прогнозное моделирование

Планируем по модели, а не по прошлому году

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

Или сразу: +7 (962) 368-39-51 Telegram

WAPE
устойчивая метрика точности прогноза
backtest
проверка на прошедших периодах
quantile
интервалы вместо одной цифры
retrain
регламент переобучения модели
Задачи

Почему прогнозы не сбываются

Причины, по которым первые попытки прогнозирования в Excel или BI заканчиваются недоверием к цифрам.

Прогноз без учёта сезонности

Среднее по прошлому году игнорирует пики и спады: в высокий сезон не хватает товара, в низкий — запасы лежат на складе и замораживают оборотный капитал.

Промо и акции не попадают в модель

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

История перезаписывается

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

Точность проверяют нечестно

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

Прогноз не доходит до пользователя

Модель считает цифры в блокноте аналитика, а закупщик по-прежнему работает в ERP и о прогнозе не знает. Без интеграции эффекта нет.

Нет ответа на вопрос «насколько верить»

Одна цифра прогноза не сообщает о неопределённости. Планировщик не понимает, где риск дефицита, и закладывает запасы «на глазок».

Решения

Что мы делаем

От подготовки данных до внедрения прогноза в интерфейс планировщика и закупщика.

Подготовка временных рядов

Собираем историю в единую витрину с правильной гранулярностью и понятной семантикой: день, неделя, точка продаж, SKU, канал.

  • Согласование ключей между учётной системой, складом и веб-аналитикой
  • Обработка пропусков и выбросов без потери значимых пиков
  • Разметка промо-периодов, праздников, дней распродаж
  • Восстановление сопоставимой истории при изменении цен

Модели прогноза

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

  • CatBoost или LightGBM с признаками лага и скользящими окнами
  • SARIMA и Prophet для выраженной сезонности и тренда
  • Гибрид: базовый ряд моделью, поправки — бустингом
  • Прогноз на нескольких уровнях: сеть, регион, точка, товар

Оценка точности и неопределённости

Проверяем модель так, как она будет работать: обучаем на прошлом, проверяем на будущем, считаем метрики по сегментам.

  • Скользящая проверка по времени с расширяющимся окном
  • WAPE и MAPE отдельно по сегментам, а не средние по всей сети
  • Сравнение с наивными базовыми прогнозами как точкой отсчёта
  • Квантильные прогнозы для оценки риска дефицита

Внедрение и сопровождение

Прогноз попадает туда, где принимается решение: в ERP, систему закупок, дашборд или по расписанию в почту.

  • Пайплайн пересчёта прогноза по расписанию в Airflow
  • Версионирование моделей и датасетов в MLflow
  • Дашборд фактической точности по неделям
  • Алерт при падении качества ниже согласованного порога
Процесс

Этапы работы

Первый этап отвечает на вопрос, возможно ли вообще построить точный прогноз на имеющихся данных.

  1. 01 1–2 недели

    Аудит данных

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

  2. 02 3–4 недели

    Бейзлайн и модель

    Сначала строим наивный бейзлайн, затем модель. Если модель не превосходит бейзлайн, честно сообщаем об этом до внедрения.

  3. 03 2 недели

    Проверка и калибровка

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

  4. 04 3–4 недели

    Внедрение в процесс

    Подключаем прогноз к системе планирования, обучаем пользователей, настраиваем мониторинг точности и переобучение.

Что означает точность прогноза на практике

Формулировка «точность 92%» сама по себе бесполезна: непонятно, от чего считали и на каком горизонте. Корректная постановка выглядит так: «прогноз на две недели вперёд по товарной категории даёт WAPE 11%, что соответствует средней абсолютной ошибке 340 единиц при обороте 3 100 единиц в неделю».

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

Почему случайное разбиение выборки обманывает

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

Правильная схема — обучение на прошлом и проверка на строго последующем периоде, с несколькими такими срезами (walk-forward validation). Если данных достаточно, мы дополнительно проверяем модель на периоде, содержащем нетипичное событие: скачок спроса, уход крупного клиента, изменение ассортимента.

Когда прогноз не нужен

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

Мы говорим об этом прямо на этапе аудита. Оправданные случаи для модели: выраженная сезонность, большое количество параллельных рядов (тысячи SKU или точек), влияние множества факторов, которые человек не удержит в голове, либо высокая цена ошибки, где важна оценка неопределённости.

Частые вопросы

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

Точность закономерно падает с горизонтом. Для недельного горизонта достижим WAPE порядка 8–12%, для месячного — 15–20%, для квартального прогноза метрика становится слишком грубой для операционных решений, но остаётся пригодной для бюджетирования. Мы всегда указываем горизонт вместе с метрикой, чтобы цифра не использовалась не по назначению.

Выбросы не удаляются автоматически: часть из них — реальные события, которые нужно уметь предсказывать. Мы разделяем их на объяснимые (промо, праздники, крупная сделка) и необъяснимые. Объяснимые становятся признаками модели, необъяснимые исключаются из обучения, но остаются в истории для контроля. Такой подход не даёт модели «размазать» реальный пик по соседним периодам.

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

AI-аналитика: другие направления

Смежные задачи, которые обычно решаются в одном проекте с этой.

Хотите знать, какой прогноз достижим на ваших данных?

Пришлите выгрузку истории продаж или заказов за один-два года — оценим сезонность, качество данных и реалистичную точность прогноза.