ПРОГНОЗ ОСТАТКОВ
Сервис прогнозирования поставок на склады маркетплейсов по модели FBO для международного бренда канцелярских товаров
О проекте
Международный бренд канцелярских товаров с 29-летней историей и присутствием в 65 странах мира, один из самых узнаваемых на российском рынке
Бизнес сталкивается с дисбалансом запасов: одни SKU быстро уходят в Out of Stock и теряют выручку, другие «зависают» на складе и замораживают оборотные средства. Нужен сервис, который прогнозирует продажи и спрос, поставки на склады маркетплейсов и формирует рекомендации для категорийных менеджеров и логистов. Это инструмент управления запасами, автоматизирующий расчёты и планирование поставок на Ozon и Wildberries
топ РФ
Один из самых узнаваемых брендов в РФ
65 стран
присутствие в странах мира
29 лет
непрерывного развития бренда
Подходит для:
e-commerce / b2c, b2b-маркетплейсов / промышленности / стройматериалов / оборудования / электронных компонентов / FMCG / дистрибьюторы / компании с собственными складами
Возможности
-
ИНТЕЛЛЕКТУАЛЬНОЕ УПРАВЛЕНИЕ ЗАПАСАМИ
Прогноз по связке SKU×склад/канал сбыта, баланс между отсутствием товара (OOS) и перетариванием для любых категорий продукции.
-
ОПТИМИЗАЦИЯ ОБОРОТНОГО КАПИТАЛА И ЛОГИСТИКИ
Выровненное планирование поставок, снижение доли «замороженного» капитала на складе и сокращение логистических затрат в разных регионах и каналах.
-
ТОЧНОЕ ML-ПРОГНОЗИРОВАНИЕ И АВТОМАТИЗАЦИЯ АНАЛИТИКИ
Учёт сезонности, акций и рыночных трендов в планах поставок, авторасчёты и автосверки вместо Excel и ручных сводных таблиц.
-
АВТОАЛЕРТЫ И АНОМАЛИИ
Своевременная подсветка угроз OOS, перетаривания и «зависших» остатков по любому складу или каналу продаж.
-
Единая масштабируемая витрина данных
Продажи, остатки и прогнозы из разных систем и маркетплейсов в одном интерфейсе для управления тысячами SKU и множеством каналов сбыта.
Цель
Обеспечить устойчивую товарную доступность для отгрузок на склады маркетплейсов при минимальных запасах: снизить OOS и потери выручки, минимизировать финансовые потери от дисбаланса запасов и сократить операционные издержки за счёт автоматизации аналитики / прогнозирования, разгрузив категорийных менеджеров.
Задачи
- Сбор и анализ данных. Обработка исторических и текущих данных о продажах, заказах и поставках по модели FBO (Fulfillment by Operator) из БД клиента.
- Выявлять сезонность и аномалии для коррекции прогнозов.
- Построить точные автопрогнозы спроса (до 90%) и поставок по каждому SKU×склад. Настроить расчет прогноза складских поставок и спроса/продаж по выбранному маркетплейсу и кластерам/регионам. Прогноз должен основываться на истории продаж, коэффициентах роста, маркетинговой деятельности, географическом распределении спроса.
- Реализовать модуль прогноза спроса с учётом ручных корректировок клиента (период, маркетплейс, кластер/регион, товары «в пути») и автоматическим пересчётом. Предусмотреть очистку данных: выявлять и исключать аномальные всплески заказов без фактического выкупа.
- Реализовать модуль бизнес-анализа: каждому SKU присваивать категорию по двухфакторному АВС-анализу (выручка × количество заказов). Использовать категорию для интерпретации качества прогноза (разные пороги/допуски по классам) и выводить её в отчётах / таблице результатов.
- Разделить товары на группы на основе их вклада в выручку и стабильности/частоты продаж с помощью АВС-анализа.
- Реализовать модуль управления данными: сохранять результаты расчётов в БД.
- Автоматизировать пороги срабатывания алертов. Подсветка и/или сигнализация угрозы OOS (Out Of Stock) и перетаривания склада.
- Генерировать рекомендации для категорийных менеджеров и логистов по пополнению складов.
- Реализовать модуль визуализации результатов: выводить таблицу с полями SKU, ITEMID, прогноз поставок на маркетплейсы, прогноз продаж, оборачиваемость и рекомендованная поставка. Обновлять данные в таблице после пересчёта прогноза.
Что сделали
Мы разработали и внедрили сервис прогнозирования спроса на базе ML-модели, которая еженедельно строит прогнозы для ~11 000 SKU на горизонте от 2 недель до 1 года.
Модель учитывает:
— риски,
— эластичность спроса,
— остатки на складах,
— продажи,
— сезонность,
— тренды.
Сервис применяет ML-подходы к данным о продажах и остатках на Ozon и Wildberries, позволяет клиенту задавать параметры (период прогноза, маркетплейс, кластер/регион) и вручную корректировать значения поставок, а также автоматически формирует рекомендации по пополнению, снижая объём ручной работы.
Для консолидации источников предусмотрено сопоставление полей и приведение отчётов маркетплейсов к единому формату; данные регулярно обогащаются новыми выгрузками по реализациям, заказам и историям остатков. Результаты отображаются в веб-сервисе с дашбордами и табличным выводом.
Этапы проекта
Начали с создания надежного математического ядра и постепенно довели систему до полноценной промышленной интеграции, минимизируя ручной труд и максимизируя прибыль
#1 Создание прототипа и утверждение точности
-
Начальный этап проекта посвящен валидации математической модели и бизнес-логики. Мы разработали и протестировали прототип, который позволяет анализировать результаты расчетов.
-
Мы использовали механизмы машинного обучения для детального анализа исторических и текущих данных о продажах.
-
Цель этого анализа — выделить ключевые триггеры, сезонность и аномальные всплески продаж, чтобы на них формировать прогнозы спроса/продаж и высчитывать необходимое количество SKU для поставки на склады маркетплейсов. Данные мы брали из базы клиента (остатки, продажи, заказы).
-
Прототип позволил провести эксперименты и выбрать оптимальные ML-модели для промышленного внедрения, обеспечивающие максимально точный прогноз спроса и продаж.
-
Это гарантировало, что система готова к промышленному внедрению и способна сформировать надежные прогнозы на срок до 1 года, который, в свою очередь, строится на основании прогноза продаж и спроса.
#2 Промышленный запуск и обязательный функционал
-
Этот этап был ключевым, поскольку обеспечивал достижение основной бизнес-цели — максимально эффективного управления складскими запасами. Мы довели модель и модули расчёта и рекомендаций до готовности к промышленной интеграции.
-
Мы настроили регулярное обогащение данных новыми отчетами о реализациях, заказах и историями остатков, а также учитывали исторические остатки по каждому SKU на протяжении всего анализируемого периода. Техническая команда обеспечила сопоставление полей из разных отчетов маркетплейсов для приведения данных к единому виду.
-
При расчете прогноза система учитывала аномальные всплески по заказам, не завершившимся выкупом, чтобы «вычистить» их из общего прогноза продаж и корректно рассчитать потребность.
-
Пример: Клиент вводит ручные корректировки (период прогноза, маркетплейс, кластер/регион поставки и количество товаров в пути). После нажатия кнопки «СДЕЛАТЬ ПРОГНОЗ» система рассчитывает прогноз поставок.
-
Кроме того, мы внедрили двухфакторный АВС-анализ (по выручке и количеству заказов), чтобы присвоить каждому товару категорию. Это необходимо для правильной интерпретации точности прогноза, поскольку позволяет придать больший вес товарам, которые максимально влияют на общий результат.
-
В результате мы получили табличный вывод в веб-сервисе, который включает:
• SKU,
• ITEMID,
• прогноз поставок на склады,
• прогноз продаж,
• оборачиваемость товара (сколько дней осталось до OOS),
• рекомендации по поставке.
Все результаты расчетов обязательно сохраняются в базе данных.
#3 Выстроили прогнозирование OOS и пополнение запасов
-
Настроили единую систему алертов и детекции аномалий: сервис автоматически выявляет угрозу OOS (если запас < X дней), перетаривание и «зависшие» остатки (если запас > Y дней), а также возможные ошибки в заказах и нетипичные всплески/провалы. Пороги алертов автоматизированы, уведомления отправляются в рабочие каналы. Это снижает риск OOS, сокращает недополученную выручку и экономит время категорийных менеджеров. Для категорийных менеджеров и логистов формируются объяснимые рекомендации — сколько и когда пополнить, с возможностью принять решение в один клик.
-
Результат — интеллектуальный сервис, который не просто предсказывает спрос, но и помогает менеджерам принимать решения по управлению запасами.
#4 Спланировали масштабирование
-
Эти необязательные, но полезные дополнения повысят уровень автоматизации и аналитической глубины.
-
На первом этапе расширения мы добавим дополнительные ручные поля для корректировки прогноза, такие как «Страховой запас на случай форс-мажоров».
-
Также мы реализуем функцию «Скачать Excel», которая выгружает прогноз в формате, совместимом с шаблоном поставки маркетплейса, что позволяет сразу подгрузить файл в личный кабинет для создания поставки.
-
Кроме того, улучшим систему фильтрации результатов, включая фильтрацию по оборачиваемости и угрозам.
-
На следующем этапе расширения мы углубим интеграцию и аналитику.
-
Добавим:
• интеграцию с календарем маркетплейсов для подсветки периодов акций;
• дополнительные поля данных о продажах, такие как средние уровни заказов, текущий остаток, сток в пути и процент выкупа SKU, с корректировкой поставки на этот показатель;
• график фактических и прогнозируемых продаж с доверительным интервалом и визуальное отображение текущего остатка на складе клиента;
• отдельный интерфейс с интеграцией в CRM/ERP заказчика. -
В результате получим ещё более прозрачные и прогнозируемые бизнес-процессы, практически полное исключение ручных операций по формированию поставочных файлов и глубокую аналитику, учитывающую внешние факторы и эффективность выкупа товара.
Аналитика
После получения прогноза спроса от модели машинного обучения мы применили ABC-анализ, чтобы с учётом влияния товаров на выручку и частоты продаж корректно расставить приоритеты и корректно дать рекомендации по поставкам на склад.
#1 Подготовили данные
Собрали данные за определённый периоды по каждому SKU со всех каналов маркетплейсов.
#2 Провели два независимых ABC-анализа отдельно для каждого критерия
Анализ по Выручке
- Отсортировали все товары по убыванию выручки.
- Рассчитали накопительную долю выручки от общего итога.
-
Присвоили категории:
- А-Выручка: товары, дающие первые ~80% совокупной выручки.
- В-Выручка: следующие ~15% совокупной выручки.
- С-Выручка: оставшиеся ~5% совокупной выручки.
Анализ по Количеству Заказов
- Отсортировали все товары по убыванию количества заказов.
- Рассчитали накопительную долю от общего количества заказов.
-
Присвоили категории по тому же принципу:
- А-Выручка: товары с наибольшим количеством продаж (часто покупаемые)
- В-Выручка: товары со средним количеством продаж.
- С-Выручка: товары, которые продаются редко.
#3 Присвоили комбинированные категории
Мы создали матрицу, где по вертикали — категория по Выручке (А, В, С), а по горизонтали — категория по Заказам (А, В, С). В результате получилось 9 групп.
| А-ЗАКАЗЫ (ЧАСТЫЕ) | В-ЗАКАЗЫ (СРЕДНИЕ) | С-ЗАКАЗЫ (РЕДКИЕ) | |
|---|---|---|---|
| А-Выручка (Высокая) |
AA
|
AB
|
AC
|
| В-Выручка (Средняя) |
BA
|
BB
|
BC
|
| С-Выручка (Низкая) |
CA
|
CB
|
CC
|
Каждый товар получил двухбуквенный код в зависимости от своих позиций в двух анализах. Например, товар с высокой выручкой (А), но средним количеством заказов (В) попадает в категорию АВ.
Критерии и интерпретация категорий товаров
- AA: самые ценные товары. Дают основную выручку и стабильно продаются. Ключевые для бизнеса.
- AB: высокая выручка, но продаются не так часто, как АА. Это могут быть товары с высокой ценой.
- AC: высокая выручка, но достигается за счет редких, но очень крупных заказов. Спрос нестабилен и сложен для прогнозирования.
- BA: средняя выручка, но высокий оборот. Основа ассортимента по стабильности.
- BB: стандартные товары со средними показателями по обоим критериям.
- BC: средняя выручка и низкая частота. Кандидаты на удаление из ассортимента.
- CA: много мелких заказов, но в сумме выручка низкая. Могут создавать высокую операционную нагрузку при низкой отдаче.
- CB: низкая выручка, средняя частота.
- CC: товары с минимальным вкладом. Основные кандидаты на распродажу и вывод из ассортимента.
| АРТИКУЛ | ПРЕДМЕТ | СУММА ПРОДАЖИ | КОЛ-ВО УПАКОВОК | КАТЕГОРИЯ |
|---|---|---|---|---|
| 123456 | Тетрадь 48 л | 50 000 | 500 | AA |
| 234567 | Карандаши набор | 30 000 | 100 | AB |
| 345678 | Пластилин | 5 000 | 300 | CA |
Stack
| Слой / Компонент | Инструменты и сервисы |
|---|---|
| Back-end |
Python
Pydantic
FastAPI
SQLAlchemy
Openpyxl
|
| Frontend |
React
TypeScript
Vite
Chart.js
|
| ML |
CatBoost
Prophet
MLflow
Apache Airflow
Pandas
|
| Хранение данных |
PostgreSQL
Redis
Alembic
|
| Хостинг |
On-premise
|
Результаты и аналитика
| МЕТРИКИ | СТАЛО |
|---|---|
| Точность прогнозов | 91% |
| Снижение OOS | 28% |
| Экономия оборотных средств | меньше «замороженного» капитала |
| Равномерная отгрузка по складам и снижение логистических издержек | снизилось |
| Экономия времени категорийных менеджеров за счёт автоматизации | снизилось |
Со стороны OSMI IT проект вели
МШ
Михаил Шрайбман
CEO OSMI IT
фасилитировал взаимодействие и проектную логику
АФ
Алексей Фролов
Менеджер проекта
контролировал работу команды, сроки и качество
ДН
Денис Нагаев
CTO OSMI IT
обеспечивал, контролировал технические и архитектурные решения и реализацию
Нужен похожий проект?
Оставьте контакты — мы быстро оценим задачу, подготовим план и расскажем, как достичь ваших целей.