硬约束层:八条一票否决的规则
硬约束是布尔闸门。一个承运商服务要么通过、要么失败,任何一条失败就直接出局,无论它多便宜。被淘汰的候选永远不进入评分,因为分数可以藏住致命缺陷:一个成本分很高的承运商,无法弥补一个它兑现不了的交付承诺。
检查顺序同样重要。便宜的本地检查先跑:邮编覆盖、重量限制、地址格式。昂贵的远程检查后跑:实时费率调用、地址验证 API、容量查询。一条排好序的管线,可以用一次本地查询淘汰大部分候选,不花一分钱 API 费用。
1. 地址与可达性
USPS 能触达全国每一个住宅地址,但区域承运商不能。每个区域网络只服务特定的州和邮编集合,而且覆盖范围会随着网络扩张而变化[^5]。可达性是第一道闸门:这家承运商在物理上能不能送到这个地址?
地址类型和地理一样重要。PO Box 和 APO/FPO 军事地址必须走 USPS[^6]。阿拉斯加、夏威夷和波多黎各有自己的服务规则和附加费。偏远和乡村邮编在一些承运商那里产生附加费,在另一些承运商那里直接超出服务范围。地址应该在选商开始之前就完成验证和标准化,而不是在面单买完之后。
2. 包裹限制
每个服务都有物理上限:最小和最大重量、最大尺寸,以及会改变大件轻泡货实际成本的 DIM 计费规则。一个超出区域承运商最大箱规的包裹根本不是候选,到此为止。
品类再叠一层。危险品、锂电池、液体和易碎品各有自己的承运商白名单。接得下箱子、接不了内容的承运商照样出局。规则引擎需要在应用任何规则之前拿到包裹画像(重量、尺寸、品类)。
3. 结账交付承诺
这是最直接保护承诺的一条规则。每个服务都宣传一个时效窗口,客户在结账时看到的送达预估就来自这个窗口。自动化必须比较两者:任何承诺时效比结账承诺慢的服务直接出局,即使它是系统里最便宜的选择。
客户为速度付钱时,规则更严。如果有人为加急付了费,只有真正能兑现该承诺的服务才有资格。这正是自动化最容易翻车的地方,因为数据很容易被忽略:服务表写 2 到 5 天,结账承诺写 3 天,而成本优先的选择器看不见这个差值。
4. 运力与截单时间
一家承运商可能可达、在限制之内、也够快,但今天就是不可用。每家承运商都有揽收截单时间。过了截单,货今天就走不了;如果结账承诺假设了今天揽收,这家承运商本单出局。截单必须按承运商、按服务、按仓点、对照仓点时区的当前时间逐项检查。
旺季还会叠加运力上限、每日订单配额和批量限制,临时把一些承运商移出合格集。已公告的中断、节假日安排和临时停运应该喂给同一个闸门。今天早上还好的承运商,Q4 下午三点可能就不可用了,规则引擎应该把它当作硬事实,而不是意外。
5. 全口径成本
费率报价不是成本。全口径成本是基础运费加上燃油附加费、住宅和偏远附加费、超大件和 DIM 费用、保险,以及按预期分摊的退货成本份额。费率层面看起来差不多的两个报价,把所有附加费加上之后可能差出好几美元。
成本在系统里扮演两个角色。作为硬约束,预算上限可以在策略需要时移除承运商,比如某个品类必须把运费压到某个价格以下才能盈利。作为评分因子,成本给幸存者排序。记住这条规则:只有在承诺已满足之后才比较成本,绝不在那之前。
6. 追踪要求
平台要求追踪,而且会强制执行。亚马逊、eBay 和 Walmart 都要求在规定窗口内上传追踪号并完成首次扫描,亚马逊和 Walmart 还把有效追踪率与准时送达一起纳入卖家绩效评估[^4]。一个追踪能力满足不了平台规则的服务直接出局,因为不合规的惩罚,不值得省下的任何费率。
客户有自己的预期:末端扫描、可见的 ETA、送达通知。追踪不足的服务,即使包裹准时到达,也输掉了客户体验。拿不准的时候,把追踪薄弱当作一票否决,而不是折扣。
7. 备用承运商
每条自动化管线都需要一个「首选承运商失败时怎么办」的答案,而且这个答案必须在那一刻到来之前就定好。明确降级链:首选、次选、三级。备用不是「谁有空用谁」,而是预先决定、并且针对相同线路验证过的承运商服务。
备用承运商必须通过与首选相同的硬约束。而且当备用承运商改变了送达日期,新的 ETA 必须流回客户和平台,因为一个悄悄改变的承诺,只是多绕了几步的失约。
降级链要预先定义,而不是临场发挥
8. 人工复核条件
有些订单永远不该自动决策。把条件明确写出来:无法验证或疑似欺诈的地址、超过金额阈值的高价值件、新产品品类或新邮编或新区域首次出现,以及没有任何承运商能通过全部硬约束的订单。规则冲突是信号,不是错误:它说明数据或规则需要关注,应该让人先看一眼,而不是让机器猜。
缺失或过期的覆盖数据,值得同样的待遇。拿不准数据的时候,转人工复核。几单的人工检查成本,相比一次自动化错误决策的成本,微不足道。