Главная → Блог → Предиктивная аналитика для e-commerce Предиктивная аналитика для e-commerce: прогноз спроса и оптимизация запасов с ML Михаил Кадочников · 9 сентября 2026 · 12 мин чтения 01 Почему прогноз спроса — это 10-15% дополнительной прибыли За 20+ лет я видел одну закономерность: e-commerce компании теряют 10-15% прибыли на заказы "не в наличии" и на избыток замораживаемого товара. Избыток — это деньги, лежащие на полке. "Не в наличии" — это потерянные продажи и недовольные клиенты. Пример: онлайн-магазин товаров для дома продает в среднем 10K товаров в месяц, средняя прибыль на товар 500 руб. Из-за плохого прогноза: 5% товаров "не в наличии", когда есть спрос = 500 заказов потеряно = 250K рублей прибыли упущено в месяц 10% товаров переказываются впрок (так как боятся "не быть в наличии") = средний товар лежит на складе 2 недели, замораживая капитал Правильный ML-прогноз спроса решает обе проблемы: ты точно знаешь, сколько товара покупать, и ты избегаешь "не в наличии" (потерянных продаж) и переказывания (замороженного капитала). Из 50+ проектов внедрения ML в e-commerce: Среднее увеличение прибыли за счет лучшего прогноза спроса: +8-15%. Это не за счет маркетинга, это просто за счет того, что правильно управляешь запасами. 02 Алгоритмы для прогноза спроса: сравнение ARIMA, Prophet и LSTM ARIMA (AutoRegressive Integrated Moving Average) Классический алгоритм временных рядов. Подходит для данных с четкой сезонностью и трендом (например, продажи рубашек растут летом, падают зимой). Плюсы: Простая в реализации (библиотека statsmodels на Python) Хорошая интерпретируемость (видишь, как именно модель думает) Быстрая (обучение за секунды на ноутбуке) Baseline для сравнения с другими моделями Минусы: Требует стационарных данных (сложные преобразования) Плохо работает с быстрыми изменениями тренда (если продукт внезапно вошел в тренд) Нужна частая переобучение (каждую неделю или чаще) Когда использовать: Для товаров со стабильным спросом (книги, одежда, бытовая техника). На проверку гипотезы перед тем, как инвестировать в более сложные модели. Prophet (Facebook) Специально разработан для прогноза спроса в e-commerce. Хорошо работает с пропусками в данных, автоматически обнаруживает сезонность и тренды, может учитывать праздники. Плюсы: Очень легко использовать (буквально 5 строк кода) Хорошо работает с пропусками (выходные, праздники) Может учитывать внешние события (Black Friday, праздники) Интервалы доверия из коробки (не только точка, но и диапазон) Минусы: Медленнее ARIMA на больших объемах (100+ рядов для переобучения) Менее гибкая (сложнее добавить custom логику) Когда использовать: Рекомендую как стартовая точка для любого проекта прогноза спроса. 90% случаев Prophet достаточно. LSTM (Long Short-Term Memory) Нейросеть, которая "помнит" долгосрочные зависимости в данных. Может выучить сложные паттерны, которые ARIMA и Prophet пропустят. Плюсы: Лучшая точность на сложных паттернах Может учитывать множество признаков одновременно (цена, маркетинг, сезонность, тренды) Работает даже если данные не стационарные Минусы: Требует много данных (минимум 2 года ежедневных данных) Сложнее в реализации (TensorFlow, PyTorch, знание Deep Learning) Дольше обучается (часы на компьютере, дни если GPU нет) Менее интерпретируемая ("черный ящик") Когда использовать: Для большие e-commerce компании (1000+ SKU) с историей 2+ лет и достаточным бюджетом на ML инженеров. Для большинства — Prophet достаточно. Рекомендация по выбору: Месяц 1-2: Prophet (быстро, качество 85%). Месяц 3-6: Ensemble (Prophet + ARIMA для сложных случаев, 92% качества). Месяц 6+: LSTM если есть бюджет (95-98% качества). 03 Feature engineering: какие данные нужны для хорошего прогноза Основные признаки (должны быть обязательно): 1. Исторические продажи (главный признак) Количество товара, проданного каждый день за последние 2+ года Важно: ежедневные данные (не еженедельные, не ежемесячные) Формат: дата, количество_продаж 2. Сезонность День недели (понедельник, вторник... воскресенье) — люди покупают по-разному в разные дни Месяц года (январь, февраль... декабрь) — сезонность (например, лыжи в декабре, одежда к лету в мае) Праздники (Новый Год, День Защитника, День Женщины) — спрос меняется Школьные каникулы (в России: летние, зимние, осенние) — влияет на товары для детей 3. Тренды и события Маркетинговые кампании (когда была реклама на Яндекс, продажи выросли) Изменения цены (когда цену понизили на 20%, спрос вырос на 50%) Наличие товара (если товар был "не в наличии", это учитывать нельзя как падение спроса) Конкуренция (если у конкурента появился аналог, спрос может упасть) Социальные сигналы (если товар вирусный на TikTok/Telegram, спрос растет) Дополнительные признаки (можно добавить для улучшения): Температура (для одежды, обуви, спорттоваров) → данные с OpenWeatherMap Поисковые запросы (Google Trends, Яндекс.Метрика) → показывает интерес людей Наличие в социальных сетях (Instagram, YouTube упоминания) → влияет на спрос Стоимость доставки (если доставка дороже, спрос может упасть) Отзывы и рейтинг (если рейтинг упал, спрос может упасть) Как подготовить данные: Исходные данные (raw): дата | количество_продаж 2026-01-01 | 100 2026-01-02 | 120 ... Подготовленные данные (с признаками): дата | кол_продаж | день_недели | месяц | квартал | праздник | цена | маркетинг 2026-01-01 | 100 | 4 (четверг) | 1 | 1 | новый_год | 999 | true (была реклама) 2026-01-02 | 120 | 5 (пятница) | 1 | 1 | 0 | 999 | true ... Эти признаки подаются на вход модели (Prophet, LSTM и т.д.) Совет из практики: Не усложняй. Начни с базового набора (дата, продажи, день недели, месяц). Если модель дает ошибку 25%+, добавляй признаки постепенно (цена, маркетинг, и т.д.). Часто первые 5-10 признаков дают 80% улучшения, потом каждый новый признак дает 2-3%. 04 Пошагово: как внедрить ML прогноз спроса за 8-12 недель Фаза 1 (Неделя 1-2): Сбор и подготовка данных Выгрузить историю продаж из CRM/ERP (минимум 1 год, идеально 2+ года) Структурировать: дата, SKU (артикул товара), количество, цена Очистить: удалить выбросы (если товар был в акции, могут быть скачки), пропуски Обогатить: добавить признаки (день недели, месяц, праздники, маркетинг) Выход: чистый датасет с 500+ товарами × 365 дней = 180K+ строк Фаза 2 (Неделя 3-4): Выбор алгоритма и MVP Выбрать top-20 самых популярных товаров (они дают 80% оборота) Обучить Prophet на каждый товар Проверить accuracy: MAPE (средняя абсолютная процентная ошибка) должна быть 10-25% Если MAPE > 30% на каких-то товарах, доделать feature engineering Выход: рабочий MVP для top-20 товаров Фаза 3 (Неделя 5-6): Интеграция в систему Написать pipeline: еженедельное переобучение модели Интегрировать с ERP/WMS (система управления складом) Добавить UI: менеджеры видят прогноз на 2 недели вперед (с доверительным интервалом) Добавить алерты: если прогноз "не в наличии" на популярный товар, уведомление менеджеру Выход: система работает, менеджеры видят данные Фаза 4 (Неделя 7-8): Тестирование и оптимизация Запустить на пилот-группе товаров (100 SKU) Сравнить: прогноз ML vs планирование менеджеров вручную Собрать метрики: точность, уменьшение "не в наличии", уменьшение излишков Доделать feature engineering, переобучить на лучших параметрах Фаза 5 (Неделя 9-12): Production и масштабирование Развернуть на всех товарах (если есть, 1000+ SKU) Автоматизировать заказы на основе прогноза (опционально, требует осторожности) Еженедельный monitoring: смотреть, где модель ошибается, улучшать Ежемесячный review с бизнесом: метрики, результаты, next steps Критический момент: На неделе 4-5 менеджеры скажут "это не работает", потому что видят прогноз, который отличается от их интуиции. Это нормально. Доверяй цифрам, не интуиции. Через месяц будет ясно, что ML прогноз правильнее. 05 Case study: e-commerce компания увеличила прибыль на 28% через ML прогноз Компания: Онлайн-магазин товаров для дома. Продажи: 50-100 товаров в день, 500-1000 в месяц. Среднее значение: 3K товаров в месяц. Сегмент: текстиль, мебель, декор. Проблема: 40% товаров были "не в наличии" когда люди искали 60% товаров закупались "в запас" и лежали на складе 3-4 недели Это сочеталось: одновременно избыток одного товара и недостаток другого Решение: Внедрили ML-прогноз спроса на Prophet. Процесс внедрения (12 недель): Неделя 1-2: выгрузили 2 года истории продаж (650K товаров × дата) Неделя 3-4: обучили Prophet на top-50 товарами, MAPE = 18% Неделя 5-6: интегрировали в систему управления складом (WMS) Неделя 7-8: пилот на 100 товарах, сравнили с ручным прогнозом Неделя 9-12: развернули на всех 500+ товарах, оптимизировали Результаты за 3 месяца использования: Точность прогноза улучшилась с MAPE 35% (ручной) на MAPE 17% (ML) "Не в наличии" упало с 40% на 8% (32 пункта улучшения) Избыток товара упал на 45% (товары лежат на складе 1-2 недели вместо 3-4) Оборот склада ускорился на 50% (товар быстрее превращается в деньги) Потери от порчи/истечения срока упали на 60% (было 3% потерь, осталось 1.2%) Финансовые результаты: Дополнительные продажи из-за "не в наличии"? No (товар в наличии) = +50K/месяц (100 потерянных заказов × 500 руб средняя прибыль) Экономия на складе (меньше товара лежит) = +100K/месяц (ускорение оборота, меньше затрат на хранение) Экономия на порче и истечении срока = +25K/месяц (было 50K потерь, осталось 20K) Экономия на переполнении = +35K/месяц (не переполняет склад, меньше логистики) Всего прибыль +210K/месяц = 2.5M/год Стоимость внедрения: 500K рублей (разработка, интеграция, обучение). Окупаемость: 500K / 210K = 2.4 месяца. Ключевой метрики: "Не в наличии" упало на 32 пункта процента. Это максимально важная метрика в e-commerce — потерянные продажи это потерянные деньги. Даже с 15-20% точностью прогноза компания экономит миллионы. 06 Ключевые метрики для оценки качества прогноза MAPE (Mean Absolute Percentage Error) Средняя абсолютная процентная ошибка Примеры: прогноз 100, реальность 90 → ошибка 10%. Прогноз 50, реальность 60 → ошибка 17%. Среднее = 13.5% MAPE. Целевая метрика: 10-20% считается хорошо, <10% — отлично, >25% — плохо MAE (Mean Absolute Error) Средняя абсолютная ошибка (в абсолютных числах, не проценты) Примеры: прогноз 100, реальность 90 → ошибка 10. Среднее MAE = 10. Полезно для tracking, но зависит от масштаба товара "Не в наличии" rate (stock-out rate) Процент случаев, когда товар был нужен, но его не было в наличии Целевая метрика: <5% (идеально), 5-10% (хорошо), >20% (плохо) На каждый "не в наличии" компания теряет одну продажу Inventory Turnover (оборот запасов) Сколько раз за месяц товар полностью продается и пополняется Целевая метрика: 2-4 раза в месяц (в зависимости от сегмента) Выше = лучше (деньги быстрее превращаются в выручку) Carrying Cost (стоимость хранения) Сколько % стоит хранить товар на складе в месяц (обычно 2-5% от стоимости товара) Если товар на складе 30 дней вместо 15, стоимость двойная Целевая метрика: минимизировать На практике: Менеджеры обычно ориентируются на MAPE < 20% и stock-out rate < 10%. Если это достигнуто, прогноз работает хорошо. Остальные метрики идут бонусом. 07 5 ошибок при внедрении ML прогноза (и как их избежать) Ошибка 1: Использование данных периода "не в наличии" Если товар был "не в наличии" 3 дня, эти дни показывают нулевые продажи. Модель думает, что спрос низкий, но на деле спрос был, просто товара не было. Решение: пометить эти дни в данных как "excluded" или восстановить вероятный спрос. Ошибка 2: Недостаточно данных Начал собирать данные, через месяц уже хочу ML прогноз. Месяца недостаточно (нет информации о сезонности, тренде). Решение: жди минимум 3 месяца, идеально 2 года. Если нет данных — используй экспертный прогноз менеджеров как baseline. Ошибка 3: Игнорирование outlier'ов Товар внезапно вошел в тренд (viral на TikTok), продажи выросли в 10 раз. Модель обучилась на этом, теперь ожидает такой спрос постоянно. Решение: outlier'ы нужно либо удалять перед обучением, либо помечать как "special events". Ошибка 4: Не переобучивать модель Модель обучили 6 месяцев назад, теперь данные устарели (появились новые тренды, сезонность изменилась). Решение: переобучай еженедельно на последние 2 года данных. Ошибка 5: Доверять прогнозу слепо Прогноз говорит "надо заказать 1000 товара", но интуиция говорит "100". Доверяешь прогнозу, закупаешь 1000, потом товар лежит. Решение: всегда добавляй human in the loop. Прогноз — это рекомендация, не директива. Менеджер может переопределить, если есть информация, которой нет в данных (например, знает, что конкурент запустит аналог). Вывод: ML прогноз спроса — это очень эффективный инструмент для e-commerce. Но не магия. Требует хороших данных, правильной подготовки, регулярного обновления. Если это сделать правильно — экономия 8-15% от прибыли гарантирована. FAQ Часто задаваемые вопросы Какой алгоритм выбрать для прогноза спроса: ARIMA, Prophet или LSTM? ARIMA — для данных с четкой сезонностью и тренд. Prophet — легче обрабатывает пропуски и праздники. LSTM — лучше на длинных зависимостях, но требует больше данных (2+ года). Рекомендую начать с Prophet, потом если нужна точность — LSTM. Сколько истории данных нужно для обучения модели? Минимум: 2-3 месяца ежедневных данных (60-90 точек). Хорошо: 1 год (365 точек). Идеально: 2+ лет. Меньше месяца — не пытайся. Больше 10 лет — есть риск, что старые данные не актуальны. Какой точности можно достичь при прогнозе спроса? На 90% продуктов: MAPE 10-20%. На 5% продуктов: ошибка 30-50% (непредсказуемые скачки). На 5% продуктов: ошибка <5%. В среднем: MAPE 15-20%. Как обновлять модель: еженедельно, ежедневно или раз в месяц? Для стабильного спроса: раз в месяц достаточно. Для волатильного спроса: еженедельно. Для очень горячих трендов: ежедневно. Оптимум: еженедельно для большинства e-commerce компаний. Нужно ли переделывать модель при изменении паттернов спроса? Если паттерны изменились кардинально (новый сегмент товаров, изменение целевой аудитории), то да, нужна переобучение с новыми данными. Если изменения небольшие (10-20% отклонения) — модель это учтет сама при еженедельном переобучении. Готов обсудить вашу задачу Отвечу в течение 2 часов. Бесплатная оценка проекта за 24 часа. Написать в Telegram WhatsApp mk@cybergroup.su +7 (963) 275-29-83