Направления Симулятора ML: Модели прогноза

Одна из популярных задач в анализе данных и машинном обучении — это прогноз спроса. Она часто встречается в торговле, логистике, производстве, финансах и других сферах. Мы можем предсказывать продажи товаров, трафик покупателей, заказы такси, время доставки заказов и т.д.
Три примера использования предсказанного спроса:
- Прогноз продаж: предсказанные продажи помогают бизнесу планировать стратегию и определять приоритеты. Это помогает компаниям реагировать на изменения спроса и эффективно перераспределять бюджет.
- Управление запасами: Модели прогноза спроса помогают определить, сколько каждого товара нам нужно иметь на складе. Они помогают избежать проблемы, когда товар плохо оборачивается, и минимизирует риск когда товар заканчивается, что ведёт к упущенной выручке.
- Динамическое ценообразование: Мы оцениваем наперёд сколько единиц товара будет продано при разной цене, затем выбираем ту, которая максимизируют оборот, прибыль или другую метрику.
Какие модели машинного обучения здесь применимы?
- Линейные модели (линейная регрессия, квантильная регрессия)
- Градиентный бустинг
- Deep Learning модели (RNN, Трансформеры)
Пример пайплайна для задачи управления запасами компании.
- Сбор и агрегация данных. Используем различные источники данных, включая заказы, истории цен, истории цен конкурентов, промо-календари, данные о скидках, кликах, категории товаров и др. Сбор выполняем на Hadoop кластере с помощью PySpark.
- Генерация дополнительных признаков. Вычисляем агрегации и разные статистики продаж, цен, конверсий и других характеристик за разные периоды в прошлом (скажем, 7/14/30/60 дней).
- Прогноз продаж. Предсказываем пессимистичную/консервативную/оптимистичную оценку спроса для каждого товара с помощью обученной модели. Последняя версия модели подгружается из Model Registry в MLFlow.
- Генерация автозаказов. Для каждого товара проводится сравнение прогноза продаж на следующие 3 недели и текущий запас (сток). На основе этого, решения о пополнении товара и генерации заказа у поставщика.
Допустим, прогноз продаж пюре «ФрутоНяня» на следующие 3 недели:
a. пессимистичный (0.25 квантиль) — 106 шт,
b. средний (0.5 квантиль) — 353 шт,
c. оптимистичный (0.75 квантиль) — 657 шт.
Мы не хотим допускать снижение остатков ниже пессимистичной оценки спроса. В наличии 82 шт. (что на 24 шт. меньше допустимого уровня). Система управления остатками получает запрос от нашего FastAPI сервиса, что нужно пополнить «ФрутоНяню» на 575 шт., чтобы покрыть 75-ый персентиль оценки спроса (оптимистичный прогноз). Так мы каждый час проверяем остаток по каждому товару.

Это лишь один кейс. Разные задачи прогнозирования очень часто встречаются в работе ML-инженера. Для разных сфер применения используются свои пайплайны, которые по-своему интегрируются в бизнес-процессы.
Кроме озвученного выше пайплайна (да, это одна из задач Симулятора ML!) вы найдёте ещё 11 задач на модели прогноза из разных сфер.
Вас ждут задачи на подготовку данных и генерацию признаков, прогнозирование продаж на маркетплейсе, постобработку предсказаний согласно бизнес правилам, и это далеко не полный список!
Захотелось отработать на практике один из важнейших для ML-инженеров навык? Присоединяйтесь к Симулятору ML :)
________________________________________________________________________
Читать о других блоках:
«Динамическое ценообразование»
«Рекомендательные системы»