运输时效预测模型静态路由时效的计算与验证物流行业的时效承诺依赖的是时效预测。客户问什么时候能到运营给出的时间是预测出来的。这个预测来自数仓的静态路由时效表。静态路由时效是什么静态路由时效表dw.time_rule_ewb_static_route存储的是每个运单的计划时效。计算逻辑根据运单的寄件网点和派件网点计算从收件到签收的计划时间。一个运单从上海发到北京经过的路径可能是上海网点 → 上海分拨 → 北京分拨 → 北京网点 → 签收静态路由时效会计算每一段的计划时间网点到首分拨4小时首分拨到末分拨8小时末分拨到网点4小时网点到签收2小时总计18小时这个18小时就是预测的配送时间。预测的数据基础时效宽表预测需要验证验证需要实际时效。实际时效从哪来从扫描轨迹表dw.bs_tracks_inc提取。扫描轨迹表是长表一个运单对应十几行扫描记录waybillnoactiontypeorgcodetimeWB0011100S0012026-05-01 08:00:00WB0012100C0012026-05-01 10:00:00WB0012200C0012026-05-01 10:30:00WB0011500D0012026-05-02 09:00:00时效宽表是宽表一个运单对应一行每个节点的时间各占一列waybillnoreceive_timefirst_center_arr_car_timelast_center_send_car_timesign_timeWB00108:0010:0018:0009:001d从长表变宽表核心是分拨路径还原——识别首分拨、中转分拨、末分拨提取每个节点的到车时间、发车时间。产出表dwd.ewb_sub_act_plan_node_time_analysis_h预测的计算方法静态路由时效的计算不是简单的点到点距离÷速度。实际逻辑获取运单的路由信息寄件网点、派件网点、计划经过的分拨中心查询每个节点的计划时间从时效配置表获取每个节点的计划停留时间累加计算总时效各节点计划时间之和数据来源运单基础信息表获取寄件网点、派件网点时效配置表dw.opm_qll_delivery_time获取各节点的计划时间最优路线方案表dim.route_optimal_plan_details获取计划路由产出表dws.ewb_sub_act_plan_node_time_analysis这张表在时效宽表的基础上增加了计划时效字段字段说明plan_route_hour_time计划时效小时act_route_hour_time实际时效小时plan_sign_time计划签收时间预测的验证方式预测准不准需要用历史数据验证。验证逻辑计划时效 vs 实际时效的偏差分析SELECTsend_site_code,dispatch_site_code,AVG(plan_route_hour_time)ASavg_plan_time,AVG(act_route_hour_time)ASavg_act_time,AVG(act_route_hour_time-plan_route_hour_time)ASavg_diffFROMdws.ewb_sub_act_plan_node_time_analysisWHEREds${dt}GROUPBYsend_site_code,dispatch_site_code偏差分析线路计划时效实际时效偏差上海→北京18h20h2h上海→广州24h22h-2h北京→武汉12h15h3h偏差为正说明预测偏乐观实际比计划慢。偏差为负说明预测偏保守实际比计划快。预测准确率-- 准时率实际时效 ≤ 计划时效的比例SUM(CASEWHENact_route_hour_timeplan_route_hour_timeTHEN1ELSE0END)*100.0/COUNT(*)预测模型的局限静态路由时效的预测有几个局限1. 路由变化计划路由和实际路由经常不一致。运单计划走上海分拨实际走了杭州分拨。这种情况计划时效需要重新计算。解决在DWS层判断实际路由是否和计划路由一致。不一致时用实际路由重新计算计划时效。2. 异常事件天气、交通、设备故障等异常事件会影响时效。静态路由时效无法预测这些异常。解决在时效宽表中标记异常运单分析时排除异常数据。3. 数据质量扫描轨迹缺失、时间错误会影响实际时效的准确性。解决到车和到件时间要兜底COALESCE同一分拨多次扫描要取min/max。时效预测模型的数据架构┌─────────────────────────────────────────────────────────────┐ │ 数据源层 │ ├─────────────────────────────────────────────────────────────┤ │ 扫描轨迹表 运单基础表 时效配置表 最优路由表 │ │ dw.bs_tracks dwd.ewb_basic dw.opm_qll dim.route │ │ _inc _detail_hour _delivery_time _optimal │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ DWD层 │ ├─────────────────────────────────────────────────────────────┤ │ 时效宽表实际时效 │ │ dwd.ewb_sub_act_plan_node_time_analysis_h │ │ - 扫描轨迹 → 分拨路径还原 → 节点时间 │ │ - 实际时效首分拨到末分拨的时间 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ DWS层 │ ├─────────────────────────────────────────────────────────────┤ │ 时效对比宽表计划实际 │ │ dws.ewb_sub_act_plan_node_time_analysis │ │ - JOIN静态路由时效表 → 计划时效 │ │ - 计划时效 vs 实际时效 → 偏差分析 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ ADS层 │ ├─────────────────────────────────────────────────────────────┤ │ 时效预测准确性分析 │ │ st.whole_route_via_optimal │ │ - 各线路预测准确率 │ │ - 偏差TOP N线路 │ └─────────────────────────────────────────────────────────────┘总结时效预测模型的核心预测依据静态路由时效表根据运单点到点计算的计划时效验证数据时效宽表从扫描轨迹提取的实际时效预测准确性计划时效 vs 实际时效的偏差分析数仓的职责是构建时效宽表、计算计划时效、验证预测准确性。运营的职责是根据预测时效给客户承诺根据偏差分析优化调度。时效预测不是猜测是数据驱动的计算与验证。