Этот веб-сайт использует файлы cookie, чтобы обеспечить вам наилучший сервис
Хорошо
Статьи

Прогнозирование спроса с помощью аналитики: реальные методы и ошибки

Представьте сеть из 200 кофеен, которая ежемесячно теряет 12% выручки из-за нехватки свежей выпечки в пиковые часы и одновременно тратит 8% бюджета на утилизацию непроданных изделий. Точное прогнозирование спроса могло бы сохранить компании 2.8 млн рублей в год только на одной категории товаров, не считая увеличения лояльности клиентов и оптимизации закупок. Именно такие бизнес-кейсы делают прогнозирование спроса не академическим упражнением, а инструментом прямой финансовой выгоды.

Что такое прогнозирование спроса?

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

Данные — основа всего: Качество определяет результат

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

Внутренние исторические данные

Данные о продажах: Детализированные по дням, часам, неделям, месяцам.
  • Что именно собирать: Количество проданных единиц, выручка, отмены и возвраты.
  • Важность: Прямой индикатор исторического спроса.
Данные о продукте:
  • Атрибуты товара: Категория, бренд, цвет, размер, цена, себестоимость.
  • Иерархия товаров: Взаимосвязь между товарами, товарной группой и категорией.
  • Жизненный цикл товара: Дата выхода на рынок, этап жизненного цикла (запуск, рост, зрелость, спад).
Данные о запасах:
  • Остатки на складах: Уровень запасов на конец дня.
  • Периоды "нулевых" остатков (stock-out): Когда спрос был, но товара не было. Эти данные нужно "очищать", так как они искажают реальный спрос.
Данные о промо-активностях и ценообразовании:
  • Участие в акциях: Был ли товар в акции (да/нет), тип акции (скидка, "2 по цене 1", распродажа).
  • Размер скидки: Процент или абсолютное значение.
  • Рекламные каналы: Рассылки, баннеры на сайте, контекстная реклама.
  • Конечная цена продажи: Цена, по которой фактически купили товар.
Данные о каналах сбыта:
  • Точка продаж: Физический магазин (и его местоположение), интернет-магазин, маркетплейс.
  • География: Регион, город (для анализа регионального спроса).
Источники: ERP-системы (например, SAP, 1C), CRM-системы, системы учета (складские, финансовые), базы данных интернет-магазинов.

Внешние данные и данные о рыночной среде

Эти данные помогают понять контекст, в котором действует ваш спрос.
Экономические индикаторы:
  • Макроуровень: ВВП, уровень инфляции, курс валют, ключевая ставка, индекс потребительских цен, уровень безработицы.
  • Микроуровень: Средняя заработная плата в регионе, потребительская уверенность.
Демографические данные:
  • Для локаций магазинов: Половозрастной состав населения, плотность населения, социальный статус района.
Данные о конкурентах:
  • Цены конкурентов: Можно собирать через различные парсеры.
  • Их акции и промо: Мониторинг рекламных активностей.
  • Появление новых продуктов/брендов на рынке.
Сезонность и календарь:
  • Общая сезонность: Лето/зима, праздники (Новый год, 8 марта, Чёрная пятница).
  • Локальные события: Городские праздники, фестивали, спортивные мероприятия.
  • Календарные особенности: Выходные/будни, количество рабочих дней в месяце.
Погодные условия:
  • Для многих товаров критически важны: температура, осадки, солнечные дни.
  • Примеры: Мороженое, напитки, зонты, одежда, энергопотребление.
Отзывы и настроения потребителей:
  • Данные из соцсетей: Упоминаемость бренда, тональность отзывов.
  • Отзывы на сайтах-отзовиках и маркетплейсах.
Данные о поисковом спросе:
  • Статистика Яндекс.Wordstat и Google Trends: Популярность поисковых запросов, связанных с вашим продуктом или категорией.
Источники: Статистические службы (Росстат), открытые API погодных сервисов, платные и бесплатные сервисы парсинга цен, Google Trends, Яндекс.Wordstat, инструменты для мониторинга соцсетей (Brand Analytics, IQBuzz).

Качественные данные и экспертные оценки

