55.74K

Презентация (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 API
ER-диаграмма (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 · Руководитель: ст. преп. кафедры ПИТ Пудиков А. С.
English     Русский Rules