📦
E-commerce · Wildberries

Wildberries: как ML-прогноз спроса сэкономил 12 млрд рублей на возвратах

Точность прогноза 7-дневного спроса выросла с 68% до 91% (MAPE). На категории «электроника» — с 54% до 89%. Возвраты упали на 23% — клиенты получают то, что заказали, потому что товар есть в наличии, и доставка занимает 1.4 дня вместо 3.7. Оборачиваемость склада улучшилась на 35%: оборотный капитал в неликвиде с 23 млрд упал до 14 млрд рублей. Прямая экономия — 12 миллиардов рублей в год: 7.3 млрд на сокращении логистики возвратов + 4.7 млрд на освобождённом капитале. Дополнительный эффект: GMV вырос на 4.1% от чисто доступности (когда товар есть в наличии, конверсия выше). Опыт работы с моделью научил команду WB одной вещи: feature engineering важнее архитектуры. Тот же CatBoost с правильными признаками обыграл custom transformer на 12 п.п. точности.

91%
точность 7-дн прогноза
-23%
возвраты
+35%
оборачиваемость
₽12B
экономия в год

Контекст

Wildberries — крупнейшая e-commerce площадка России: 280 миллионов товаров в каталоге, 30 000+ пунктов выдачи, 500 000 продавцов. Логистическая сеть включает 35 фулфилмент-центров общей площадью 4.7 миллиона квадратных метров. В пиковые дни — Чёрная пятница, 11.11 — оборот достигает 22 миллиардов рублей за сутки. Каждый возврат стоит платформе в среднем 187 рублей: сборка, обратная доставка, проверка, возврат на склад.

Проблема

Прежняя система прогнозирования использовала простую экспоненциальную регрессию на исторических продажах. Это работало в 2020 году, когда рост был плавным. К 2024 году взрывной рост категорий «электроника» и «дом» сделал модель устаревшей за неделю: то, что три недели назад было SKU-«ниши», к понедельнику становилось топ-продажником из-за вирусного видео в Telegram. Дефицит популярных товаров приводил к отказам в покупке (8% сессий с пустой корзиной), а затоваривание непопулярных раздувало склады — 23 миллиарда рублей замороженного оборотного капитала в неликвиде на конец 2023 года.

Возвраты — отдельная боль. 31% всех заказов одежды возвращали (примерочной нет, размер не подошёл). Каждый такой возврат катался по логистике дважды: от центра в ПВЗ и обратно. Если бы модель прогнозировала возвратность — можно было бы сразу размещать товар на «обратном пути».

Решение

Команда машинного обучения Wildberries построила ансамбль из трёх моделей. Первая — gradient boosting (CatBoost) на 217 признаках: история продаж, сезонность, погода в регионе доставки, тренды в Telegram-каналах (сборщик мониторит 1 200 каналов), курсы валют, цены конкурентов, акции, отзывы. Вторая — графовая нейросеть на товарном графе: «что обычно покупают вместе» помогает прогнозировать товары, которые ещё не успели накопить историю продаж (cold start решён). Третья — temporal fusion transformer для длинных горизонтов (90 дней вперёд).

Ключевой инсайт — добавление feature «вирусность товара»: количество упоминаний в Telegram, ВКонтакте, TikTok за последние 72 часа. Эта одна фича дала +7 п.п. точности на категории «дом» и «электроника». Решение работает на собственном Kubernetes-кластере, 4 800 vCPU, инференс — 12 миллионов SKU × 35 центров каждые 4 часа.

Дополнительно — модель размещения: после каждого прогноза второй слой решает, где именно хранить товар. Логика: если прогноз показывает спрос в Краснодаре, отгружаем туда; если возвратность ожидается 40%+ — оставляем буфер ближе к центру. ABM-Q2 algorithm с constraint solver на 38 000 связей «склад → ПВЗ».

Результат

Точность прогноза 7-дневного спроса выросла с 68% до 91% (MAPE). На категории «электроника» — с 54% до 89%. Возвраты упали на 23% — клиенты получают то, что заказали, потому что товар есть в наличии, и доставка занимает 1.4 дня вместо 3.7. Оборачиваемость склада улучшилась на 35%: оборотный капитал в неликвиде с 23 млрд упал до 14 млрд рублей.

Прямая экономия — 12 миллиардов рублей в год: 7.3 млрд на сокращении логистики возвратов + 4.7 млрд на освобождённом капитале. Дополнительный эффект: GMV вырос на 4.1% от чисто доступности (когда товар есть в наличии, конверсия выше). Опыт работы с моделью научил команду WB одной вещи: feature engineering важнее архитектуры. Тот же CatBoost с правильными признаками обыграл custom transformer на 12 п.п. точности.

Технологический стек
CatBoostPyTorch Geometric (GNN)Temporal Fusion TransformerKubernetes (4800 vCPU)Apache AirflowClickHouseConstraint solver (Google OR-Tools)
Сроки
Первая модель в проде — 5 месяцев. Полный rollout на все категории — 13 месяцев. Continuous training сейчас работает каждые 4 часа.
Команда
34 человека: ML engineers (12), data engineers (9), backend (6), MLOps (4), product (3)

Уроки для индустрии

  1. Feature engineering > архитектура. Один правильный признак («вирусность за 72 часа») дал больше, чем смена бустинга на трансформер.
  2. Cold start решается графом, не классификацией. Новые SKU похожи на старые в сети связей «покупают вместе».
  3. Прогноз возвратности — отдельная модель, а не побочный продукт прогноза спроса. У них разные триггеры.
  4. Continuous training каждые 4 часа важнее, чем еженедельный recompute с большей моделью.
  5. Размещение товара (allocation) — это constraint solver, не ML. ML даёт прогноз, OR-Tools — план.
← Кейсы