Шаблоны для автоматизации анализа Out-of-Stock: расчеты, таблицы, матрицы
На практике автоматизация управления Out-of-Stock (OOS) требует четко оформленных шаблонов — это зафиксированные структуры данных, алгоритмы расчетов, логика связи между объектами. Они являются основой для:
- аналитических витрин;
- BI-визуализации;
- построения алертов;
- прогнозов и действий.
В этом модуле мы разберем три ключевых шаблона:
- Расчет OOS-метрик
- Таблицы причинно-следственного анализа
- Матрицы Store x SKU
Каждый из них описан в формате: структура, логика заполнения, примеры использования, автоматизация, работа с рисками.
Шаблон 1. Расчет OOS-метрик
Назначение: автоматизированный расчет ключевых количественных и качественных показателей, отражающих уровень отсутствия товаров.
Структура таблицы (витрина dm_oos_metrics)
|
Поле |
Тип |
Описание |
|---|---|---|
|
Date |
date |
Дата наблюдения |
|
Store_ID |
string |
Идентификатор магазина |
|
SKU_ID |
string |
Идентификатор товара |
|
Sales_Qty |
integer |
Продажи за день |
|
Stock_Qty |
integer |
Остаток на начало дня |
|
Forecast_Qty |
float |
Прогноз на день |
|
Is_OOS |
integer |
Флаг отсутствия (1 = OOS, 0 = нет) |
|
OOS_Type |
string |
Тип: shelf или store |
|
Lost_Sales |
float |
Расчетные потери в штуках |
|
Lost_Revenue |
float |
Потери в деньгах |
|
Time_Supply |
float |
Дней запаса при текущем спросе |
|
Is_KVI |
boolean |
Признак ключевого товара |
|
Day_Of_Week |
integer |
День недели (для анализа шаблонов) |
|
Is_Promo |
boolean |
Флаг промо-периода |
Расчетные формулы
Is_OOS = CASE WHEN Stock_Qty = 0 AND Sales_Qty = 0 AND Forecast_Qty > 0 THEN 1 ELSE 0 END OOS_Type = CASE WHEN Stock_Qty = 0 AND Delivery_Qty = 0 THEN 'store' WHEN Stock_Qty = 0 AND Delivery_Qty > 0 THEN 'shelf' ELSE NULL END Lost_Sales = CASE WHEN Is_OOS = 1 THEN Forecast_Qty - Sales_Qty ELSE 0 END Lost_Revenue = Lost_Sales * Avg_Price Time_Supply = CASE WHEN Avg_Daily_Sales > 0 THEN Stock_Qty / Avg_Daily_Sales ELSE NULL END
BI-автоматизация
- Построение трендов по SKU, категории, магазину
- Геокарта уровней доступности
- Дашборд потерь и структуры их причин
Шаблон 2. Таблица причинно-следственного анализа
Назначение: систематизация причин возникновения OOS и их связей с событиями в данных.
Структура таблицы (в Excel или в витрине dm_oos_root_causes)
|
SKU_ID |
Store_ID |
Date |
Причина |
Признак |
Основание в данных |
|---|---|---|---|---|---|
|
000123 |
R001 |
2024-06-01 |
Phantom Inventory |
1 |
Stock_Qty > 0, Sales_Qty = 0, 3 дня подряд |
|
000456 |
R002 |
2024-06-01 |
Shelf OOS |
1 |
Был Delivery, но продаж нет, Stock > 0 |
|
000789 |
R005 |
2024-06-01 |
Неполная поставка |
1 |
Delivery < 70% от заказа, Stock = 0 |
|
001222 |
R003 |
2024-06-01 |
Занижен прогноз |
1 |
Forecast < факт спроса, OOS повторяется |
Методология использования
- Витрина заполняется SQL-алгоритмами на основе правил
- Каждое событие получает гипотезу причины
- Возможны множественные причины с приоритетами
BI-автоматизация
- Кольцевая диаграмма причин OOS
- Фильтрация инцидентов по причинам
- Drill-down от категории к SKU
Риски и контроль
|
Риск |
Мера контроля |
|---|---|
|
Неверная атрибуция причины |
Введение логики приоритетов |
|
Отсутствие объяснимости |
BI-дашборд с правилами формирования причин |
|
Причина задана вручную |
Логирование и визуализация ручных исправлений |
Шаблон 3. Матрица Store x SKU
Назначение: инструмент для визуального анализа инцидентов и системного планирования действий.
Структура таблицы
|
SKU / Store |
Store_001 |
Store_002 |
Store_003 |
Store_004 |
|---|---|---|---|---|
|
SKU_001 |
OOS |
✔ |
OOS |
✔ |
|
SKU_002 |
✔ |
✔ |
✔ |
OOS |
|
SKU_003 |
OOS |
OOS |
✔ |
OOS |
|
SKU_004 |
✔ |
✔ |
✔ |
✔ |
Значения ячеек:
- ✔ — нет OOS
- OOS — зафиксирован инцидент
- Возможна детализация: "OOS (shelf)", "OOS (phantom)", "OOS > 2 дня"
Использование
- Горячая карта: где системно возникают провалы
- Определение ключевых магазинов с частыми проблемами
- Распределение усилий: фокус на SKU, где инциденты массовые
BI-автоматизация
- Визуализация матрицы через heatmap
- Фильтр по категории, региону, KVI
- Возможность выбора SKU и анализа всех магазинов
Методика автоматического построения
- SQL-запрос генерирует pivot-таблицу
- Присваивается статус по правилам OOS (как в витрине dm_oos_metrics)
- BI-система визуализирует таблицу + дашборд по итогу (например, "5 SKU дают 80% OOS")
Эти шаблоны — основа для системной и автоматизированной работы с Out-of-Stock. Они дают структуру, логику и воспроизводимость аналитики, позволяют быстро масштабировать подход, а главное — не теряться в деталях при росте числа товаров, магазинов, источников. В реальных проектах такие шаблоны оформляются как часть проектной документации, передаются в DWH-команду, а затем используются в BI и ML-слоях для построения витрин, отчетности и автоматических действий.