Используются когда мало исторических данных (например, для нового продукта или рынка) или для корректировки моделей.
  • Мнение отдела продаж и маркетинга: их оценка будущего спроса на основе планов по запуску рекламы, выхода на новые рынки и т.д.
  • Оценки менеджеров по продукту: понимание будущих трендов, планов по обновлению ассортимента.
  • Опросы потребителей: выявление намерений совершить покупку.

Как это всё использовать?

  1. Сбор и очистка данных: Объединение данных из разных источников в единый датасет. Очистка от аномалий (всплесков из-за ошибок), заполнение пропусков, учет периодов "stock-out".
  2. Анализ и feature engineering: Понимание, какие факторы (фичи) больше всего влияют на спрос. Создание новых признаков: "праздничный день", "день после праздника", "средняя цена конкурента", "температура выше 25°C".
  3. Выбор модели прогнозирования: Статистические модели, машинное обучение или гибридный подход.
  4. Валидация и оценка точности: Разделение данных на обучающую и тестовую выборки. Оценка по метрикам: MAPE (средняя абсолютная процентная ошибка), WAPE, RMSE.
  5. Внедрение и мониторинг: Прогноз интегрируется в бизнес-процессы (планирование закупок, формирование бюджета). Постоянно отслеживается его точность и корректируется при необходимости.

Эволюция методов: От простого к сложному

Простые методы (базовые бенчмарки)

Перед тем, как переходить к построению сложных моделей машинного обучения, важно определить baseline — минимальный уровень точности, который модель должна превосходить. Для этого используют простые методы: они задают планку, ниже которой недопустимо опускаться.
1. Наивный прогноз (Naive forecast):
Самый простой вариант — прогнозировать, что следующее значение будет таким же, как и последнее наблюденное. Например, продажи на завтра равны продажам сегодня. Этот метод особенно актуален для данных без выраженного тренда или сезонности.
2. Скользящее среднее (Moving average):
Значение прогноза рассчитывают как среднее за последние N периодов (например, дней или недель). Такой подход сглаживает разовые колебания и быстро реагирует на смену тенденций, но не всегда ловит долгосрочные тренды.
3. Сезонный наивный (Seasonal naive):
Если в данных присутствует сезонность, прогнозируют, что значение в следующем периоде будет таким же, как и в аналогичном периоде прошлого сезона (например, продажи в этот понедельник будут такими же, как в прошлый понедельник).

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

Классические статистические модели

Для прогнозирования спроса данные модели опираются на математическое описание зависимости значений временного ряда от его предыдущих состояний, трендов и сезонных колебаний. Они хорошо зарекомендовали себя там, где важно объяснять структуру данных, понимать, как формируется прогноз, и работать с относительно небольшими датасетами.
ETS (Error, Trend, Seasonality): моделирует три компонента ряда — ошибку, тренд и сезонность. Эффективна для рядов с выраженной сезонностью.

Варианты:
  • Простое сглаживание (нет тренда, нет сезонности).
  • Двойное сглаживание (с трендом).
  • Тройное Хольта-Винтерса (с трендом и сезонностью).

Когда использовать:
  • Когда в данных заметны стабильные тенденции или повторяющиеся сезонные паттерны.
ARIMA (AutoRegressive Integrated Moving Average): моделирует зависимости между текущим значением временного ряда и его прошлыми значениями (авторегрессия), а также моделирует структуру ошибок (скользящее среднее) и умеет устранять нестационарность за счёт взятия разностей (интегрирование).

Обозначение:
  • AR (p): число лагов авторегрессии.
  • I (d): порядок дифференцирования (сколько раз берём разность, чтобы сделать ряд стационарным).
  • MA (q): порядок скользящего среднего.

Когда использовать:
  • Для рядов без ярко выраженной сезонности, но с заметными автокорреляциями или трендами.
SARIMA (Seasonal ARIMA): расширяет ARIMA за счёт учета сезонных компонент (например, недельная или годовая повторяемость).

Когда использовать:
  • Когда значения спроса меняются по годам, сезонам или неделям — регулярные пики и спады.

Машинное обучение: Нелинейность и взаимодействия

