ML-прогнозирование спроса
Мультипрогноз продаж с production pipeline, Celery и live-прогрессом выполнения.
Что показывает кейс
Кейс показывает production-процесс прогнозирования спроса: подготовка данных, baseline, обучение и сравнение моделей, сохранение артефактов, проверка качества и регулярный расчёт прогноза для потребителей.
Контекст
Разовый ноутбук с моделью не решает задачу планирования: прогноз нужно повторяемо считать по нескольким объектам, одинаково готовить train/test и признаки, хранить идентичность запусков и понимать, где находится тяжёлый расчёт. Без отдельного production-контура пользователь получает долгий запрос, не видит состояние выполнения, а повтор после ошибки может заново пересчитать уже готовые этапы.
Что вошло в контур проекта
Сервис готовит данные и признаки, формирует train/test выборки, запускает модели и каскадный прогноз, хранит результаты многоточечных расчётов и отдаёт прогресс через WebSocket. Celery выполняет тяжёлые задачи, Prometheus фиксирует состояние воркеров.
Решение
Django-сервис оборачивает подготовку данных и ML-модели в воспроизводимый production pipeline, хранит запросы и результаты многоточечных прогнозов, запускает тяжёлые этапы через Celery и отдаёт фактический прогресс выполнения через WebSocket. Состояние расчёта отделено от веб-запроса, поэтому запуск можно наблюдать, диагностировать и повторять без ручной работы автора модели.
- Подготовка данных, очистка, feature engineering и построение dataset.
- Train/test pipeline и sklearn-совместимые модели.
- Каскадное прогнозирование последовательных периодов.
- Хранение запросов и результатов мультипрогноза.
- Celery-задачи с предварительной загрузкой моделей в worker.
- Channels/WebSocket для прогресса и Prometheus-метрики задач.
Рабочий процесс
- Данные
- Features
- Модель
- Celery
- Прогноз
- Live progress
- Результат
Технологический контур
- Django
- Celery
- Channels
- Pandas
- scikit-learn
- Prometheus
Бизнес-эффект
Прогнозирование становится повторяемым сервисным процессом с наблюдаемым выполнением, а не ручным запуском модели.