商业策略成长型企业应盯紧的 12 个 KPI,以及一块真正有人看的数据看板
覆盖销售、运营和财务的十二个 KPI,每个都有公式、负责人和查看频率。附一整个月的算例、看板设计规则,以及某个数字变红时该怎么做。
清洗销售历史,用简单的移动平均做预测,用 WAPE 和偏差衡量误差,再把预测变成能站得住脚的再订货点和安全库存。一个完整的 SKU 示例、每周 30 分钟的例会流程,以及机器学习何时才值得用。
Author
Anichur Rahaman

一家三店连锁的家居用品商,卖得最好的那款水壶每个货架上都空了。周五早上老板一进店,就有一位顾客在问能不能买展示样品,供应商说下一批货要两周后才到。与此同时,仓库角落里有一箱 140 个烛台,从去年 10 月放到现在,没人问津。
这不是谁偷懒。水壶的再订货点是几个月前凭感觉定的,那时它每周卖 30 个。现在每周卖 50 个,却没人重新算过。(这是一个虚构的场景,并非真实门店。)
要解决这个问题,并不需要数据科学团队。你需要的是干净的销售历史、一两个简单的公式,以及把精力放在真正重要的商品上的自觉。大部分收益来自几个小习惯,而不是复杂的模型。
本文用一个贯穿始终的示例,带你走完整个流程,示例中的 SKU 和那把水壶一样每周卖 50 件:清洗历史数据,用移动平均做预测,衡量误差,把预测变成可以信赖的再订货点,再判断每个 SKU 值得投入多少精力。示例中的所有数字均为假设数据。
系统记录的是销量,而你要预测的是需求:如果货架从没空过、也没发生任何异常,顾客本来会买多少。
两者的差距比很多人想的要大。一款商品断货三天,这三天的销量就是零,简单粗暴的预测会把它当成需求疲软。结果下一次订货量偏小,商品又断货。这个循环会悄悄压缩你最畅销商品的销售规模。
动用任何公式之前,先花十分钟看看每个重点 SKU 最近 8 到 12 周的数据,留意四件事:
下面是一个假设 SKU 八周的数据。第 2 周有一笔 10 件的一次性大宗订单;第 4 周该商品断货一天(按正常日均 50 ÷ 7 计算,约损失 7 件销量)。
| 周次 | 记录销量 | 调整 | 清洗后需求 |
|---|---|---|---|
| 1 | 44 | 0 | 44 |
| 2 | 71 | −10(大宗订单) | 61 |
| 3 | 52 | 0 | 52 |
| 4 | 31 | +7(断货一天) | 38 |
| 5 | 55 | 0 | 55 |
| 6 | 49 | 0 | 49 |
| 7 | 63 | 0 | 63 |
| 8 | 38 | 0 | 38 |
清洗后合计 400 件,平均需求为每周 50 件。原始合计是 403,几乎一样,但逐周的走势有两处被扭曲。扭曲有多大因商品而异,对销量更小的 SKU,这甚至可能直接改变结论。
普通平均值默认下周会和前几周差不多。有两种规律会打破这个假设。
趋势是几个月里销量缓慢上升或下降。如果一款商品连续一个季度每月增长 5%,那么最近八周的平均值永远会落后于现实。
季节性是反复出现的规律:冬季外套、开学前的文具、春节和双十一的购物高峰、雨季、婚庆旺季。最简单的处理办法是季节指数:某个月的平均销量除以全年各月的平均销量。12 月的指数是 1.4,就表示 12 月比普通月份多卖 40%。把基础预测乘以这个指数即可。
要靠谱地估算季节性,至少需要两年的历史。不到两年的话,就把去年同期当作粗略参考,再配合已知活动的日历,别太迷信它。
对于需求稳定的 SKU,移动平均很难被超越:把下周预测设为最近四周的平均值。它容易解释,容易手工核对,反应又足够迟缓,不会被随机波动牵着走。如果想进一步了解指数平滑,以及能加入趋势和季节性的其他方法,免费教材 Forecasting: Principles and Practice 是不错的下一步。
检验任何方法,最靠谱的做法是回测:假装现在是过去,预测你已经知道结果的几周,再对照。用上面清洗后的数据,四周移动平均对第 5 到第 8 周的预测如下:
| 周次 | 预测(前 4 周平均) | 实际 | 误差(实际 − 预测) | 绝对误差 |
|---|---|---|---|---|
| 5 | 48.75 | 55 | +6.25 | 6.25 |
| 6 | 51.50 | 49 | −2.50 | 2.50 |
| 7 | 48.50 | 63 | +14.50 | 14.50 |
| 8 | 51.25 | 38 | −13.25 | 13.25 |
| 合计 | 200.00 | 205 | +5.00 | 36.50 |
两个数字就能告诉你预测有没有用。
WAPE(加权绝对百分比误差)是总绝对误差除以总实际需求。按上表:36.5 ÷ 205 = 17.8%。它让销量大的商品占更大权重,当个别周销量很低时也不会失真,普通的 MAPE 做不到这一点。
偏差是总预测减去总实际,再除以总实际:(200 − 205) ÷ 205 = −2.4%。偏差为负,说明你一直预估偏低。如果偏差连续好几周停在同一侧,就该着手修正了,因为这意味着每一次订货都在朝同一个方向出错,要么偏小,要么偏大。
这两个指标要按 SKU 或品类分别跟踪,不要只看全店一个数。全店数字好看,可能掩盖了十几款一直预测不准的商品。也没有放之四海皆准的目标:稳定的日用品 WAPE 可以做到 10% 以下,而时尚单品即使是 40%,只要安全库存设置得当,照样能管好。
预测告诉你会卖多少,再订货点告诉你什么时候下单。规则很简单:
再订货点 = 提前期内的需求 + 安全库存
提前期内的需求等于周均需求乘以供应商的提前期。我们的 SKU 每周卖 50 件,供应商需要 2 周,所以提前期内的需求是 50 × 2 = 100 件。
安全库存是应对销量高于平均的那些周的缓冲。常用公式是:
安全库存 = z × σ × √L
在我们清洗后的数据中,各周与 50 的偏离分别是 −6、+11、+2、−12、+5、−1、+13、−12。它们的平方和为 644,644 ÷ 7 = 92,所以 σ = √92 ≈ 9.6 件。在 95% 的服务水平、L = 2 周时:
1.65 × 9.6 × √2 = 1.65 × 9.6 × 1.414 ≈ 22 件
再订货点 = 100 + 22 = 122 件。当可售库存(现有库存加在途库存,再减去已为顾客预留的部分)降到 122 件时,就该下单了。

