物流域的模型骨架
物流域的主干是运单主事实加轨迹事件事实,配上网点、线路、承运商三类维度。时效、完好率、成本三组指标分开表达:时效看发运到签收,完好率看破损与丢失,成本看运费与附加费。逆向单(拒收、退回、改址)必须单独标记,否则正向时效与成本核算都会被污染。路由信息是时效分析的关键,按线路聚合比按网点聚合更接近真实运营视角。
基本信息
| 主事实 | 运单里程碑与当前状态 |
|---|---|
| 事件事实 | 扫描轨迹,节点级明细 |
| 维度 | 网点、线路、承运商、区域 |
| 指标 | 时效、完好率、成本、异常件率 |
| 逆向标记 | 拒收、退回、改址单独标识 |
典型使用场景
- 时效考核:按线路、承运商、区域对比发运到签收时长
- 成本核算:按运单重量、体积与线路核对承运费用
- 异常管理:破损、丢失、超时未更新运单的跟踪清单
- 路由优化:分析常用中转路径与各节点的停留时长
- 逆向物流:退换货的时效与成本单独统计考核
轨迹事实与时效
轨迹事实与时效
-- 轨迹事实:节点级扫描记录
CREATE TABLE fact_waybill_track (
waybill_no string,
node_code string COMMENT '网点或中转场编码',
scan_type string COMMENT '扫描类型:到件/发件/派送',
scan_ts timestamp,
operator string
) PARTITIONED BY (dt string) STORED AS ORC;
-- 时效按线路聚合,比按网点聚合更贴近运营视角
SELECT route_code, avg(timestampdiff(hour, ship_ts, sign_ts)) AS avg_h
FROM fact_shipment WHERE sign_ts IS NOT NULL
GROUP BY route_code;建模对象对照
| 建模对象 | 内容 | 要点 |
|---|---|---|
| 运单主事实 | 里程碑与状态 | 时效计算的主要来源 |
| 轨迹事实 | 扫描事件 | 节点滞留排查的依据 |
| 网点与线路维 | 组织与路由 | 编码变更需做新旧对照 |
| 逆向单 | 拒收、退回 | 必须单独标记,避免污染正向口径 |
时效考核按线路而非按网点聚合:网点维度会把不同线路混在一起,平均值受线路结构影响,掩盖真实的时效变化。
网点与线路编码会随组织调整变化,新旧编码对照表要有人维护,否则历史路由分析会在调整点前后断层,趋势无法比较。