4. 达成率指标定义与计算口径
在交付表现分析中,最容易引发争议的往往不是数据本身,而是“口径”。同一批订单,销售说达成率是 96%,供应链说是 89%,客户满意度调查却显示只有 82%——差异通常来自三个地方:分母选了什么、分子认定了什么、时间窗口怎么切。本节把订单达成率、准时交付率、完美订单率三个核心指标逐一拆开,明确业务含义、计算公式与实现要点,并给出可直接落地的 SQL 口径示例。
一、订单达成率:回答“承诺的,做到了多少”
订单达成率的业务含义是:在统计周期内,企业实际完成交付的订单占承诺应交付订单的比例。它衡量的是整体履约能力,而不是单点时效。公式为:
订单达成率 = 实际完成交付订单数 / 承诺应交付订单数 × 100%
口径上有三个关键决策点。第一,分母是“承诺交付”还是“客户要求交付”?若客户要求 3 月 10 日、企业承诺 3 月 15 日,应以承诺日期为准,否则会把企业自身承诺宽松的错误算成客户的问题。第二,分子是否包含部分交付?通常只有整单完成才计入,部分发货不计入达成,但可在明细中单独标记。第三,取消订单如何处理?建议将“统计周期内客户取消”的订单从分母剔除,而“企业原因取消”保留在分母中并计入未达成,这样才能真实反映履约责任。
实现时,订单主表通常包含 order_id、promise_date、actual_delivery_date、order_status、cancel_reason 等字段。一个可用的口径实现如下:
SELECT
COUNT(DISTINCT CASE WHEN actual_delivery_date IS NOT NULL
AND order_status = 'COMPLETED' THEN order_id END) AS fulfilled_orders,
COUNT(DISTINCT CASE WHEN NOT (order_status = 'CANCELLED'
AND cancel_reason = 'CUSTOMER') THEN order_id END) AS promised_orders,
ROUND(fulfilled_orders / promised_orders * 100, 2) AS fulfillment_rate
FROM orders
WHERE promise_date BETWEEN '2024-03-01' AND '2024-03-31';
注意:分母用 promise_date 落在统计周期内来筛选,而不是用实际交付日期,否则会漏掉“承诺在 3 月但拖到 4 月才交付”的逾期订单,导致达成率虚高。
二、准时交付率:回答“按时做到的,有多少”
准时交付率(On-Time Delivery, OTD)聚焦时间维度,衡量实际交付日期不晚于承诺日期的订单占比。公式为:
准时交付率 = 准时交付订单数 / 实际交付订单总数 × 100%
它与订单达成率的分母不同:达成率的分母是“承诺应交付”,准时率的分母是“实际已交付”。这意味着准时率不惩罚“未交付”,只惩罚“交付了但晚了”。因此两个指标必须成对看:达成率高、准时率低,说明交付量够但节奏乱;达成率低、准时率高,说明交付的都很准时,但大量订单根本没交付出来。
时间粒度的选择直接影响结果。按“日”判定时,承诺 3 月 15 日、实际 3 月 15 日 23:00 交付算准时;按“小时”判定则可能因截止时间 18:00 而算逾期。工程上建议在订单承诺时同时记录 promise_date 和 promise_cutoff_time,判定时用完整时间戳比较:
准时判定 = CASE WHEN actual_delivery_ts <= promise_ts THEN 1 ELSE 0 END
此外要明确“交付”的确认事件:是出库扫描、承运商揽收,还是客户签收?三者时间可能相差数天。多数制造与零售场景以“客户签收”为交付确认点,因为它最贴近客户感知;若以出库为准,需在指标命名中标注“出库准时率”,避免与客户侧口径混淆。
三、完美订单率:回答“一次做对的比例”
完美订单率(Perfect Order Rate, POR)是复合指标,要求一笔订单同时满足多个条件才算“完美”。常见四要素为:准时、完整、无损、单据准确。公式为:
完美订单率 = 同时满足全部条件的订单数 / 订单总数 × 100%
它的价值在于防止“拆东墙补西墙”:某月准时率 95%、完整率 97%、无损率 99%,若三个事件独立,完美率约为 95%×97%×99% ≈ 91.2%;但现实中它们往往正相关(赶工导致破损和缺货同时上升),实际完美率可能更低。因此 POR 是交付质量的“综合体检分”。
实现时建议用布尔标记逐项判定,再取交集:
SELECT
ROUND(SUM(CASE WHEN on_time AND complete AND undamaged AND doc_accurate
THEN 1 ELSE 0 END) / COUNT(*) * 100, 2) AS perfect_order_rate
FROM order_delivery_fact
WHERE order_date BETWEEN '2024-03-01' AND '2024-03-31';
其中 complete 表示数量无短溢、undamaged 表示无破损退货、doc_accurate 表示发票与装箱单无差错。每个布尔字段都应有明确的判定规则和数据来源,否则 POR 会变成“拍脑袋指标”。
四、三指标的关系与联合解读
把三个指标放在同一张看板上,能快速定位问题类型。假设某月数据为:承诺应交付 1000 单,实际交付 920 单,其中准时 850 单,完美订单 780 单。则订单达成率 = 920/1000 = 92.0%,准时交付率 = 850/920 = 92.4%,完美订单率 = 780/1000 = 78.0%。
| 指标 | 分子 | 分母 | 示例值 | 主要暴露的问题 |
|---|---|---|---|---|
| 订单达成率 | 实际完成交付订单数 | 承诺应交付订单数 | 92.0% | 产能不足、缺料、订单取消 |
| 准时交付率 | 准时交付订单数 | 实际交付订单总数 | 92.4% | 排程冲突、物流延误、赶工 |
| 完美订单率 | 四要素全满足订单数 | 订单总数 | 78.0% | 破损、短溢、单据差错、综合质量 |
从示例可见,达成率与准时率都在 92% 左右,但完美率只有 78%,说明“交付了、也基本准时了,但一次做对的比例明显偏低”。此时应优先排查破损与单据差错,而不是继续压缩交付周期。若达成率 92%、准时率仅 80%,则问题集中在排程与物流时效;若达成率仅 80%、准时率 95%,则说明大量订单未能交付,需回到产能与供应端。
order_delivery_fact 事实表,把 on_time、complete、undamaged、doc_accurate 四个布尔字段与订单粒度对齐,三个指标即可从同一张表派生,避免各系统各算一套、口径打架。最后强调一点:指标公式本身不难,难的是让业务、财务、供应链和客户对同一套口径达成共识。建议把每个指标的定义、分子分母、数据来源、排除规则、更新频率写成一份《交付指标口径说明书》,并在报表页脚标注版本号与生效日期。只有这样,达成率、准时交付率、完美订单率才能真正成为可比较、可追溯、可改进的管理工具,而不是每月争论不休的数字游戏。