销量预测“准确率 90%”,为什么门店还是又断货又报废
预测的目标从来不是准,是让下游那个决策变得更好。这两件事经常不是一回事。
几乎每个做过销量预测的团队都报过一个漂亮的准确率。但门店那边的感受往往没变:该断的还在断,该扔的还在扔。问题通常不在模型,在于用错了衡量标准。
问题一:平均准确率掩盖了要命的那几天
整体误差 10% 听起来不错,但如果误差集中在周末和节假日——恰恰是销量最高、缺货损失最大的那几天——那么这个模型在最需要它的时候最不准。我们更看重的是分位数表现:高峰日的预测偏差有多大,尾部风险有多高。
实践上的做法是分场景评估:工作日/周末、平日/节假日、新店/成熟店分开看误差,而不是报一个总数。经常会发现总体误差 10% 的模型,在节假日的误差是 35%。
问题二:缺货和报废的代价根本不对称
大多数模型默认高估和低估一样糟,因为它们优化的是平方误差。但现实里:少备一份生鲜,损失是一单毛利加上顾客体验;多备一份,损失是成本价。这两个数字往往差好几倍,而且方向相反。
正确的做法是把成本结构直接写进目标——报童模型那套逻辑:最优备货量对应的分位数,由缺货成本与报废成本的比值决定。缺货成本是报废成本的 3 倍,你就该按 75% 分位数备货,而不是按预测的期望值。换句话说,好的备货量本来就应该系统性地高于预测销量,这不是模型不准,是它在正确地承担风险。
问题三:给了一个数,没给不确定性
单点预测扔给门店,店长只能凭经验决定要不要在这个数上加一点。而模型其实知道自己什么时候没把握——新品上市、天气突变、周边有大型活动,这些时候预测区间会明显变宽。把区间交出去,下游才能做出“这几天不确定性大,多留点缓冲”的判断。
我们交付的结果表里一定有三列:预测值、区间下界、区间上界,外加一列“本次预测的置信程度”。门店不需要理解统计学,只需要知道今天这个数靠不靠谱。
问题四:模型上线后没人回头看
预测模型会随时间衰减——门店结构变了、菜单改版了、外卖占比变了,模型还在用老的规律。我们的做法是把误差回顾直接做进交付的看板:每周自动对账,把上周的预测和实际摆在一起,误差超过阈值就标红。这样谁都能看见模型什么时候开始不行了,而不是等到损耗率异常才想起来。
怎么判断一个预测项目做得好不好
- 它报的是分场景误差,还是一个总的准确率?
- 它优化的是预测误差,还是缺货与报废的总成本?
- 它给的是一个数,还是一个区间?
- 它有没有把回测和持续监控做进交付物?
这四个问题问下来,基本能分辨对方是在做模型,还是在做汇报材料。