供应链与库存管理:EOQ、安全库存、ABC 分类的实操算法
库存是"必要之恶":没有库存会断供,库存太多又占用资金、掩盖问题。供应链与库存管理的全部工作,本质上是在服务水平与持有成本之间找平衡点。这篇文章把最常用的几个模型和公式一次讲透。
一、库存的四种类型
| 类型 | 定义 | 存在原因 |
|---|---|---|
| 周转库存(Cycle Stock) | 为满足补货周期内的正常需求而持有的库存 | 批量采购/批量生产(规模经济) |
| 安全库存(Safety Stock) | 为应对需求与供应的不确定性而持有的缓冲 | 需求波动、提前期波动、供应不稳定 |
| 在途库存(In-Transit / Pipeline) | 已下单但尚未到达的库存 | 运输时间 |
| 呆滞库存(Obsolete / Dead Stock) | 长期未动用、可能永远用不掉的库存 | 预测失误、设计变更、订单取消 |
另外还有两类常被提及:
- 季节性库存:为应对可预测的季节性需求高峰而提前备货
- 投机性库存:为应对预期涨价或短缺而囤积(风险高,需谨慎)
二、库存成本的三个组成部分
总库存相关成本 = 持有成本 + 订购/换产成本 + 缺货成本
1. 持有成本(Carrying / Holding Cost)
通常用年持有成本率 i 表示,即"持有 1 元库存一年要花多少钱"。典型构成:
| 项目 | 年费率参考 |
|---|---|
| 资金成本(机会成本 / 贷款利率) | 5% ~ 15% |
| 仓储费用(租金、设备、能耗) | 2% ~ 5% |
| 保险与税费 | 1% ~ 3% |
| 损耗与呆滞(变质、过期、损坏、跌价) | 2% ~ 10%(电子、食品、服装更高) |
| 合计 i | 通常 20% ~ 30%/年 |
这个数字很关键:很多企业以为库存只是"放在那儿的货",实际上每年要吃掉货值 20%30%。一件成本 100 元的物料存一年,真实成本是 120130 元。
2. 订购成本 / 换产成本(Ordering / Setup Cost)
- 外部采购:下单、跟单、运输、收货、检验、入账的全部费用,记为 S(元/次)
- 内部生产:换模、换线、调试、试加工的费用 = 换型时间 × 人工费率 + 试加工废品
3. 缺货成本(Stockout Cost)
最难量化但往往最贵:停线损失、紧急空运费、加班费、订单延误罚款、客户流失。
三、EOQ 经济订货批量
模型与公式
EOQ(Economic Order Quantity)由 Ford W. Harris 在 1913 年提出,是运筹学在库存管理中最经典的模型。
假设:需求恒定且已知、提前期固定、不允许缺货、单价不变、一次性到货。
┌─────────────
│ 2 × D × S
EOQ = │ ───────────
╷│ i × C
╰
其中:
D = 年需求量(件/年)
S = 每次订购成本(元/次)
C = 单位物品的采购/生产成本(元/件)
i = 年持有成本率
H = i × C = 单位物品年持有成本(元/件·年)
算例
某零件年需求 D = 12,000 件,单价 C = 50 元,每次订购成本 S = 200 元,年持有成本率 i = 25%。
H = 0.25 × 50 = 12.5 元/件·年
EOQ = √(2 × 12000 × 200 / 12.5) = √(4,800,000 / 12.5) = √384,000 ≈ 620 件
年订购次数 = D / EOQ = 12000 / 620 ≈ 19.4 次
订货间隔 = 365 / 19.4 ≈ 18.8 天
年总相关成本 TC = √(2 × D × S × H) = √(2 × 12000 × 200 × 12.5) = √60,000,000 ≈ 7,746 元
其中订购成本与持有成本在 EOQ 点恰好相等(各约 3,873 元),这是 EOQ 的一个性质。
EOQ 的鲁棒性(重要!)
总成本曲线在 EOQ 附近非常平坦。如果实际订购量偏离 EOQ ±20%,总成本只上升约 1.6%;偏离 +50%,成本也只上升约 8.3%。
实际意义:不要为了追求"精确的 EOQ"而纠结。把批量取整到整箱、整车、整托的容量(如 EOQ 算出 620,实际按 600 或 650 订),带来的成本增加微乎其微,但操作简便性提升巨大。
EOQ 的局限与扩展
局限:假设需求恒定(现实几乎不成立)、不允许缺货、没有数量折扣、不考虑产能约束。
常用扩展模型:
| 模型 | 适用场景 |
|---|---|
| EPQ / ELS(经济生产批量) | 内部生产,边生产边消耗,到货是渐进的 |
| 数量折扣模型(Quantity Discount) | 采购量大有价格折扣,需比较各价格区间的总成本 |
| 允许缺货(Backorder)模型 | 缺货可延后交付,权衡持有成本与缺货成本 |
| 报童模型(Newsvendor) | 单周期、需求随机(如季节性商品、生鲜),求最优订购量 |
EPQ(经济生产批量)
内部生产时,库存不是一次性补满,而是以生产率 p 补充、同时以需求率 d 消耗:
EPQ = √( 2DS / (H × (1 - d/p)) )
最大库存 = EPQ × (1 - d/p)
例:D = 12,000,S = 200(换产成本),H = 12.5,日产率 p = 100 件/天,日需求率 d = 40 件/天:
1 - d/p = 1 - 0.4 = 0.6
EPQ = √(2 × 12000 × 200 / (12.5 × 0.6)) = √(4,800,000 / 7.5) = √640,000 = 800 件
最大库存 = 800 × 0.6 = 480 件
注意 EPQ(800) > EOQ(620),因为边生产边消耗,实际最大库存只有 480 件。
四、安全库存怎么算
1. 需求波动、提前期固定
SS = z × σ_d × √L
其中:
- z:服务水平对应的安全系数(查标准正态分布表)
- σ_d:日需求的标准差
- L:提前期(天)
2. 需求与提前期都波动
SS = z × √( L × σ_d² + d̄² × σ_L² )
- d̄:平均日需求
- σ_L:提前期的标准差
服务水平与 z 值对照
| 服务水平(不缺货概率) | z 值 |
|---|---|
| 90% | 1.28 |
| 95% | 1.65 |
| 97.5% | 1.96 |
| 98% | 2.05 |
| 99% | 2.33 |
| 99.9% | 3.09 |
注意:服务水平从 95% 提到 99%,z 从 1.65 涨到 2.33,安全库存增加 41%。服务水平越高,边际成本越陡。所以服务水平要按物料重要性分级设定,不能一刀切。
算例
日均需求 200 件,日需求标准差 σ_d = 40 件,提前期 L = 9 天(固定),要求服务水平 95%。
SS = 1.65 × 40 × √9 = 1.65 × 40 × 3 = 198 件
若提前期也有波动,平均 9 天、标准差 2 天:
SS = 1.65 × √( 9 × 40² + 200² × 2² )
= 1.65 × √( 9 × 1600 + 40000 × 4 )
= 1.65 × √( 14400 + 160000 )
= 1.65 × √174,400 = 1.65 × 417.6 ≈ 689 件
结论很震撼:提前期波动使安全库存从 198 件暴涨到 689 件(3.5 倍)。这就是为什么稳定供应提前期往往比压价更省钱——缩短并稳定提前期,是降低安全库存最有效的杠杆。
3. 服务水平怎么选:按重要性分级
| 物料类别 | 缺货后果 | 建议服务水平 |
|---|---|---|
| 关键 / 瓶颈物料(停线风险) | 整线停产,损失巨大 | 98% ~ 99.5% |
| 一般生产物料 | 局部影响,可替代 | 95% ~ 98% |
| 通用标准件 | 容易采购 | 90% ~ 95% |
| 低值易耗品 | 影响小 | 85% ~ 90%(或用双箱法目视管理) |
五、再订货点(ROP)与补货策略
1. 定量订货模型(Q 模型 / 连续检查)
库存降到再订货点 ROP 时,按固定批量 Q 订货。
ROP = d̄ × L + SS
例:日均需求 200 件,提前期 9 天,安全库存 198 件:
ROP = 200 × 9 + 198 = 1800 + 198 = 1998 件
特点:订货量固定、订货时间不定。适合重要、昂贵、需求较稳定的物料(A 类)。
2. 定期订货模型(P 模型 / 定期检查)
每隔固定周期 T 检查一次,订货量补足到目标库存水平(Order-Up-To Level)。
目标库存水平 M = d̄ × (T + L) + SS
订货量 = M - 当前库存 - 在途库存
例:T = 7 天,L = 9 天,d̄ = 200,σ_d = 40:
σ_(T+L) = 40 × √(7+9) = 40 × 4 = 160
SS = 1.65 × 160 = 264
M = 200 × 16 + 264 = 3200 + 264 = 3464 件
特点:订货时间固定、订货量不定。适合价值中低、品种多、可合并订单的物料(B/C 类),因为可以一次向同一供应商订多种物料,节省订购与运输成本。
3. 双箱法(Two-Bin System)
最简目视化方式:物料分两箱存放,用完第一箱时触发补货,用第二箱的时间等待到货。
每箱容量 = d̄ × L + SS
适用于低值易耗品(螺丝、胶带、手套),不需要系统、不需要计算,仓管员一看就懂。
4. 最小-最大(Min-Max)系统
设定每个 SKU 的最小值与最大值,检查时若低于最小值则补到最大值。这是 ERP 里最常见的策略,本质上是 P 模型的变体。
六、ABC 与 XYZ 分类
ABC 分类(按年消耗金额)
帕累托原则在库存上的应用:
| 类别 | 品种占比 | 金额占比 | 管理强度 |
|---|---|---|---|
| A 类 | 约 10% ~ 20% | 约 70% ~ 80% | 严密控制:定量订货、低安全库存、频繁复核、重点谈判 |
| B 类 | 约 20% ~ 30% | 约 15% ~ 25% | 正常控制:定期订货、中等安全库存 |
| C 类 | 约 50% ~ 70% | 约 5% ~ 10% | 简化控制:双箱法、大批量低频次、较高安全库存(因为不值钱) |
ABC 的操作步骤:
- 计算每个 SKU 的年消耗金额 = 年需求量 × 单价
- 按金额从大到小排序
- 计算累计百分比
- 按 70/20/10 或 80/15/5 的切点划分类别
XYZ 分类(按需求波动性)
| 类别 | 变异系数 CV = σ/μ | 特性 |
|---|---|---|
| X 类 | CV < 0.3 | 需求稳定,易预测,可用定量订货、低安全库存 |
| Y 类 | 0.3 ≤ CV < 0.6 | 有一定波动(趋势性/季节性),需滚动预测 |
| Z 类 | CV ≥ 0.6 | 需求极不稳定(间歇性需求),建议按单采购或寄售 |
ABC × XYZ 组合矩阵
| X(稳定) | Y(中等) | Z(不稳) | |
|---|---|---|---|
| A(高值) | 精确定量订货、JIT 直供、VMI | 提高预测频率、设安全库存、锁定期货 | 按单采购、寄售、设计通用化 |
| B(中值) | 定期订货、批量优化 | 定期订货 + 安全库存 | 按单采购、缩短提前期 |
| C(低值) | 双箱法、年度框架协议 | 双箱法、提高批量 | 即用即买、提高安全库存(反正便宜) |
七、供应链协同的几种模式
| 模式 | 英文 | 机制 | 适用 |
|---|---|---|---|
| VMI | Vendor Managed Inventory | 供应商管理库存:供应商能看到你的库存数据,负责补货,货用掉才结算 | 需求较稳定、双方信任度高、系统对接 |
| JIT 直供 / 线边超市 | JIT II / Consignment | 供应商按日/按班次送货到线边 | 量大、距离近(同园区/同城) |
| 寄售(Consignment) | — | 货放在你仓库,但所有权仍属供应商,领用时才转移 | 降低资金占用,供应商需有较强资金能力 |
| CPFR | 协同计划、预测与补货 | 双方共享需求预测与促销计划,共同制定补货计划 | 长期战略合作、零售/快消 |
| 牛鞭效应治理 | Bullwhip | 需求信息从终端向上游逐级放大扭曲 | 见下 |
牛鞭效应(Bullwhip Effect)
现象:终端需求波动 5%,到零售商 10%,到分销商 20%,到制造商 40%,到供应商 60%+。
四个主要成因(Lee 等的经典归纳):
- 需求预测更新:每一级都基于下一级的订单(而非真实终端需求)做预测,并按自己的安全库存逻辑放大
- 批量订货:为凑整车/整箱而批量下单,产生"一会儿不订、一会儿订一堆"的订单流
- 价格波动:促销导致超前购买(Forward Buying),扭曲真实需求
- 短缺博弈:供应紧张时下游故意放大订单以期多分配,供应缓解后又大量取消
对策:
- 信息共享:共享终端 POS 数据/实际需求,让上游看到真实需求(最根本的对策)
- 缩短提前期:提前期越短,预测越准,安全库存越低
- 减小批量:通过 EDI、循环取货(Milk Run)、降低订购成本来减少批量
- 稳定价格(EDLP):用"每日低价"替代频繁促销
- 分配规则透明:短缺时按历史销量而非订单量分配,消除虚报动机
八、库存绩效指标
| 指标 | 公式 | 说明 |
|---|---|---|
| 库存周转率 | 年销售成本 / 平均库存金额 | 越高越好,但过高可能有缺货风险 |
| 库存周转天数(DIO) | 365 / 周转率,或 (平均库存 / 年销售成本) × 365 | 直接反映资金占压时长 |
| 现货满足率(Fill Rate) | 及时满足的需求量 / 总需求量 | 衡量客户服务水平 |
| 订单满足率 | 完全按时足额交付的订单数 / 总订单数 | 比 Fill Rate 更严格 |
| 准时交付率(OTD) | 按时交付订单数 / 总订单数 | 供应链的核心 KPI |
| 呆滞库存占比 | 呆滞库存金额 / 总库存金额 | 反映预测与产品生命周期管理 |
| 现金周转周期(CCC) | DIO + DSO - DPO | 财务视角的综合指标 |
注意:库存周转率不是越高越好。如果周转率高但 OTD 只有 80%,说明是靠缺货换来的周转。库存指标必须与服务指标成对看。
九、给工业工程学生的建议
- 先把公式背后的直觉搞懂:EOQ 是"订购成本与持有成本的拉锯";安全库存是"为不确定性买的保险"。
- 重视提前期:缩短提前期能同时降低周转库存和安全库存,是杠杆最大的改善方向。
- 会用 Excel 就够了:先用 Excel 建模(需求量、提前期、服务水平、成本参数),做出可视化的曲线,比背公式有用得多。
- 了解 ERP 的库存模块逻辑:SAP MM/PP、金蝶、用友里的 MRP 运算逻辑、安全库存设置、订货策略配置,是面试中的加分项。
- 实习建议:去制造业的计划/物流/供应链部门实习,真实感受"预测不准"和"催料"的日常,这是课堂上学不到的。
小结
- 库存四类:周转、安全、在途、呆滞;年持有成本率通常 20%~30%,这是库存的真实代价。
- EOQ = √(2DS/H),曲线平坦,实际取整影响很小;内部生产用 EPQ,多乘一个 (1-d/p) 因子。
- 安全库存 = z × σ_d × √L(需求波动);提前期波动对安全库存的影响远大于需求波动,稳定提前期是最优杠杆。
- 补货策略:定量 Q 模型(管 A 类)、定期 P 模型(管 B/C 类)、双箱法(管低值易耗品)。
- ABC 管金额、XYZ 管波动,组合矩阵给出差异化管理策略。
- 牛鞭效应的四大成因与五类对策,信息共享与缩短提前期是根本。
配套阅读:《看板与拉动生产》《价值流图(VSM)怎么画》《OEE 设备综合效率》。
相关阅读
- 看板与拉动生产:从超市补货到生产指令的设计方法:讲清看板的两条核心规则、两类基本看板、看板张数计算公式与算例、信号看板触发点算法,以及超市设…
- 标准工时怎么定?秒表测时 + 评比系数 + 宽放率的完整流程:从观测单元划分、观测次数确定、异常值剔除,到平准化评比与四类宽放,用完整算例讲透标准工时的全…
- MODAPTS 模特排时法入门:21 个动作与工时计算:产线还没建就能算出工时。本文系统讲解 MODAPTS 的 21 个基本动作、MOD 时间单位…
- 生产线平衡:从节拍、瓶颈到平衡率改善的完整方法:节拍怎么算、瓶颈怎么找、要素怎么重新分配。含一个从 80.5% 提升到 92.2% 的完整改…
- SMED 快速换模:把内部作业转化为外部作业的实操步骤:内部作业与外部作业分离是 SMED 的全部理论基础。本文用 120 分钟降到 9 分钟的完整…