安全库存的算法其实就一句话:Z值 × 需求标准差 × 根号补货周期。把服务水平、需求波动、补货周期这三笔账算清楚,断货和积压两个毛病能一次治好。
2024年9月,我去丰塔纳一家电商仓做诊断。28万平方英尺,卖家居收纳的,旺季一天能出2万多单。老板愁眉苦脸:去年秋季大促,一个爆款收纳箱断货11天,眼睁睁看着大约4万美金的销售额泡汤——补货船还在海上,库里一件现货都没有。
有意思的是,三个月后我在安大略一家3PL仓看到完全相反的画面:12万平方英尺的仓,给一个客户囤了9个月的慢动SKU,压了将近60万美金的货,库位费照收,货主天天催着降库存。
两个老板问的是同一个问题:到底该囤多少?我的答案也一样:别拍脑袋,算。
先定服务水平:你想保住几成的单子
安全库存的第一个变量,是你愿意接受多大的断货概率。统计学上叫服务水平,对应一个Z值:
| 想保住的单子比例 | Z值 |
|---|---|
| 90% | 1.28 |
| 95% | 1.65 |
| 97.5% | 1.96 |
| 99% | 2.33 |
| 99.9% | 3.09 |
这里有个取舍很多人没算过:服务水平从95%提到99%,Z值从1.65涨到2.33,安全库存直接多出41%。钱是实打实多花的,服务提升却只有4个百分点。
所以我给客户的建议从来都是分级:A类畅销品定95%~98%,B类常规品定90%~95%,C类长尾货要么不设安全库存,要么象征性设一点。拿C类的钱去保99%的服务水平,纯属糟蹋钱。
那99.9%(Z=3.09)是给谁准备的?断不起的货:医药、关键备件、跟大客户签了缺货罚则的订单。这种货安全库存贵得肉疼,但断一次的代价更肉疼。普通电商仓的常规品,用到2.33就到头了,再往上纯属跟自己的现金流过不去。
分级还有个现实依据:一个3000个SKU的仓,A类通常只占一两成的SKU,却贡献七八成的销售额。把最贵的保险买给最赚钱的货,把便宜的方案留给长尾,这才是安全库存该有的样子。一刀切定个95%,看着公平,其实是让C类吸A类的血。
需求波动:平均数是最会骗人的数字
第二个变量是需求标准差。很多仓算安全库存,拿的是平均日销量——这是最大的坑。
两个SKU,日均都是200件:一个每天雷打不动190~210件,另一个平时80件、大促一天800件。平均数一模一样,安全库存能一样吗?当然不能。
标准差就是把这种忽上忽下量化出来。算法不复杂:导出这个SKU过去12周每周(或每天)的出库量,电子表格里一个标准差函数就出来了。数据不够12周?那就用你有的数据,8周也比拍脑袋强。

还有个经验法则可以快速判断:变异系数 = 标准差 ÷ 平均值。低于0.5,需求算稳定;0.5~1,波动明显,安全库存要上心;超过1,这种SKU得重点盯,促销、季节、渠道变化都可能让它爆。我一般先拿变异系数扫一遍全仓,超过1的SKU单独拎出来复核,省时省力。
新品没有历史数据怎么办?两种办法:找店里最像的老品,把它的数据抄过来先用;或者前两个月按保守值设高一点,8周数据攒够了立刻回头校准。最忌讳的是新品按平均值设个"看着顺眼"的数,然后一年都不回头看。
还有个坑:促销季的数据要单独看。把黑五那周的800件跟平时混在一起算标准差,算出来的安全库存平时用不上、旺季又不够。我一般让客户把促销周单独标出来,平时用平时的数据算,促销前两个月单独做一轮加码。
补货周期:船在海上那几天最危险
第三个变量是补货周期,单位要跟需求数据对齐:需求按天统计,周期就用天。
公式里用的是根号补货周期,不是周期本身——这是很多人直觉上会错的地方。补货周期从7天变成28天(4倍),安全库存只翻倍,不用乘4。实际意义也好懂:周期越长,不确定性是累积的,但累积得越来越慢。
反过来想,这恰恰是压安全库存最有效的结构性办法:缩短补货周期。周期减半,安全库存直接降将近30%。开发一个近岸供应商、把部分SKU从海运转空运、跟供应商谈分批到货,这些动作省下来的安全库存,比在那调Z值实在得多。我见过一家仓,光是把一家主力供应商的交期从35天谈到21天,A类SKU的安全库存总额就降了四分之一。
但周期一定要用实际值,别用合同上的。合同写21天,实际30天是常事,旺季拖到40天我也见过。取最近6个月真实到货周期的平均值,缺货那次的教训才算真吃进去。
如果补货周期本身波动也很大(比如海运时快时慢),用完整版公式:安全库存 = Z × √(补货周期×需求方差 + 平均需求²×周期方差),把补货周期的标准差也算进去。需求稳定但船期不靠谱的货,这个公式能救命。
三笔账合到一起,算一笔真实的。
三个数齐了,公式就一句话:
安全库存 = Z值 × 需求标准差 × √补货周期
拿个例子走一遍。某SKU:平均日需求200件,日需求标准差60件,海运补货周期21天,定95%服务水平(Z=1.65)。
安全库存 = 1.65 × 60 × √21 ≈ 1.65 × 60 × 4.58 ≈ 454件。
再订货点 = 日均需求 × 补货周期 + 安全库存 = 200 × 21 + 454 = 4654件。库存掉到4654件就下单,基本不会断。
这454件是什么概念?月销6000件的货,454件也就2天多的销量——看着吓人,其实就是一个缓冲垫。这454件值多少钱?假设单件成本25美元,压的资金是11350美元。按年化8%~10%的资金成本算,一年持有成本900~1100美元。对比断货11天丢掉的4万美金销售额,这笔账不用我多说了吧。
有人会问:这900~1100美元只是资金成本,仓储费还没算进去。对,安全库存的完整持有成本还包括库位费、保险和损耗,行业里常按货值的20%~25%来估年化持有成本率。但即便按25%算,11350美元的货一年也就2800多美元——跟4万美金的断货损失比,还是九牛一毛。先把账算到资金成本这一步,精度已经够做决策了。
反过来,如果你发现某个SKU的安全库存算出来够卖半年,那多半是标准差里混进了促销数据,或者补货周期取长了。公式不会骗人,骗人的是喂进去的数字。
明天就能动手:五步清单
- 导出每个SKU过去12周的出库数据,算平均日需求、标准差和变异系数(电子表格的标准差函数,5分钟搞定)。
- 查供应商真实补货周期:取近6个月实际到货天数的平均,别信合同。
- 按ABC分级定服务水平:A类95%~98%,B类90%~95%,C类不设或象征性设一点。
- 套公式算出安全库存和再订货点,写进WMS的补货参数里。
- 每季度复盘一次;大促前两个月,单独给促销SKU加一轮安全库存。
安全库存不是玄学,是三个数乘一下。难的从来不是公式,是愿不愿意去把真实数据找出来。明天花一上午把你家A类SKU的这三笔账算一遍,断货和积压,至少好一半。