这里的服务水平,指一个补货周期内不发生断货的概率。每多提高一点,成本都比上一点更高。
| 服务水平 | z | 安全库存 | 再订货点 |
|---|---|---|---|
| 90% | 1.28 | 17 | 117 |
| 95% | 1.65 | 22 | 122 |
| 99% | 2.33 | 32 | 132 |
从 95% 提到 99%,要多备 10 件,缓冲增加 45%,换来的是预期断货从大约每 20 个周期一次降到大约每 100 个周期一次。对主打商品来说,这是便宜的保险;对周转慢、占地方的商品则不然。
这个公式假定供应商守时。如果提前期本身也会波动,就用扩展公式 z × √(L × σ² + d² × σL²),其中 d 是周均需求,σL 是提前期(以周计)的标准差。实际操作上就是:记录每次真实的到货时间,对不守时的供应商多留一些缓冲。
再订货点告诉你什么时候下单,订多少则由目标水平决定:订够数量,把库存位置(现有库存加在途库存,再减去已预留的部分)补回到这个水平。每周复核时,一个实用的目标水平是:提前期内的需求,加上一个复核周的需求,再加安全库存:50 × 3 + 22 = 172 件。如果检查时库存位置是 118,订货量就是 172 − 118 = 54 件。
然后套上供应商的条件。如果最小起订量是 60 件,或者商品按每箱 12 件发货,54 都要向上取整到 60。流程图画出了完整的每周决策,包括数据检查这一步,它能防止断货的那一周把下周的订货量压小。

你不可能对每个 SKU 一视同仁。两种快速分类可以帮你决定精力往哪放。
ABC 按价值给商品排序。按通行做法,A 类是贡献约 80% 收入的头部商品,B 类是接下来的 15%,C 类是最后的 5%。XYZ 按可预测性排序,用变异系数(σ ÷ 平均需求)衡量。常见的分界线是:X 低于 0.5,Y 在 0.5 到 1.0 之间,Z 高于 1.0。可以按自己的业务调整。
我们这个示例 SKU 的变异系数是 9.6 ÷ 50 = 0.19,属于 X。如果它同时是畅销品,就是 AX:最适合自动再订货点加每周复核的类型。

比起标签,更重要的是习惯:CZ 类商品不该占用你每周一个小时,AZ 类商品也不能只交给公式了事。
机器学习模型在以下几种情况下才物有所值:
对于只有几百个 SKU、历史数据又短的小店,它并不合适:做好数据清洗的移动平均通常同样准确,而且让人放心得多。一个你无法向采购人员讲清楚的模型,采购人员最后还是会凭自己的判断推翻它。
无论选哪种方法,检验标准都一样:在你自己的回测上,拿它和一个简单基线比。如果它在 WAPE 上没有明显优于移动平均,那就继续用移动平均。在投入任何复杂方案之前,先把基础打牢:准确的库存盘点、每一笔库存变动的记录,以及干净的销售历史。把这些集中管理的软件,比如 StoreConsole 的库存模块,能让清洗这一步少很多手工操作。下面这段简短的演示,展示了按 SKU 设置的低库存提醒,以及为预测提供依据的库存变动记录。
预测只有变成习惯才有回报。前期设置完成后,这套流程半小时就能走完。
每个季度,重新审视 ABC/XYZ 分类,更新季节指数,并用最新的 σ 和实测提前期重新计算安全库存。
回到那把水壶。有了 122 件的再订货点和上面的每周流程,可售库存一碰到 122 就下单,此时货架上还剩大约两周半的销量。烛台属于 CZ 类,不再占着仓库角落,而是每季度被问一次“留还是不留”。周五照样会有意外,但不会再是这一种。
Anichur Rahaman 是一名软件架构师,也是 StoreConsole 的创建者。他为成长型企业设计电商与 ERP 系统,专注于事件驱动架构、数据完整性和自托管部署。
About the Author
Anichur Rahaman
Continue Reading