首页/数据/数仓建模速查/案例:物流运单域建模
建模基础69 条

案例:物流运单域建模

物流域:运单主事实 + 轨迹事件事实 + 网点/路由维度;时效(发运-签收)、完好率、成本三类指标分开表达,逆向单独立标记。

数仓建模速查数据更新于 2026-10-13

物流域的模型骨架

物流域的主干是运单主事实加轨迹事件事实,配上网点、线路、承运商三类维度。时效、完好率、成本三组指标分开表达:时效看发运到签收,完好率看破损与丢失,成本看运费与附加费。逆向单(拒收、退回、改址)必须单独标记,否则正向时效与成本核算都会被污染。路由信息是时效分析的关键,按线路聚合比按网点聚合更接近真实运营视角。

基本信息

主事实运单里程碑与当前状态
事件事实扫描轨迹,节点级明细
维度网点、线路、承运商、区域
指标时效、完好率、成本、异常件率
逆向标记拒收、退回、改址单独标识

典型使用场景

  • 时效考核:按线路、承运商、区域对比发运到签收时长
  • 成本核算:按运单重量、体积与线路核对承运费用
  • 异常管理:破损、丢失、超时未更新运单的跟踪清单
  • 路由优化:分析常用中转路径与各节点的停留时长
  • 逆向物流:退换货的时效与成本单独统计考核

轨迹事实与时效

轨迹事实与时效
-- 轨迹事实:节点级扫描记录
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;

建模对象对照

建模对象内容要点
运单主事实里程碑与状态时效计算的主要来源
轨迹事实扫描事件节点滞留排查的依据
网点与线路维组织与路由编码变更需做新旧对照
逆向单拒收、退回必须单独标记,避免污染正向口径
时效考核按线路而非按网点聚合:网点维度会把不同线路混在一起,平均值受线路结构影响,掩盖真实的时效变化。
网点与线路编码会随组织调整变化,新旧编码对照表要有人维护,否则历史路由分析会在调整点前后断层,趋势无法比较。

易错点

  • 轨迹缺少逆向标记,正向时效与成本被污染
  • 网点编码变更未做新旧对照,历史路由分析断层
  • 只建主事实不建轨迹,滞留排查缺少节点依据
  • 成本核算用理论重量而非计费重量,与承运商对账长期有差异

数据来源与参考

  • 物流数仓实践:运单与轨迹模型
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