Сервис прогнозирования поставок на склады маркетплейсов по модели FBO для международного бренда канцелярских товаров
Бизнес сталкивается с дисбалансом запасов: одни SKU быстро уходят в Out of Stock и теряют выручку, другие «зависают» на складе и замораживают оборотные средства. Нужен сервис, который прогнозирует продажи и спрос, поставки на склады маркетплейсов и формирует рекомендации для категорийных менеджеров и логистов. Это инструмент управления запасами, автоматизирующий расчёты и планирование поставок на Ozon и Wildberries.
Клиент — международный бренд канцелярских товаров с 29-летней историей и присутствием в 65 странах мира, один из самых узнаваемых на российском рынке.
Нашей целью было — обеспечить устойчивую товарную доступность для отгрузок на склады маркетплейсов при минимальных запасах: снизить OOS и потери выручки, минимизировать финансовые потери от дисбаланса запасов и сократить операционные издержки за счёт автоматизации аналитики / прогнозирования, разгрузив категорийных менеджеров.
Задачи
Сбор и анализ данных. Обработка исторических и текущих данных о продажах, заказах и поставках по модели FBO (Fulfillment by Operator) из БД клиента.
Выявлять сезонность и аномалии для коррекции прогнозов.
Построить точные автопрогнозы спроса (до 90%) и поставок по каждому SKU×склад. Настроить расчет прогноза складских поставок и спроса/продаж по выбранному маркетплейсу и кластерам/регионам. Прогноз должен основываться на истории продаж, коэффициентах роста, маркетинговой деятельности, географическом распределении спроса.
Реализовать модуль прогноза спроса с учётом ручных корректировок клиента (период, маркетплейс, кластер/регион, товары «в пути») и автоматическим пересчётом. Предусмотреть очистку данных: выявлять и исключать аномальные всплески заказов без фактического выкупа.
Реализовать модуль бизнес-анализа: каждому SKU присваивать категорию по двухфакторному ABC-анализу (выручка × количество заказов). Использовать категорию для интерпретации качества прогноза (разные пороги/допуски по классам) и выводить её в отчётах / таблице результатов.
Разделить товары на группы на основе их вклада в выручку и стабильности/частоты продаж с помощью ABC-анализа.
Реализовать модуль управления данными: сохранять результаты расчётов в БД.
Автоматизировать пороги срабатывания алертов. Подсветка и/или сигнализация угрозы 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-анализа отдельно для каждого критерия
Анализ по Выручке
Отсортировали все товары по убыванию выручки.
Рассчитали накопительную долю выручки от общего итога.
Присвоили категории:
A-Выручка: товары, дающие первые ~80% совокупной выручки.
B-Выручка: следующие ~15% совокупной выручки.
C-Выручка: оставшиеся ~5% совокупной выручки.
Анализ по Количеству Заказов:
Отсортировали все товары по убыванию количества заказов.
Рассчитали накопительную долю от общего количества заказов.
Присвоили категории по тому же принципу:
A-Заказы: товары с наибольшим количеством продаж (часто покупаемые).
B-Заказы: товары со средним количеством продаж.
C-Заказы: товары, которые продаются редко.
Шаг 3. Присвоили комбинированные категории
Мы создали матрицу, где по вертикали — категория по Выручке (A, B, C), а по горизонтали — категория по Заказам (A, B, C). В результате получилось 9 групп.
Каждый товар получил двухбуквенный код в зависимости от своих позиций в двух анализах. Например, товар с высокой выручкой (A), но средним количеством заказов (B) попадает в категорию AB.
Критерии и интерпретация категорий товаров
AA: самые ценные товары. Дают основную выручку и стабильно продаются. Ключевые для бизнеса.
AB: высокая выручка, но продаются не так часто, как AA. Это могут быть товары с высокой ценой.
AC: высокая выручка, но достигается за счет редких, но очень крупных заказов. Спрос нестабилен и сложен для прогнозирования.
BA: средняя выручка, но высокий оборот. Основа ассортимента по стабильности.
BB: стандартные товары со средними показателями по обоим критериям.
BC: средняя выручка и низкая частота. Кандидаты на удаление из ассортимента.\
CA: много мелких заказов, но в сумме выручка низкая. Могут создавать высокую операционную нагрузку при низкой отдаче.
CB: низкая выручка, средняя частота.
CC: товары с минимальным вкладом. Основные кандидаты на распродажу и вывод из ассортимента.