返回文章列表
2026年7月07日
约 6 分钟

如何做一个能生产的预测:从一个数字到四层体系

预测存在,不代表预测体系存在。把一个数字拆成四层生产线,用偏差率代替准确率做评价,再给预测装上五类异常的监控告警。

周一早上八点,运营在群里问:华东这个仓下周三能出多少件?算法同事回了一个数:352 万。

这个对话每家公司都在发生。问题不在于这个数准不准,在于从它被说出口的那一刻起,就没有人知道它明天会变成什么样。下周二模型重训,数变成了 381 万。是切仓了?上游数据断了?还是模型自己抽风?没人答得上来,补货单却每天照着这个数在下。

我管这个阶段叫”一个数字的幻觉”:预测存在,预测体系不存在。这半年我做的第一件事,就是把预测从一个数字拆成一套体系。拆完再回看,那个数字本身反而是最不值钱的部分。

四层:一个数字是怎么被生产出来的

我们的预测不是一个模型直接算的,它要过四道工序:

预测的四层生产线:L1 原始融合、L2 算法策略、L3 业务策略、L4 人工调整

  • L1 原始融合层:几个基础模型的原始输出做融合,没人碰它。
  • L2 算法策略层:算法侧选优和规则修正在这里生效,比如剔除缺货日的脏样本。
  • L3 业务策略层:业务的总量预期、大促安排在这里进入。
  • L4 人工调整层:计划员手工改出来的最后一版,真正拿去下单的是它。

为什么要分这么细?因为不分层的时候,预测出了错你连锅都找不到。数偏了,是模型错了,是业务预期拍错了,还是计划员改飞了?四层分开跑、分开留痕,每一层的贡献和罪过都能单独核算。这个设计后来救了我们很多次,本系列第 02 篇会讲到它在模型选择里的用处。

准确率是面子,偏差率是里子

分层之后第一个问题:哪个模型好?

直觉答案是谁准确率高谁好。我们看了几个月数据,结论挺打击人:候选池里几个模型的准确率差距常年不到 1 个百分点,今天的第一名下个月就掉回去。30 天的评估窗口里,“最准的模型”大概率只是”这 30 天运气最好的模型”,排名基本是噪声。

真正把模型区分开的是另一个指标:

偏差率 = (预测总量 − 实际总量) ÷ 实际总量

有的模型稳定偏高 5%,有的稳定偏低 6%。准确率都差不多,可一个天天让你多备货,一个天天让你缺货,对生意的影响南辕北辙。我们看板上一度同时挂着偏差率 −6.2% 到 +8.5% 的几个模型(示意数字),准确率那一栏却几乎看不出差别:

同一批模型:WMAPE 差距不足 1 个百分点,偏差率却从 -6.2% 跨到 +8.5%

从那天起,我们内部评价模型,先问偏差,再谈准确率。

五类异常:预测会怎么死

体系化之后,我们给预测上了监控。盘下来,预测的”死法”一共五种:

  1. 突变。今天的运行和昨天比,同一窗口内仓级总量环比跳了 30%。多半是切仓或上游断流。
  2. 漂移。单日环比看不出来,拉 8 天对比,整个预测水平在缓慢爬坡或下坡。模型在悄悄劣化。
  3. 系统性偏差。连续三天预测对实际同方向偏离且超阈值。这个最要命,偏高了积压,偏低了缺货,补货单天天在按它执行。
  4. 断跑与缺失。整层没跑、预测归零、行数腰斩。检查成本最低,优先级却最高,因为下游会拿旧值甚至零值继续跑。
  5. 层间失真。这是分层架构独有的礼物。L1 稳如老狗而 L3 突变,问题出在业务策略层;L4 大幅偏离 L3,说明人工调整需要复核。相邻两层的差值一算,异常是哪层引入的一目了然:
层间差 = (L(n+1) − L(n)) ÷ L(n)

告警不分级,等于没有告警

监控上线第一周,群里每天几十条告警,三天后就没人看了。这个坑做告警的人几乎都踩过。我们后来把告警压成三档:

级别含义通知方式
P1确定性事故即时推送 + @负责人
P2当日需关注每日汇总一次
P3留档观察只落表,不推送

再加两条降噪规则:同一个仓连续命中才升级;切仓窗口内的仓自动降级为留档,因为切仓期预测本来就会跳,那是业务动作,不是异常。

改完之后告警量掉了八成,处理率反而上来了。告警的价值不在于发出多少条,在于每一条都有人当真。

这套东西和 AI 进展有什么关系

这两年时序基础模型很热,TimesFM、Chronos 这一类,号称零样本就能打。我的看法可能要泼点冷水:模型会越来越好换,今年接一个基础模型,明年可能换个 Agent 来调参,但上面这套体系,一层都不会被换掉。恰恰相反,模型越强、换得越勤,你越需要一套不依赖具体模型的治理框架来回答”新模型到底好不好”。模型是流水的兵,体系才是铁打的营盘。

下一篇讲体系里最微妙的一环:当业务经验和模型输出打架,到底听谁的。答案不是二选一,而是给业务经验安排一个正确的位置。


附录:4L 分层与五类告警速查表

两个关键指标

WMAPE = Σ|预测 − 实际| ÷ Σ实际        (看准确度)
偏差率 = (Σ预测 − Σ实际) ÷ Σ实际       (看方向)

五类异常规则

规则逻辑用途
A 环比突变今日运行 vs 昨日运行,同窗口仓级总量切仓、上游断流、重训突变
B 8 日漂移t-8 / t-1 / t-0 三次运行同窗口日均值对比渐进式劣化
C 三日系统偏差最近 3 个完成日预测 vs 实际,同号且均值超阈积压 / 缺货风险
D 断跑缺失无运行 / 总量归零 / 行数较前 7 日腰斩数据事故,最高优先级
E 层间失真相邻层同窗口总量差定位异常引入层

降噪四条

  1. 同一仓 × 同一规则连续命中,第 2 天升一级,第 3 天升 P1;
  2. 切仓窗口内(生效前 1 天 ~ 后 3 天)的仓命中自动降级为 P3;
  3. 基准缺失(昨日无运行、分母为 0)标”无基准”,不产生告警;
  4. 命中后回到阈值内置为”已恢复”,周报体现。

规则 C 只对最终生效层(L4)告警,其余层留档——谁背准确率谁被告警,避免各层互相甩锅。


供应链实战系列 · 第 01 篇 · 卷一「预测篇」| 下篇:当业务经验和模型打架 文中数字均为 DEMO 示意,非真实业务数据。