Пример модели данных DWH для SCOR
SCOR-ориентированное хранилище данных: архитектура, ER-модель и практическое применение
Цель модели DWH в рамках SCOR
Хранилище данных (DWH) для SCOR необходимо для хранения, консолидации и анализа информации по ключевым операциям цепочки поставок: Plan, Source, Make, Deliver, Return. Оно обеспечивает единое хранилище «истины» для всех участников — от операционных логистов до стратегических директоров, и поддерживает построение BI-отчетности, мониторинга KPI и сценарного анализа.
Архитектура DWH для SCOR
Модель следует многозвенной архитектуре Kimball с использованием звездной схемы (Star Schema) и частично — Data Vault для трассировки изменений.
Типовая архитектура:
- Stage Layer — сырые данные из ERP, WMS, CRM, TMS, Excel
- Core Layer — нормализованные хабы и линк-таблицы (для Data Vault)
- Mart Layer — денормализованные витрины по доменам SCOR
Основные факт-таблицы SCOR-модели
Каждая SCOR-доменная область (Plan, Source, Make, Deliver, Return) отражается в своей витрине.
F_SupplyPlan — Планирование поставок
- grain: SKU + Неделя + Склад
- измерения: товар, склад, неделя, сценарий
Поля:
|
Поле |
Тип |
Описание |
|---|---|---|
|
Plan_ID |
string |
Идентификатор плана |
|
SKU_ID |
string |
Товар |
|
Location_ID |
string |
Локация (завод, склад) |
|
Week |
date |
Неделя планирования |
|
Forecast_Qty |
numeric |
Прогноз |
|
Planned_Production |
numeric |
План производства |
|
Planned_Purchase |
numeric |
План закупки |
F_PurchaseOrders — Заказы поставщикам
- grain: PO_ID + SKU
|
Поле |
Тип |
Описание |
|---|---|---|
|
PO_ID |
string |
ID заказа |
|
Supplier_ID |
string |
Поставщик |
|
SKU_ID |
string |
Товар |
|
PO_Date |
date |
Дата заказа |
|
Planned_Delivery |
date |
План поставки |
|
Actual_Delivery |
date |
Факт поставки |
|
Qty_Ordered |
numeric |
Объем |
|
Qty_Received |
numeric |
Принято |
|
Price |
numeric |
Цена |
F_SalesOrders — Отгрузки клиентам (Deliver)
- grain: Order_ID + SKU
|
Поле |
Тип |
Описание |
|---|---|---|
|
Order_ID |
string |
Номер заказа |
|
Customer_ID |
string |
Клиент |
|
SKU_ID |
string |
Продукт |
|
Order_Date |
date |
Дата заказа |
|
Ship_Date |
date |
Дата отгрузки |
|
Delivery_Date |
date |
Дата доставки |
|
Qty_Ordered |
numeric |
Кол-во заказано |
|
Qty_Shipped |
numeric |
Кол-во отгружено |
|
Return_Flag |
boolean |
Есть возврат |
F_InventorySnapshot — Снимки остатков
- grain: SKU + Локация + Дата
|
Поле |
Тип |
Описание |
|---|---|---|
|
Snapshot_ID |
string |
ID снимка |
|
SKU_ID |
string |
Продукт |
|
Location_ID |
string |
Склад |
|
Snapshot_Date |
date |
Дата снимка |
|
On_Hand_Qty |
numeric |
Остаток на складе |
|
Reserved_Qty |
numeric |
Резерв |
|
In_Transit_Qty |
numeric |
В пути |
Измерения (Dimensions)
|
Таблица |
Назначение |
|---|---|
|
D_SKU |
Справочник товаров |
|
D_Date |
Календарь (день, неделя, месяц, квартал, год) |
|
D_Location |
Склады, заводы, хабы |
|
D_Supplier |
Поставщики |
|
D_Customer |
Клиенты |
|
D_Scenario |
Тип плана: факт, базовый прогноз, оптимистичный, пессимистичный |
|
D_Return_Reason |
Причины возврата |
|
D_Process_Step |
Этап SCOR-процесса |
Примеры метрик и формул
Forecast Accuracy (по SKU):
Accuracy = 1 - ABS(Forecast_Qty - Actual_Sales_Qty) / Actual_Sales_Qty
Inventory Turns:
Turns = Sales_Qty / Average_Inventory_Qty
On-Time Delivery:
OTD = COUNT(Orders WHERE Delivery_Date <= Promise_Date) / COUNT(All Orders)
Supplier Reliability Index:
Index = 0.6 * OTD + 0.4 * In-Full
Типовые ошибки при проектировании
|
Ошибка |
Причина |
Как исправить |
|---|---|---|
|
Информация дублируется в фактах и измерениях |
Отсутствует нормализация |
Вынести в dimension |
|
Модель не поддерживает историчность |
Нет SCD2 |
Ввести Effective_From / Effective_To |
|
Нет сценариев планирования |
Все в одном плане |
Использовать измерение D_Scenario |
|
Невозможно построить SLA |
Нет фактической даты поставки |
Добавить Actual_Delivery_Date в PO и Orders |
Как работает BI с этой моделью
-
Пользователь: Планировщик
BI-интерфейс: Витрина F_SupplyPlan
Ценность: Сравнение сценариев, корректировка планов
-
Пользователь: Менеджер по логистике
BI-интерфейс: F_SalesOrders + F_InventorySnapshot
Ценность: Отчет по SLA и управлению остатками
-
Пользователь: Финансовый аналитик
BI-интерфейс: Витрины заказов и остатков
Ценность: Оценка затрат на склад, анализ оборота запасов
-
Пользователь: Руководство
BI-интерфейс: KPI-дашборды
Ценность: Видимость всей цепи поставок в разрезе метрик SCOR