Это следующий этап развития методов прогнозирования спроса, позволяющий учитывать сложные нелинейные зависимости, взаимодействия между множеством факторов и автоматизировать обработку больших объёмов разнородных данных.
Градиентный бустинг (XGBoost, LightGBM, CatBoost) - это ансамбли деревьев решений, которые обучаются последовательно: каждый следующий “дерево” пытается скорректировать ошибки предыдущих. В результате модель отлично находит сложные связи между признаками и результатом.

Главные плюсы:
  • Справляется с нелинейностями, взаимодействиями факторов (например, влияние цены на продажи зависит от погоды или дня недели).
  • Умеет работать с большими и разнородными фичами: промо, цены, календарные переменные, внешние индексы.

Когда использовать:
  • Когда много исторических и внешних факторов, сложная динамика спроса, или классические методы “перестают тянуть”.
Случайный лес (Random Forest): Ансамбль независимых деревьев, использующих разные подвыборки данных и признаков. Лучше работает на стабильных паттернах, чем на временных рядах, но полезен для базового сравнения.
Нейронные сети (LSTM, GRU): хорошо захватывают сложные длинные зависимости во времени за счёт специальной архитектуры памяти. Применяются в очень крупных или высокочастотных рядах, например, прогнозирование трафика.

Гибридные подходы

Такие подходы объединяют лучшие стороны классических статистических моделей и методов машинного обучения. Они особенно эффективны там, где одни и те же данные содержат как регулярные (тренд, сезонность), так и сложные, внешне обусловленные компоненты (акции, маркетинг, погодные аномалии).
Пример архитектуры:
  1. Модель сезонности/тренда (например, SARIMA) – строит базовый прогноз.
  2. Вычитаем из фактических значений полученный прогноз — получаем остатки (неожиданные отклонения).
  3. ML-модель (XGBoost, LightGBM) учится предсказывать, когда и почему возникают эти отклонения — на основе промо, цены, внешних данных.
  4. Финальный прогноз = прогноз статистической модели + прогноз ML по остаткам.

Сравнение точности методов (MAPE, %)

MAPE (Mean Absolute Percentage Error) — это средний процент отклонения прогноза от фактических значений.
Таблица по сравнению:
Метод
Типовые значения MAPE (%)
Наивный прогноз
20-40
Скользящее среднее
18-35
ETS/ARIMA/SARIMA
10-20
ML (XGBoost/LightGBM/Random Forest)
7-15
Гибридные подходы (SARIMA+XGBoost)
5-12
Как интерпретировать значения MAPE?
< 10% — отличная точность, почти всегда коммерчески оправдана (например, для стабильных товаров или крупного агрегированного спроса).
10–20% — хорошее качество для большинства направлений ритейла, e-commerce, FMCG.
20–30% — приемлемо для категорий с высокой волатильностью, промо-зависимых или новых товаров.
> 30% — сигнал к пересмотру данных, методов или гипотез; часто обоснован только для очень нестабильных сегментов.
Чем ниже MAPE, тем точнее планы закупок, меньше “зависших” остатков и избыточных запасов, выше оборачиваемость. Важно, чтобы MAPE считался на независимом тестовом периоде, иначе его "красота" обманчива.
Совет: Сравнивайте MAPE моделей не только между собой, но и с бизнес-целями: иногда быстрее и дешевле доработать процессы, чем пытаться загнать ошибку ниже 10% любой ценой.

Главные ошибки в реализации

Data Leakage и переобучение

Data leakage — использование в обучении информации, которая недоступна на момент прогноза:
  • Признаки из будущего (например, средняя цена следующей недели)
  • Агрегаты по всему периоду (глобальная средняя вместо скользящей)
Переобучение (overfitting) — модель запоминает шум вместо закономерностей:
  • Слишком сложная модель на малом объеме данных
  • Отсутствие регуляризации в tree-based models
Защита: Строгое соблюдение временных границ при кросс-валидации (TimeSeriesSplit)

Выбор метрики качества

Это критически важно для оценки прогноза спроса: именно метрика определяет, насколько хорошо модель решает бизнес-задачу. Ниже перечислены основные метрики, их особенности и рекомендации по выбору.
MAE (Mean Absolute Error, Средняя абсолютная ошибка) - среднее значение абсолютных ошибок между прогнозом и фактом.

