# 24H换单率计算逻辑最终修正 - v5.0 **更新日期**: 2026-05-16 **版本**: v5.0 - 24H换单率完整定义 **状态**: ✅ 编译通过 --- ## 核心修正:24H换单率的正确含义 ### 用户提供的场景说明 ``` 场景1:冻结标签率 = 79% (< 80%,低标签率) ├─ 100个应该完成的订单 ├─ 规则:完成即达标 ├─ 24H完成数:80个 └─ 局部24H换单率 = 80 / 100 = 80% 场景2:冻结标签率 = 80% (>= 80%,高标签率) ├─ 100个应该完成的订单 ├─ 规则:按16点前后分段+考核时间 ├─ 考核通过数:75个(16点前通过 + 16点后通过) └─ 局部24H换单率 = 75 / 100 = 75% 汇总: ├─ 低标签率:80个完成 + 100个应该完成 = 80% ├─ 高标签率:75个考核通过 + 100个应该完成 = 75% └─ 整体24H换单率 = (80 + 75) / (100 + 100) = 155 / 200 = 77.5% ``` ### 关键洞察 **24H换单率应该按照"标签率维度"分别计算,然后汇总**: | 标签率维度 | 应该完成数 | 完成/通过数 | 计算 | 含义 | |----------|---------|----------|------|------| | 低标签率(<80%)| 100 | 24H完成=80 | 80/100 | 完成即达标的24小时完成情况 | | 高标签率(≥80%)| 100 | 考核通过=75 | 75/100 | 按规则考核通过的情况 | | **整体** | **200** | **155** | **155/200** | **整体24小时的履约达成率** | --- ## SQL 实现修改 ### 新增 CTE 1: DailyLowLabelRate24HCompleted ```sql DailyLowLabelRate24HCompleted AS ( SELECT ar.到货日期 AS 日期, COUNT(DISTINCT ar.NeutralWaybillNumber) AS 低标签率24H完成数 FROM ArrivalRequests ar INNER JOIN OverallScanStatus oss ON ar.NeutralWaybillNumber = oss.NeutralWaybillNumber WHERE oss.曾成功 = 1 AND oss.首次成功时间 IS NOT NULL -- 低标签率订单:考核时间为NULL(完成即达标) AND ar.考核时间 IS NULL GROUP BY ar.到货日期 ) ``` **说明**: - 统计冻结标签率 < 80% 的订单在24H内完成的数量 - 这些订单的规则是"完成即达标",所以只需统计"曾成功"的 ### 新增 CTE 2: DailyHighLabelRateAssessed ```sql DailyHighLabelRateAssessed AS ( SELECT 日期, SUM(16点前考核通过包裹数) + SUM(16点后考核通过包裹数) AS 高标签率考核通过数 FROM ( SELECT 日期, 16点前考核通过包裹数, 0 AS 16点后考核通过包裹数 FROM DailyBeforeNoonPassed UNION ALL SELECT 日期, 0 AS 16点前考核通过包裹数, 16点后考核通过包裹数 FROM DailyAfternoonPassed ) t GROUP BY 日期 ) ``` **说明**: - 统计冻结标签率 ≥ 80% 的订单中,根据16点前/后分段规则考核通过的数量 - 注意:这里不包括"低标签率考核通过包裹数"(那些本来就是标签率<80%的) ### 修改24H换单率计算 ```sql 24H换单率 = (低标签率24H完成数 + 高标签率考核通过数) / (低标签率应该换单数 + 高标签率应该换单数) × 100% ``` **这个公式的构成**: - **分子**: - `低标签率24H完成数`:标签率<80%且24H内完成的订单 - `高标签率考核通过数`:标签率≥80%且按规则考核通过的订单 - **分母**: - `低标签率应该换单数`:所有标签率<80%的订单总数 - `高标签率应该换单数`:所有标签率≥80%的订单总数 --- ## 数据流示例 ### 完整的日报表数据 ``` 【输入数据】 低标签率维度 (冻结标签率 < 80%): ├─ 低标签率应该换单数: 100 ├─ 低标签率24H完成数: 80 ├─ 低标签率24H换单率: 80/100 = 80% 高标签率维度 (冻结标签率 >= 80%): ├─ 高标签率应该换单数: 100 ├─ 16点前考核通过: 40 ├─ 16点后考核通过: 35 ├─ 高标签率考核通过数: 40 + 35 = 75 ├─ 高标签率24H换单率: 75/100 = 75% 【计算】 整体24H换单率 = (低标签率24H完成数 + 高标签率考核通过数) / (低标签率应该换单数 + 高标签率应该换单数) = (80 + 75) / (100 + 100) = 155 / 200 = 77.5% 【输出】 日期: 2026-05-16 低标签率应该换单数: 100 高标签率应该换单数: 100 低标签率24H完成数: 80 高标签率考核通过数: 75 16点前考核通过包裹数: 40 16点后考核通过包裹数: 35 24H换单率: 77.5% ``` --- ## 关键字段说明 ### 新增字段 | 字段 | 含义 | 来源 | 说明 | |------|------|------|------| | 低标签率24H完成数 | 标签率<80%的24H完成订单数 | DailyLowLabelRate24HCompleted | 完成即达标的24小时完成情况 | | 高标签率考核通过数 | 标签率≥80%的考核通过订单数 | DailyHighLabelRateAssessed | 16点前考核通过 + 16点后考核通过 | ### 24H换单率计算逻辑 ``` 24H换单率用途:衡量24小时内的整体履约达成率 分子 = 低标签率24H完成 + 高标签率考核通过 = 所有在24H内满足规则的订单 分母 = 低标签率应该换单 + 高标签率应该换单 = 所有应该完成的订单总数 结果 = 分子 / 分母 = 整体24小时的履约达成情况 ``` --- ## 完整的指标体系(最终版) ### 基础统计指标(11个) ``` 日期、当日新增换单数、当日换单失败、当日换单成功数、当日STOP数、 16点前到仓、16点后到仓、当日完成数、24H内完成数、 当日标签推送数、当日扫描数 ``` ### 递推计算指标(2个) ``` 累计要换的总单数、当天应该换单数 ``` ### 逻辑相关指标(1个) ``` 换单失败未完结订单 ``` ### 考核维度指标(3个) ``` 16点前考核通过、16点后考核通过、低标签率考核通过 ``` ### 标签率维度指标(2个) ``` 高标签率应该换单数、低标签率应该换单数 ``` ### 衍生计算指标(4个) ``` 考核通过总数、当天换单完成率、24H换单率、数据拉取时间 ``` ### 24H换单率支撑字段(2个) ``` 低标签率24H完成数、高标签率考核通过数 ``` --- ## 编译状态 ✅ **编译成功** - 所有新增CTE已定义 - 24H换单率计算公式已修正 - JOIN语句已更新 - 无编译错误 --- ## 业务意义总结 **24H换单率 = 77.5% 说明**: 在当日的200个应该完成的订单中: - 100个是标签率低的订单 → 80个在24H内完成 (80%) - 100个是标签率高的订单 → 75个满足规则并通过考核 (75%) - 整体:155个完成/通过 → **77.5%的整体履约达成** 这个指标对客户有说服力,因为: 1. 分子是实际完成的订单(不区分标签率) 2. 分母是应该完成的订单总数(统一标准) 3. 结果反映了整个团队的24小时履约能力