Решён
Как применяется машинное обучение в ритейле? Конкретные кейсы

Pavel Data Машинное обучение
2k
5

Работаю аналитиком в федеральной розничной сети (продукты). Руководство загорелось идеей внедрить ML "как у всех".

Прошел несколько курсов по ML, понимаю базовые алгоритмы (линейная регрессия, деревья решений, кластеризация). Но все примеры из курсов - это Titanic, ирисы Фишера и прочие игрушечные датасеты.

Интересует КОНКРЕТНАЯ практика применения ML в ритейле:

  1. Прогнозирование спроса - какие фичи реально используются? Насколько точнее ML по сравнению с простым скользящим средним?

  2. Ценообразование - слышал про dynamic pricing, но как это работает технически? Как часто пересчитываются цены?

  3. Управление запасами - какие задачи решаются ML?

  4. Персонализация - у нас есть программа лояльности с данными о покупках, что с этим можно делать?

У нас 500 магазинов, 20 тысяч SKU, история продаж 3 года. Данные хранятся в 1С, выгружаются в Excel. Команда - я один, бюджета на DataScience отдел нет.

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

Решение
91
Эксперт • 1 ответ

Работал ML инженером в X5 Retail Group, расскажу про реальные кейсы которые давали эффект.

1. Прогнозирование спроса

Самый простой и эффективный кейс для старта. Не нужны сложные модели, gradient boosting (LightGBM или CatBoost) вполне достаточно.

Фичи которые реально работают:

  • Продажи товара за последние 7, 14, 28, 90 дней (скользящие средние)
  • День недели (в понедельник продажи на 30% ниже чем в субботу)
  • Праздники и предпраздничные дни (за 2 дня до Нового года продажи шампанского взлетают в 15 раз)
  • Погода (температура влияет на продажи мороженого, алкоголя, готовой еды)
  • Акции и промо (если товар в каталоге - продажи +200-500%)
  • Остатки на складе (если товара мало - продажи падают из за эффекта пустых полок)
  • Цена товара и конкурентов (если есть данные мониторинга)

Точность: обычный naive forecast (продажи завтра = продажи неделю назад) дает MAPE около 40-50%. ML модель снижает до 25-35%. На скоропортящихся товарах (выпечка, молочка) снижение списаний окупает разработку за месяц.

2. ABC/XYZ анализ + кластеризация

Боле простая задача чем прогноз, но дает быстрый результат.

Кластеризуй товары по паттернам продаж (K-means или DBSCAN):

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

Это позволяет автоматизировать заказы для 70% ассортимента, оставив закупщикам только сложные 30%.

3. Детекция аномалий

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

Причины аномалий:

  • Товар не завезли в магазин (проблема логистики)
  • Товар завезли но не выставили на полку (проблема мерчандайзинга)
  • Конкурент запустил агрессивную акцию
  • Истек срок годности и товар сняли с продажи

Когда модель детектит аномалию - отправляешь алерт менеджеру магазина. Он проверяет и устраняет проблему в тот же день вместо того чтобы узнать об этом через неделю из отчета.

4. Рекомендательные системы

НЕ НАЧИНАЙ С ЭТОГО. Персонализация в офлайн ритейле очень сложная задача:

  • У тебя нет истории кликов и просмотров (только факт покупки)
  • Клиент покупает 1-2 раза в неделю (холодный старт для 90% клиентов)
  • Большая часть покупок - рутинные (молоко, хлеб, яйца), рекомендовать их бессмысленно

Реалистичный кейс - рекомендации товаров на допродажу для кассиров или push уведомления в приложении. Но это требует интеграции с кассовой системой или разработки мобильного приложения.

С чего начать в твоей ситуации:

  1. Возьми один товар с высокой оборачиваемостью и стабильным спросом
  2. Выгрузи продажи за год в CSV
  3. Обучи LightGBM на sklearn
  4. Сравни прогноз модели с фактическими продажами за последний месяц
  5. Покажи результат руководству в виде графика (факт vs прогноз vs naive forecast)

Если прогноз лучше чем наивный - масштабируй на топ-100 товаров категории А. Это уже даст эффект в виде снижения дефицита и затоваривания.

Инструменты:

  • Python (pandas, sklearn, lightgbm)
  • Jupyter Notebook для экспериментов
  • Airflow или просто cron для автоматизации (когда дойдешь до продакшена)

Реальный timeline:

  • Первый прототип прогноза спроса - 2 недели
  • Обучение модели на всем ассортименте - 1 месяц
  • Интеграция с процессом закупок - 2-3 месяца (зависит от бюрократии)

Главное - начни с простого и измеримого. Не пытайся сразу построить ML платформу на весь ритейл.

Аватар Pavel Data

Спасибо за развернутый ответ! Вопрос по фичам - погоду где брать? Есть какие то API с историей?

Аватар Олег Ферзёв

OpenWeatherMap API, у них есть исторические данные. Для РФ еще можно rp5.ru парсить

46
Эксперт • 4 ответа

Добавлю про dynamic pricing, так как занимался этим в Озон.

Технически это задача оптимизации: максимизировать прибыль (или оборот, или маржу - зависит от стратегии) при ограничениях (цена конкурентов, минимальная маржа, психологические пороги типа 99 рублей).

Модель предсказывает эластичность спроса от цены (насколько упадут продажи если поднять цену на 10%). На основе этого рассчитывается оптимальная цена.

Но в офлайн продуктовом ритейле dynamic pricing НЕ РАБОТАЕТ по простой причине: вы не можете менять ценники на полках каждый час. Печать ценников, расклейка - это ручной труд.

Dynamic pricing имеет смысл только в e-commerce (там цена меняется автоматически на сайте) или на электронных ценниках (очень дорого, окупается только в премиум сегменте).

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

15
Участник • 1 ответ

Вот честно скажу как закупщик с 15 летним стажем - все эти ML модели на практике не работают.

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

  • что завтра обещают снег и люди скупят весь хлеб и молоко с вечера
  • что в соседнем магазине ремонт и к нам пойдет их трафик
  • что поставщик задерживает партию на 2 дня
  • что директор магазина попросил завезти побольше пива к матчу

Вся эта информация не лежит в ваших датасетах. А без нее любой прогноз - гадание на кофейной гуще.

Модель может работать для топ-10 товаров с огромными объемами где статистика сглаживает флуктуации. Но для длинного хвоста ассортимента (а это 80% SKU) - бесполезна.

12
Эксперт • 1 ответ

Попробуй посмотреть кейсы Магнита и Пятерочки, они публиковали презентации про свои ML системы на конференциях типа DataFest. Там как раз про реальные метрики и ROI.

Еще полезный ресурс - канал ODS (Open Data Science) в телеграме, там регулярно обсуждают прикладные задачи ML в бизнесе.

2
Эксперт • 5 ответов

смотря какой у вас ритейл если продукты то задачи одни если одежда то другие

для одежды можно делать компьютерное зрение - распознавание стиля клиента по фото и рекомендации похожих вещей, это сейчас модно

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.