开篇:EOQ 算得很漂亮,货还是断了
经济订货批量(EOQ)是每个学供应链的人都背过的公式:√(2DS/H)。但真正在仓库里管补货的人都知道,EOQ 回答的是"一次订多少最省钱",却回答不了"什么时候下单不断货"。现实中的需求是波动的,供应商的交期是飘的,EOQ 公式里那两个"恒定"假设一碰就碎。
我们见过太多仓库:安全库存凭感觉设("备 2 周的量吧"),补货点凭经验拍("剩 100 件就下单"),结果要么断货丢单,要么库存积压占资金。这篇文章给一套实战算法,不需要高深数学,一个 Excel 就能跑,解决"何时补、补多少"的问题。
核心方法:动态安全库存四步算法

步骤一:先算清你的需求波动(σd)
安全库存的本质是"为不确定性买保险",保费多少取决于波动有多大。取某 SKU 过去 6~12 个月的日均出库量,算出日需求标准差(σd)。Excel 里一个 STDEV 函数就够了。
波动分三档,对应不同的管理策略:
| 变异系数 CV(= σd / 日均需求) | 波动等级 | 策略要点 | |---|---|---| | < 0.5 | 低波动(稳定品) | 安全库存可设低,重点看交期波动 | | 0.5 ~ 1.0 | 中波动(常规品) | 标准公式计算,每月复核 | | > 1.0 | 高波动(促销品/季节品) | 公式 + 人工判断,大促前单独建计划 |
步骤二:再算清你的交期波动(σL)
很多仓库只算需求波动,不算交期波动,这是断货的最大盲区。同样取过去 6 个月该 SKU 每次采购订单的实际交期(下单到入库的天数),算出交期标准差(σL)。
实战经验:交期波动对安全库存的影响经常大于需求波动。一家汽配仓算完发现,某 SKU 需求很稳定(CV=0.3),但供应商交期从 7 天飘到 21 天(σL=4.2 天),真正的安全库存大头是为交期买的保险。
步骤三:套公式——同时考虑两种波动的安全库存
标准实战公式(假设需求与交期独立):
安全库存 SS = Z × √( L × σd² + d² × σL² )
- Z:服务水平系数。95% 服务水平 Z=1.65,97.5% 取 1.96,99% 取 2.33。别全品类用 99%,A 类热销品用 97.5%~99%,C 类长尾品 90%(Z=1.28)就够了,省下的资金很可观。
- L:平均交期(天);d:日均需求;σd、σL 如上。
补货点 ROP = d × L + SS:当可用库存(在手 + 在途 − 已分配)降到 ROP,就触发补货。
举个具体例子:某 SKU 日均需求 d=50 件,σd=15;平均交期 L=10 天,σL=3 天;目标服务水平 97.5%(Z=1.96)。SS = 1.96 × √(10×225 + 2500×9) = 1.96 × √24750 ≈ 308 件。ROP = 50×10 + 308 = 808 件。以前这家仓库凭感觉设安全库存 200 件,旺季断过两次货;按公式调到 308 件后,全年零断货,库存周转只慢了 2 天。
步骤四:动态复核——参数会过期,公式不会
需求和交期都是活的,参数必须定期刷新。建议节奏:
| SKU 等级 | 复核频率 | 触发临时复核的事件 | |---|---|---| | A 类 | 每月 | 大促前 6 周、供应商变更、需求突增 50% | | B 类 | 每季度 | 同上 | | C 类 | 每半年 | 连续 3 个月零出库,转入呆滞品处理流程 |
实战技巧:WMS 或 Excel 里给每个 SKU 建一行,d、σd、L、σL、Z 五个参数列,SS 和 ROP 自动算。每月 1 号跑一遍数据刷新,差异超过 20% 的标红人工确认。一名计划员管 5000 个 SKU,每月花半天就够。条件允许的话,把 SS 和 ROP 设为 WMS 系统参数,由系统自动预警,彻底告别人工盯表。
实战案例:一座电商仓的"断货率减半"计划
背景:内华达一座日均 8000 单的电商仓,自营 SKU 约 2500,断货率 3.2%(行业优秀线是 1% 以内),同时库存周转天数 42 天(偏高)。矛盾:又断货又积压——典型的"该多的不多、该少的不不少"。
诊断:安全库存全部凭品类经理感觉设,热销品设少了(怕积压),长尾品设多了("反正便宜,多备点")。
行动:用四步算法重算全部 SKU 参数,ABC × XYZ 九宫格分类(ABC 按出货金额,XYZ 按需求波动),AX 类(高价值低波动)降安全库存、CZ 类(低价值高波动)直接砍到只备 7 天。WMS 上线 ROP 自动预警。
结果:6 个月后断货率从 3.2% 降到 1.1%,库存周转天数从 42 天降到 31 天,释放现金约 45 万美元。品类经理的原话:"原来我不是不会管库存,是之前一直在用感觉管。"
避坑提醒
- 别用 EOQ 决定"何时补":EOQ 管批量,ROP 管时点,两者是搭档不是替代。只算 EOQ 不算 ROP,等于只系了一边的安全带。
- 新品没有历史数据时,别硬套公式:用同类老品的参数打 7 折起步,前 3 个月每周人工盯,数据攒够再转公式。新品断货多半是因为"没数据所以没设安全库存"。
- 在途库存要算进"可用库存":ROP 比较的是"在手 + 在途 − 已分配",只看在手库存会重复下单。我们见过一家仓因此多订了 30% 的货。
- 服务水平 Z 别一刀切:全品类 99% 服务水平听起来很美,代价是 C 类长尾品的安全库存翻倍。分级设 Z,省下的钱投到 A 类品上,整体服务水平反而更高。
- 别把安全库存和"囤货"混为一谈:安全库存是公式算出来的"保险",囤货是凭感觉"多备点"。我们审计过一家仓,C 类 SKU 的安全库存普遍是公式值的 3 倍,理由是"多订有折扣"。折扣省下的 2% 采购成本,根本覆盖不了多占 60 天库存的资金成本。记住:公式值是上限,不是下限。
总结
EOQ 之外的实战算法,核心就三句话:波动用数据量化(σd 和 σL 都要算),安全库存为两种波动同时买保险,参数按月刷新。这套方法不需要上昂贵的计划系统,Excel + WMS 预警就能跑。记住,安全库存不是"越多越好"的棉被,而是"不多不少"的保险——买多了浪费保费,买少了断货丢单。先从你的 Top 100 SKU 开始算,跑一个月看到效果,再推广到全品类。



