3. EOQ 模型参数估算:D、S、H 的工程化确定
EOQ 模型的精度完全取决于三个核心参数的估算质量:年需求量 D、单次订货成本 S、单位年持有成本 H。实际工程中,参数估算偏差是导致 EOQ 失效的首要原因。本节将给出每个参数的预测方法、构成清单与估算公式。
工程铁律:参数估算宁可保守,不可激进。D 偏高会导致库存积压,S 偏低会导致订货频率失控,H 偏低会掩盖资金占用成本。每次参数更新后必须重新计算 EOQ。
3.1 年需求量 D 的预测方法
年需求量 D 是 EOQ 公式中唯一的外部输入变量,通常由需求预测模块提供。对于不同数据特征,推荐以下三种方法:
| 方法 | 适用场景 | 输入数据 | 输出 |
|---|---|---|---|
| 简单移动平均(SMA) | 需求平稳、无趋势/季节 | 最近 n 期实际需求 | 算术平均值 |
| 加权移动平均(WMA) | 近期数据权重更高 | 最近 n 期 + 权重向量 | 加权平均值 |
| 指数平滑(SES) | 数据量少、需快速响应变化 | 上一期预测值 + 平滑系数 α | α·实际 + (1-α)·预测 |
工程建议:对于多级库存网络,建议使用 12 个月滚动加权平均,权重按最近 3 个月 0.5、中间 6 个月 0.3、最远 3 个月 0.2 分配,兼顾稳定性与响应性。
# 示例:12 个月加权平均预测 D
import numpy as np
demand_history = [1200, 1150, 1300, 1250, 1400, 1350, 1280, 1320, 1380, 1420, 1450, 1500]
weights = [0.02]*3 + [0.03]*6 + [0.05]*3 # 最近3个月权重0.05
weights = np.array(weights) / sum(weights) # 归一化
D_forecast = np.dot(demand_history, weights)
print(f"预测年需求量 D = {D_forecast:.0f} 单位")
避坑提示:不要直接使用销售订单量作为 D。必须剔除促销订单、一次性大单、退货冲抵等异常值。建议先做 异常值检测(IQR 或 Z-score),再计算基线需求。
3.2 订货成本 S 的构成与估算
订货成本 S 是每次下达采购订单所发生的固定成本,与订货数量无关。工程中常被低估,导致 EOQ 偏小、订货频率虚高。
S 的标准构成清单:
- 采购人工成本:采购员处理询价、比价、下单、跟单的平均工时 × 单位工时费率
- 系统处理成本:ERP 订单创建、审批流、EDI 传输的 IT 分摊
- 质检与验收成本:来料检验、文件核对、入库确认的固定费用
- 财务结算成本:发票匹配、付款审批、对账处理的固定分摊
- 运输固定费用:若每次发货有最低运费或固定报关费,应计入 S
| 成本项 | 估算方法 | 典型范围(元/单) |
|---|---|---|
| 采购人工 | 月薪 ÷ 月处理订单数 | 50 ~ 200 |
| 系统处理 | IT 总成本 ÷ 年订单数 | 10 ~ 50 |
| 质检验收 | 质检员工时费率 × 平均耗时 | 30 ~ 100 |
| 财务结算 | 财务人员工时分摊 | 15 ~ 60 |
| 运输固定费 | 最低运费或报关费 | 100 ~ 500 |
工程估算公式:
S = 采购人工 + 系统处理 + 质检验收 + 财务结算 + 运输固定费
示例:S = 120 + 30 + 60 + 25 + 200 = 435 元/单
常见错误:只计算采购人工,忽略系统、质检、财务分摊,导致 S 被低估 40%~60%。建议每半年做一次 订单全流程工时测量,更新 S 值。
3.3 持有成本 H 的构成与估算
持有成本 H 是单位库存持有一年所发生的全部成本,通常以 产品单位成本 C 的百分比(i%) 表示。H 被高估或低估都会直接扭曲 EOQ。
H 的四层构成:
- 资金占用成本(最大项):库存占用的资金成本 = C × 加权平均资本成本(WACC)
- 仓储空间成本:仓库租金、水电、货架折旧按库存体积分摊
- 损耗与过期成本:报废、贬值、过期损失的年化比例
- 保险与税费:库存财产保险、存货相关税费
| 成本项 | 占 C 的典型比例 | 说明 |
|---|---|---|
| 资金占用 | 5% ~ 12% | WACC 或公司内部资金成本 |
| 仓储空间 | 2% ~ 6% | 按体积分摊,高周转品比例低 |
| 损耗过期 | 1% ~ 10% | 电子产品/快消品偏高 |
| 保险税费 | 0.5% ~ 2% | 固定比例 |
工程估算公式:
H = C × (资金占用率 + 仓储费率 + 损耗率 + 保险税率)
示例:C = 500 元,i = 8% + 4% + 3% + 1% = 16%
H = 500 × 0.16 = 80 元/单位/年
经验基准:对于大多数制造业,综合持有成本率 i 在 15% ~ 25% 之间。如果低于 10%,请检查是否遗漏了资金占用或仓储成本;如果高于 30%,需确认是否包含了异常损耗。
3.4 参数敏感性分析与工程校准
EOQ 对参数误差的敏感度不对称:D 和 S 的误差对 EOQ 的影响是平方根关系,而 H 的误差影响更直接。工程中应优先校准 H。
| 参数 | 误差 +20% 时 EOQ 变化 | 误差 -20% 时 EOQ 变化 | 校准优先级 |
|---|---|---|---|
| D | +9.5% | -10.6% | 中 |
| S | +9.5% | -10.6% | 中 |
| H | -8.7% | +11.8% | 高 |
工程校准流程:
1. 先用历史数据跑一次 EOQ 基准值。
2. 对 D、S、H 分别做 ±10%、±20% 的敏感性测试。
3. 找出对总成本影响最大的参数,优先收集更精确的数据。
4. 每季度更新一次参数,重新计算 EOQ。
1. 先用历史数据跑一次 EOQ 基准值。
2. 对 D、S、H 分别做 ±10%、±20% 的敏感性测试。
3. 找出对总成本影响最大的参数,优先收集更精确的数据。
4. 每季度更新一次参数,重新计算 EOQ。