Презентация (1)
1.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ ГАГАРИНА Ю.А.»
Кафедра «Прикладные информационные технологии»
Тема ВКР «Разработка системы прогнозирования
потребности
в товарных запасах для ритейла
на основе методов машинного обучения»
Студент группы б1-ИФСТ-42
Кондратенко Кирилл Алексеевич
Научный руководитель:
ст. преподаватель каф. ПИТ Пудиков Антон Сергеевич
2.
Актуальность и цель работы7–8%
5–15%
11.7%
Доля out-of-stock
в продуктовом ритейле
Снижение излишков
при точном прогнозе
Потери выручки
ритейлеров ежегодно*
* По данным Gartner, 2023
Цель: разработать систему RetailForecast для прогнозирования потребности в запасах розничного магазина на
основе ансамблевых методов МО, превосходящую наивный прогноз по метрике MAE не менее чем на 20 %.
Большинство МСП-ритейлеров планирует запасы вручную в Excel — корпоративные платформы Blue Yonder и RELEX
экономически недоступны. RetailForecast закрывает этот разрыв.
3.
Задачи работы1
2
Анализ предметной области: управление запасами, потери от дефицита и
избытка
Сравнительный анализ аналогов: Blue Yonder, RELEX, Oracle Retail, Forecast
NOW!
3
Проектирование микросервисной архитектуры (4 независимых компонента)
4
Разработка Backend-сервиса: Spring Boot 3.3+, ABC/XYZ-классификатор,
алгоритм дозаказа
Реализация ML-сервиса: ансамбль Chronos-Bolt + LSTM + XGBoost + MLflowтрекинг
5
6
Создание веб-интерфейса: React 18 + TypeScript, 8 страниц
7
Оценка качества на датасете 20 SKU × 1 257 дней (2023–2026)
4.
Сравнительный анализ существующих решенийКритерий
Blue Yonder
RELEX
Solutions
Oracle
Retail
Forecast
NOW!
RetailForecast
MLпрогнозирование
✓ Глубокое
✓ Глубокое
✓
Статистика
± Частично
✓
Chronos+LSTM
+XGB
ABC/XYZ-анализ
✓
✓
✓
✓
✓
Промо-сценарии
✓
✓
✓
±
✓ Сценарный
анализ
Открытый код
✗
✗
✗
✗
✓ Open Source
Доступность МСП
✗ Дорого
✗ Дорого
✗ Дорого
±
Ограниченно
✓ Доступно
Холодный старт
3–6 мес.
3–6 мес.
3+ мес.
1–3 мес.
✓ Zero-shot
5.
Архитектура и технологический стекВеб-интерфейс
Backend-сервис
ML-сервис
База данных
React 18 +
Spring Boot 3.3+ /
Java 25
FastAPI / Python 3.14
PostgreSQL 16
TypeScript
• Dashboard,
Products
• Forecast, Scenario
• Metrics, Sales,
Promo
• JWT + Spring
Security
• ABC/XYZ,
ReorderService
• REST API, MLпрокси
• Chronos-Bolt +
LSTM
• XGBoost, 18
признаков
• MLflow +
APScheduler
• products, sales
• promotions, users
• Flyway-миграции
6.
Алгоритм дозаказа с адаптивным страховым запасомreorderQty = max(0, forecastedDemand − currentStock + safetyStock)
Шаг 1
Прогноз спроса
ML-сервис
возвращает
forecast_values
на горизонт 7 / 14 /
30 дней
Шаг 2
Средний дневной
прогноз
avgDailyForecast =
sum(forecast) /
horizonDays
Шаг 3
Страховой запас
safetyStock = round(
per-SKU MAE ×
leadTimeDays)
Шаг 4
Дней до нуля
daysLeft =
currentStock /
avgDailyForecast
Статусы запасов (daysLeft):
Critical — daysLeft < 7
Low — 7 ≤ daysLeft < 14
OK — daysLeft ≥ 14
7.
Ансамблевая модель прогнозированияChronos-Bolt
LSTM
XGBoost
Amazon, 2024
PyTorch 2.12
3.0.1 — 18 признаков
• Foundation-модель (T5)
• 2 слоя, hidden=64
• lag_1/3/7/14/30
• zero-shot inference
• seq_len = 60 дней
• rolling_mean/std, day_index
• 84 000+ временных рядов
• Early stopping patience=15
• Промо-признаки, цена
• Квантили 0.1 / 0.5 / 0.9
• Global StandardScaler
• Рекурсивный прогноз
Базовые веса (XYZ):
Базовые веса (XYZ):
Базовые веса (XYZ):
X: 0.50 Y: 0.50 Z: 0.60
X: 0.10 Y: 0.15 Z: 0.10
X: 0.40 Y: 0.35 Z: 0.30
8.
Модель данных и REST APIER-диаграмма (4 таблицы):
Группы REST API:
products
sales
· id, sku (UNIQUE)
· id, sku_id (FK)
· name, category
· quantity, price
· current_stock, unit
promotions
Авторизация
Товары & остатки
POST /api/auth/login
GET/POST/DELETE /api/products
Прогноз
Продажи
GET /api/products/{id}/forecast
GET/POST /api/sales/history,
/upload
Рекомендации
Сценарий
GET /api/reorder
POST /api/ml/scenario
Метрики ML
Отчёты
GET /api/ml/metrics/per-sku
GET /api/reports/summary
· sale_date
users
· sku_id, start_date
· id, username (UNIQUE)
· end_date, discount_pct
· password_hash (BCrypt)
· promo_type
· role, created_at
9.
Результаты оценки качества5.96 ед.
17.1%
+28.9%
16/20
MAE ансамбля
WMAPE ансамбля
Улучшение vs lag₇
SKU с MAPE 5–17 %
✓ Целевой порог MAE +20 % — превышен на 9 п.п. (28.9 % улучшение над наивным прогнозом lag₇)
SKU
Товар
MAE
MAPE
XYZ
Оценка
SKU-016
Кофе
1.05
13.1%
X
Отлично
SKU-012
Сыр
1.16
9.7%
X
Отлично
SKU-001
Молоко
6.50
7.2%
Y
Хорошо
SKU-004
Батон
5.62
8.0%
Y
Хорошо
SKU-008
Сок
6.21
24.8%
Z
Приемлемо
10.
Демонстрация программного обеспеченияDashboard — мониторинг запасов
Forecast — прогноз спроса
Молоко SKU-001
SKU-001 Молоко | 30 дней
Кофе SKU-016
Прогноз:
87 → 94 ед/день
Йогурт SKU-019
CI нижняя:
71 ед.
CI верхняя:
108 ед.
Топ продажи: Молоко, Батон, Вода
Scenario — анализ промо-акции
Скидка 20 % | 7 дней
Metrics — качество моделей
MAE ансамбля:
5.96 ед.
Базовый прогноз:
87 ед/день
WMAPE:
17.1 %
Промо-прогноз:
148 ед/день
Улучшение vs lag₇:
+28.9 %
Uplift:
+70 %
Последнее обучение:
09.06.2026
11.
СГТУ имени Гагарина Ю.А. | Кафедра ПИТ | 2026Основные результаты
✓
Ансамбль Chronos-Bolt + LSTM + XGBoost: MAE = 5.96, WMAPE = 17.1%, улучшение +28.9%
vs lag₇
✓
Микросервисная архитектура: Spring Boot + FastAPI + PostgreSQL + React 18 + TypeScript
✓
Адаптивные per-SKU веса + автоматическое еженедельное переобучение (APScheduler)
✓
Zero-shot прогноз для новых SKU без истории (Chronos-Bolt Foundation-модель)
✓
Алгоритм дозаказа с адаптивным страховым запасом на основе per-SKU MAE
Спасибо за внимание!
Кондратенко Кирилл Алексеевич · б1-ИФСТ-42 · Руководитель: ст. преп. кафедры ПИТ Пудиков А. С.