Формула:
MAE = (1/n) * Σ |Факт - Прогноз|
Плюсы:
  • Легко интерпретируется в "штуках" или деньгах.
  • Устойчива к выбросам (в сравнении с MSE).

Когда использовать:
  • Когда все ошибки одинаково важны и не критична масштабная интерпретация (например, коробочные остатки).
MSE/RMSE (Mean Squared Error / Root Mean Squared Error) - средний квадрат ошибки (или его корень). Большие промахи штрафуются сильно больше маленьких, потому что ошибка возводится в квадрат.

Формула:
MSE = (1/n) * Σ (Факт - Прогноз)^2

RMSE = √MSE
Плюсы:
  • Чувствительна к крупным ошибкам — хорошо подходит, если "провалы" особенно опасны.

Когда использовать:
  • Если бизнес страдает от сильных провалов прогноза (например, out-of-stock критичен).
MAPE (Mean Absolute Percentage Error, Средняя абсолютная процентная ошибка) - это средний процент отклонения.

Формула:
MAPE = (1/n) * Σ (|Факт - Прогноз| / Факт) * 100%
Плюсы:
  • Ясная интерпретация для бизнеса ("Мы ошибаемся на 9%").

Минусы:
  • Неустойчива при малых фактических значениях (ошибка может "улететь" в 1000% при продаже 0 единиц).

Когда использовать:
  • Для агрегированных, масштабных продаж без большого числа нулевых значений.
WAPE (Weighted Absolute Percentage Error) - суммирует абсолютные ошибки и делит на сумму фактических значений, измеряет %-ошибку для всего покрытия.

Формула:
WAPE = Σ |Факт - Прогноз| / Σ Факт * 100%
Плюсы:
  • Сглаживает влияние малых продаж, удобно использовать для отчетности и сравнения разных периодов.

Когда использовать:
  • При анализе большого ассортимента, где есть низко- и высокооборотные позиции.
Как выбрать?
  • Для рублей, долларов, штук — используйте MAE, RMSE.
  • Для сравнения моделей и объяснения бизнесу — удобнее MAPE, WAPE.
  • Если важно избегать крупных "промахов" — MSE/RMSE.
  • Для сложносоставного ассортимента по категориям — WAPE.
Совет: используйте несколько метрик одновременно — это даст честную картину качества прогноза в разных разрезах.

Неопределенность прогноза

Точечный прогноз без доверительных интервалов бесполезен для принятия решений:
  • Верхняя граница интервала определяет страховой запас
  • Нижняя граница — риск излишков

Построение интервалов:
  • Статистические модели: аналитически из распределения ошибок
  • ML-модели: бутстреп, jackknife или квантильная регрессия
Практика: Прогноз продаж на уровне 1000 единиц с 95% интервалом [800, 1200] позволяет планировать запас в 1200 единиц для покрытия спроса с вероятностью 97.5%.

Интеграция в бизнес-процессы

Успешное внедрение системы прогнозирования требует:
  1. Непрерывного мониторинга: Автоматизированный трекинг метрик качества с алертами при деградации качества
  2. A/B-тестирования моделей: Сравнение новой модели со старой на изолированной группе товаров/регионов перед полным развёртыванием
  3. Интеграции с системами управления запасами: Прогнозы должны автоматически преобразовываться в планы заказов
  4. Регулярного ретренинга: Модели должны переобучаться на новых данных с частотой от 1 недели до 1 месяца
  5. Человеческого надзора: Экспертная коррекция прогнозов для учета форс-мажоров и маркетинговых активностей
Лучшая модель — не обязательно самая сложная с точки зрения ML, а та, которая устойчиво работает и подходит для бизнеса. Инвестируйте в качество данных и feature engineering — это дает 80% результата против 20% от выбора алгоритма.
Готовы перестать терять прибыль на неоптимальных запасах?

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

→ Изучите наши кейсы и возможности на странице https://serdyukov.in/datalens

P.S. В статье мы разобрали типичные ошибки. Наша работа — не допустить их в вашем проекте и построить систему, которая будет приносить деньги, а не пылиться на полке.
BI Аналитика