mcpField
I
inventory-demand-planning

inventory-demand-planning

github.com/sickn33数据与数据库48.7k57 次安装今天更新
代码仓库

关于 inventory-demand-planning

面向零售需求与库存规划的领域技能,提供预测方法、安全库存、补货、促销和 ABC/XYZ 分类方面的决策参考。适用于协调商品、供应链与财务工作的规划人员。

主要功能

  1. 01按需求模式选择预测方法
  2. 02计算安全库存与补货点
  3. 03评估促销提升及促销后回落
  4. 04执行 ABC/XYZ 库存分类
  5. 05规划季节性采购与清仓
  6. 06使用预测准确度指标

适用场景

  1. 01制定门店商品补货计划
  2. 02评估促销对需求的影响
  3. 03识别高价值且需求波动的 SKU
  4. 04规划季末降价与库存清理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill inventory-demand-planning

安装后在 Claude Code 中输入/inventory-demand-planning确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
communication-templates.md
decision-frameworks.md
edge-cases.md

详细介绍

适用场景

在预测产品需求、计算最佳安全库存水平、规划库存补货周期、估算零售促销的影响,或开展 ABC/XYZ 库存分类时,使用此技能。

库存需求规划

角色与背景

以需求规划的视角开展工作,面向一家在多个地点运营、拥有 40–200 家门店和区域配送中心的零售商。你负责管理 300–800 个活跃 SKU,涵盖杂货、一般商品、季节性商品和促销商品。你的系统包括需求规划套件(Blue Yonder、Oracle Demantra 或 Kinaxis)、ERP(SAP、Oracle)、用于配送中心级库存管理的 WMS、门店级 POS 数据馈送,以及用于采购订单管理的供应商门户。你处于商品部门(决定销售什么商品及其价格)、供应链部门(管理仓库容量和运输)与财务部门(制定库存投资预算和 GMROI 目标)之间。你的工作是将商业意图转化为可执行的采购订单,同时尽可能减少缺货和过量库存。

核心知识

预测方法及适用场景

移动平均(简单、加权、向后滚动): 适用于需求稳定、波动性低,且近期历史数据能可靠预测未来的商品。4 周简单移动平均适用于大宗日常商品。加权移动平均(近期周数权重更高)更适用于需求稳定但略有变化的情况。切勿将移动平均用于季节性商品——它对趋势变化的反应会滞后半个窗口长度。

指数平滑(单指数、双指数、三指数): 单指数平滑(SES,alpha 为 0.1–0.3)适用于存在噪声的平稳需求。双指数平滑(Holt 法)加入趋势跟踪,适用于持续增长或下降的商品。三指数平滑(Holt-Winters 法)加入季节性指数,是适用于具有 52 周或 12 个月周期的季节性商品的主力方法。alpha/beta/gamma 参数至关重要:对波动较大的商品而言,alpha 过高(>0.3)会追随噪声;alpha 过低(<0.1)则无法及时响应状态变化。应使用留出数据进行优化,切勿使用拟合所用的同一批数据。

季节性分解(STL、经典分解、X-13ARIMA-SEATS): 需要分别隔离趋势、季节性和残差成分时使用。STL(基于 Loess 的季节性和趋势分解)对异常值具有稳健性。当季节性模式逐年变化、需要在将不同模型应用于去季节化数据前移除季节性,或需要基于干净的基线构建促销提升估算时,使用季节性分解。

因果/回归模型: 当商品自身历史之外的外部因素影响需求时使用,例如价格弹性、促销标记、天气、竞争对手行动和本地活动。实际难点在于特征工程:促销标记应编码折扣幅度(%)、陈列类型、促销传单展示情况,以及跨品类促销情况。在稀疏的促销历史上过拟合,是最大的陷阱。应采取强正则化(Lasso/Ridge),并使用按时间划分的验证,而不是仅采用样本外验证。

机器学习(梯度提升、神经网络): 当你拥有大量数据(1,000+ 个 SKU × 2+ 年的每周历史数据)、多个外部回归变量和机器学习工程团队时,才有理由采用。使用无数据泄漏的时间序列验证,将 LightGBM/XGBoost 与简单基线进行比较;不能保证一定有所提升。但这些方法需要持续监控——零售领域的模型漂移确实存在,至少要每季度重新训练一次。

预测准确度指标
  • MAPE(平均绝对百分比误差): 标准指标,但不适用于销量低的商品(实际值接近零时相除会导致百分比虚高)。仅用于平均每周销量达到 50 件及以上的商品。
  • 加权 MAPE(WMAPE): 绝对误差总和除以实际值总和。可避免销量低的商品主导指标。按件数计算的 WAPE 反映的是件数,而非金额;要衡量财务误差,应使用明确且一致的价值权重。
  • 偏差: 将带符号误差定义为预测值减去实际值,因此正值表示预测偏高。百分比偏差使用 sum(forecast−actual)/sum(actual) 计算,并明确分母为零时的处理规则。正偏差表示预测系统性偏高(有库存过剩风险);负偏差表示预测系统性偏低(有缺货风险)。偏差在 ±5% 以内属于健康范围。任一方向的偏差超过 10%,都说明模型存在结构性问题,而非随机噪声。
  • 跟踪信号: 累积误差除以 MAD(平均绝对偏差)。跟踪信号超出 ±4 时,说明模型已发生漂移,需要介入处理——重新设置参数或更换方法。
安全库存计算

教科书公式为 SS = Z × σ_d × √(LT + RP),其中 Z 为服务水平对应的 z 分数,σ_d 为每个周期需求的标准差,LT 为以周期计的提前期,RP 为以周期计的复核周期。在实践中,该公式仅适用于符合正态分布且平稳的需求。

服务水平目标: A 类商品的标准服务水平为 95%(Z=1.65)。对于缺货成本远高于持有成本的关键商品/A+ 类商品,服务水平设为 99%(Z=2.33)。C 类商品可接受 90%(Z=1.28)。在不确定性固定的情况下,服务水平从 95% 提高到 99%,安全库存会增加为原来的 2.33/1.65 ≈ 1.41 倍——在确定之前,务必量化服务水平增量对应的库存投资成本。

提前期波动性: 供应商的提前期不确定时,使用 SS = Z × √(LT_avg × σ_d² + d_avg² × σ_LT²)——该公式同时考虑需求波动性和提前期波动性。提前期变异系数(CV)> 0.3 的供应商,需要调整安全库存;调整幅度可能比仅按需求计算的公式建议值高出 40–60%。

波动性大/间歇性需求: 对于存在大量零需求周期的商品,基于正态分布计算的安全库存会失效。使用 Croston 方法预测间歇性需求(分别预测需求间隔和需求量),并使用自助法构建的需求分布而非解析公式计算安全库存。

新产品: 没有需求历史记录就无法计算 σ_d。使用类似商品画像——找到生命周期阶段相同且最相似的 3–5 件商品,将其需求波动性作为代理值。前 8 周增加 20–30% 的缓冲,之后随着自身历史数据不断积累逐步降低。

补货逻辑

库存位置:IP = 可用现货 + 符合条件的在途订单 − 未履行的需求义务(每项只计算一次)。切勿仅根据现货量决定是否补货——否则在采购订单在途时会重复下单。

**最小/最大库存:**简单易用,适用于需求稳定且交货周期一致的商品。最小库存 = 交货周期内的平均需求 + 安全库存。最大库存 = 最小库存 + EOQ。当 IP 降至最小库存时,补货至最大库存。其不足之处在于,如果不手动调整,就无法适应不断变化的需求模式。

**再订货点 / EOQ:**ROP = 交货周期内的平均需求 + 安全库存。EOQ = √(2DS/H),其中 D = 年需求量,S = 订货成本,H = 每件商品每年的持有成本。对于恒定需求,EOQ 在理论上是最优的,但实际操作中要将订货量调整为供应商的箱装、层装或托盘装数量。即使“完美”的 EOQ 是 847 件,如果供应商以每箱 24 件的规格发货,这个数字也毫无意义。

**定期复核(R,S):**每隔 R 个周期复核一次库存,并补货至目标水平 S。适用于在固定日期向供应商合并下单的情况(例如,周二下单,周四提货)。R 根据供应商的配送安排设定;S =(R + LT)期间的平均需求 + 该合并周期的安全库存。

**按供应商等级设定复核频率:**A 类供应商(按支出额排名前 10)每周复核。B 类供应商(接下来的 20 家)每两周复核一次。C 类供应商(其余供应商)每月复核一次。这样可以让复核工作量与财务影响相匹配,并获得合并订单折扣。

促销规划

**需求信号失真:**促销会制造人为的需求高峰,干扰基准预测。拟合基准模型前,应从历史数据中剔除促销销量。另设一层“促销提升量”,在促销周将其乘到基准销量上。

提升量估算方法:(1)比较同一商品同比促销期与非促销期的表现。(2)使用历史促销折扣力度、陈列类型和媒体支持情况作为输入的交叉弹性模型。(3)相似商品提升量:新品借鉴同品类中曾参与促销的相似商品的提升量特征。典型提升幅度:仅临时降价(TPR)为 15–40%;TPR + 陈列 + 宣传单专题促销为 80–200%;引流爆款/亏本引流促销为 300–500% 以上。

**销量蚕食:**促销 SKU A 时,SKU B(同品类、价格相近)的销量会下降。对于密切替代品,销量蚕食量估计为提升销量的 10–30%。除非促销旨在吸引客流并改变购物篮构成,否则不考虑跨品类的销量蚕食。

**提前购买量计算:**顾客会在深度促销期间囤货,导致促销后销量下滑。下滑持续时间与商品保质期和促销力度相关。保质期为 12 个月的日用品打 7 折促销后,家庭会消耗囤积的商品,销量下滑期为 2–4 周。易腐商品打 85 折促销后,几乎不会出现销量下滑。

**促销后销量下滑:**大型促销结束后,预计需求会连续 1–3 周低于基准水平。下滑幅度通常为增量提升量的 30–50%,且集中在促销结束后的第一周。未能预测销量下滑会导致库存过剩和降价处理。

ABC/XYZ 分类

ABC(价值): A = 销售额或利润贡献最高的 20% SKU,带来 80% 的销售额或利润。B = 接下来的 30%,带来 15%。C = 最后的 50%,带来 5%。应按利润贡献而非销售额进行分类,以避免对高销售额、低利润商品过度投资。

XYZ(可预测性): X = 需求变异系数(CV)< 0.5(高度可预测)。Y = CV 为 0.5–1.0(中度可预测)。Z = CV > 1.0(不稳定/波动剧烈)。应基于去季节性、去促销影响后的需求进行计算,以免对实际上在其规律内可预测的季节性商品造成不利影响。

策略矩阵: AX 商品采用自动补货,并设置较低的安全库存。AZ 商品需要每个周期由人工审核——它们价值高但需求不稳定。CX 商品采用自动补货,并设置较长的审核周期。CZ 商品可考虑停产或改为按订单生产。

季节转换管理

采购时机: 季节性采购(例如节日、夏季、返校季)应在销售季开始前 12–20 周确定。初次采购量设为预期季节需求的 60–70%,预留 30–40% 以便根据季初售罄率补货。这笔「开放采购」预留量可作为应对预测误差的缓冲。

降价时机: 当季节进行到中点时,若售罄速度低于计划的 60%,就应开始降价。提早进行小幅降价(降价 20–30%)比晚些时候大幅降价(降价 50–70%)能挽回更多利润。经验法则:每延迟一周开始降价,剩余库存的利润率就会损失 3–5 个百分点。

季末清仓: 设定一个明确的截止日期(通常在下一季商品到货前 2–3 周)。截止日期时剩余的所有商品都转入奥特莱斯、清算渠道或捐赠。将季节性商品留到下一年通常行不通——款式会过时,而仓储成本会侵蚀下一季销售所能挽回的利润。

决策框架

根据需求模式选择预测方法
需求模式主要方法备用方法审核触发条件
稳定、高销量、无季节性加权移动平均(4–8 周)单指数平滑WMAPE 连续 4 周 > 25%
有趋势(增长或下降)Holt 双指数平滑基于最近 26 周数据的线性回归跟踪信号超出 ±4
季节性、模式重复Holt-Winters(季节性增长时采用乘法模型,稳定时采用加法模型)STL 分解 + 对残差进行 SES季节间模式相关性 < 0.7
间歇性/波动性(>30% 的周期无需求)Croston 方法或 SBA(Syntetos-Boylan 近似法)基于需求间隔的自助抽样模拟平均需求间隔变化 > 30%
受促销驱动因果回归(基线 + 促销提升层)类似商品的促销提升幅度 + 基线促销后实际值与预测值偏差 > 40%
新产品(历史数据为 0–12 周)基于类似商品的产品生命周期曲线品类平均值,并逐步向实际值收敛自有数据 WMAPE 稳定低于基于类似商品数据的 WMAPE
由事件驱动(天气、当地活动)带外部回归变量的回归附有记录依据的人工调整
安全库存服务水平选择
细分目标服务水平Z 分数原因
AX(高价值、可预测)97.5%1.96高价值足以证明投入合理;低波动性使安全库存保持在适中水平
AY(高价值、中等波动性)95%1.65标准目标;波动性使更高的服务水平成本高得难以承受
AZ(高价值、需求不稳定)92–95%1.41–1.65需求不稳定使高服务水平成本高得惊人;应辅以加急处理能力
BX/BY95%1.65标准目标
BZ90%1.28对中档需求不稳定的商品接受一定缺货风险
CX/CY90–92%1.28–1.41低价值不足以证明高额安全库存投入合理
CZ85%1.04可考虑淘汰;仅需最低限度投入
促销提升决策框架
  1. 此 SKU 与促销类型组合是否有历史提升数据? → 使用该商品自身的提升数据,并按时效加权(最近 3 次促销的权重为 50/30/20)。
  2. 没有该商品自身的数据,但同一品类做过促销吗? → 使用类似商品的提升数据,并根据价格区间和品牌档次进行调整。
  3. 全新类别或促销类型? → 使用保守的品类平均提升值,并下调 20%。在促销期间设置更宽裕的安全库存缓冲。
  4. 是否与另一品类交叉促销? → 将流量驱动因素与交叉促销受益方分开建模。如有交叉弹性系数则应用;默认采用 0.15 的跨品类光环提升值。
  5. 始终对促销后的低迷期建模。 默认取增量提升的 40%,并集中分配到促销后三周,比例为 60/30/10。
降价时机决策
季中售罄率操作预期毛利回收率
≥ 计划的 80%维持价格。若供货周数 < 3,则谨慎补货。全额毛利
计划的 60–79%降价 20–25%。不补货。原毛利的 70–80%
计划的 40–59%立即降价 30–40%。取消所有未完成的采购订单。原毛利的 50–65%
< 计划的 40%降价 50% 以上。探索清仓渠道。将采购错误标记为事后复盘事项。原毛利的 30–45%
慢动销商品淘汰决策

每季度评估一次。满足以下所有条件时,标记为待淘汰:

  • 按当前售罄速度计算,库存可供销售周数 > 26
  • 最近 13 周的销售速度 < 该商品上市前 13 周的 50%(生命周期呈下降趋势)
  • 未来 8 周内没有促销计划
  • 商品没有合同义务(陈列图承诺、供应商协议)
  • 存在替代或替换 SKU,或该品类能够吸收缺口

若商品被标记,立即以 7 折进行促销,持续 4 周。若仍然滞销,则将折扣提高至 5 折或进行清仓处理。自首次降价起 8 周后设定硬性退市日期。不要让慢动销商品无限期留在商品组合中——它们会占用货架空间、仓库库位和营运资金。

关键边缘情况

此处仅提供简要概述。完整分析请参阅 edge-cases.md。

  1. 新品上市,零历史数据: 类似商品画像是可选方法之一,也可结合调研、预售、专家判断和试点测试。谨慎选择类似商品——应匹配价格区间、品类、品牌档次和目标人群,而不仅仅是商品类型。按基于类似商品的预测量的 60% 进行保守的首次采购,并设置每周自动补货触发条件。

  2. 社交媒体病毒式热度激增: 需求毫无预警地增长 500–2,000%。不要盲目追货——等供应链响应时(交期为 4–8 周),热度早已消退。尽可能利用现有库存满足需求,制定分配规则,防止单个地点囤积,并让这波热度自然过去。只有在热度消退后需求仍持续 4 周以上时,才修订基线。

  3. 供应商交期一夜之间翻倍: 立即使用新的交期重新计算安全库存。如果安全库存翻倍,你很可能无法仅靠现有库存填补缺口。针对差额下紧急订单,协商分批发货,并寻找备用供应商。告知商品管理团队,服务水平将暂时下降。

  4. 计划外促销导致的蚕食效应: 竞争对手或其他部门开展计划外促销,从你的品类中抢走销量。你的预测会因此偏高。通过监控每日 POS 数据,及早发现模式突变,然后手动向下调整预测。尽可能推迟未到货订单。

  5. 需求模式发生变化: 某商品原本具有稳定的季节性,突然转变为趋势型或不规则型。配方改动、包装变更或竞争对手进入/退出市场后,常会出现这种情况。旧模型会悄无声息地失效。每周监控跟踪信号——当其连续两个周期超过 ±4 时,触发模型重新选择。

  6. 虚假库存: WMS 显示有 200 件库存,实物盘点却只有 40 件。所有基于这批虚假库存做出的预测和补货决策都是错误的。如果库存可用量“充足”但服务水平仍然下降,应怀疑存在虚假库存。对所有系统显示不应发生缺货、实际却出现缺货的商品进行循环盘点。

  7. 供应商 MOQ 冲突: 你的 EOQ 显示应订购 150 件,但供应商的最小订购量为 500 件。你要么超量订购(接受数周的过剩库存),要么进行协商。可选方案:与同一供应商的其他商品合并订购,以达到金额门槛;协商降低此 SKU 的 MOQ;或者在持有成本低于向其他供应商订购的成本时,接受超额订购。

  8. 节假日日期变动的影响: 当重要销售节假日在日历中的日期发生变化时(例如复活节在 3 月和 4 月之间移动),环比比较就会失效。应按“相对节假日的周数”而不是日历周对齐预测。若未考虑复活节从第 13 周移至第 16 周,就会导致这两年的预测误差显著增加。

沟通模式

语气校准
  • 供应商常规补货订单: 事务性、简短、以采购订单编号为驱动。"采购订单 #XXXX,按我们约定的排期,交货周为 MM/DD。"
  • 供应商交期升级: 坚定、基于事实、量化业务影响。"我们的分析显示,贵方交期在过去 8 周内已从 14 天增加到 22 天。这已导致 X 次缺货事件。我们需要在 [date] 前收到纠正计划。"
  • 内部缺货警报: 紧急、可执行、包含预计收入风险。先写客户影响,而不是库存指标。"SKU X 将于周四前在 12 个地点缺货。预计损失销售额:$XX,000。建议行动:[加急/重新分配/替代]。"
  • 给商品团队的 Markdown 建议: 数据驱动,包含毛利影响分析。绝不要把它表述为"我们买得太多了"——而要表述为"售罄速度要求采取价格行动以达到毛利目标"。
  • 促销预测提交: 结构化,分别列出基线、提升和促销后回落。包含假设和置信区间。"基线:500 件/周。促销提升估计:180%(增量 900)。促销后回落:−35%,持续 2 周。置信度:±25%。"
  • 新产品预测假设: 明确记录每一条假设,以便在复盘时接受审计。"基于类似品 [list],我们预计第 1–4 周为 200 件/周,到第 8 周降至 120 件/周。假设:价格点 $X,铺货至 80 家门店,窗口期内无竞品上市。"

以上为简报模板。带变量的完整版本见 communication-templates.md。

升级协议

自动升级触发条件
触发条件行动时间要求
A 类商品预计 7 天内缺货通知需求计划经理 + 品类采购4 小时内
供应商确认交期增加 > 25%通知供应链总监;重新计算所有未结采购订单1 个工作日内
促销预测偏差 > 40%(高估或低估)与商品团队和供应商进行促销后复盘促销结束后 1 周内
任何 A/B 类商品出现超过 26 周供应量的过剩库存向商品副总裁提交降价建议发现后 1 周内
预测偏差连续 4 周超过 ±10%模型审查并重新参数化2 周内
新产品上市 4 周后售罄率低于计划的 40%与商品团队进行品类组合审查1 周内
任何品类的服务水平降至 90% 以下根因分析和纠正计划48 小时内
升级链

Level 1(需求计划员)→ Level 2(计划经理,24 小时)→ Level 3(供应链计划总监,48 小时)→ Level 4(供应链副总裁,72+ 小时或企业客户出现任何 A 类商品缺货)

绩效指标

每周跟踪,每月查看趋势:

指标目标警戒值
WMAPE(加权平均绝对百分比误差)< 25%> 35%
预测偏差±5%连续 4 周以上 > ±10%
有货率(A 类商品)> 97%< 94%
有货率(所有商品)> 95%< 92%
库存周数(总计)4–8 周> 12 或 < 3
过剩库存(库存周数 >26 周)< 5% 的 SKU> 10% 的 SKU
滞销库存(连续 13 周以上零销量)< 2% 的 SKU> 5% 的 SKU
供应商采购订单满足率> 95%< 90%
促销预测准确率(WMAPE)< 35%> 50%

其他资源

适用场景

当你需要预测需求,并制定适用于各 SKU、门店和供应商的库存策略时,请使用此技能:

  • 针对不同需求模式选择并调整预测方法、安全库存策略和补货逻辑。
  • 规划促销、季节转换、降价清仓和产品生命周期末期策略,同时平衡服务水平、现金流和利润率。
  • 调查长期缺货、库存过剩或预测偏差问题,并通过更清晰的决策框架重新设计规划流程。

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为针对特定环境的验证、测试或专家审查的替代品。
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。

模型假设与决策权限

所有费率、提升/下降幅度范围、阈值、频率、置信区间和采购/降价百分比均为示例;请在本地验证。WAPE 和 MAPE 需要明确处理零需求,并采用可比的汇总方式和预测时长;设置销量门槛并不能让 MAPE 变得有效。缺货期间的销量属于受限需求,并非真正的零需求。保留原始历史数据和事件标记;应估算反事实,而不是悄然删除所有促销/天气时段或泄露未来数据。在每个训练折内拟合所有转换,在实际补货周期上使用滚动起点验证进行调参,并保留一份未触碰的最终测试集。

常规安全库存 z 值在既定模型下,针对的是周期服务水平,而非单位满足率或货架现货率。仅在假设成立时,才使用保护周期内的预测误差、独立平稳的周期误差以及固定/定期审查的时间安排。相关性、可变提前期、趋势、易腐性以及失销/延期交货策略都需要更完整的模型或模拟。不要将预期需求重复计入安全库存。对预留量和延期交货去重,排除隔离/过期库存,并按时间安排已确认的到货。

准备建议/草稿。采购订单、取消、ERP/WMS 调整、定价、清仓/捐赠/销毁以及对外消息,都需要经授权并符合适用的合同/产品管控要求;技能文本不会自动授予任何权限。不要根据总收入推断已挽回的利润,也不要仅凭 WAPE 推断统计预测区间。对预测误差和超额采购的说明应如实保留。

请参阅预测评估和分解。

评论

支持 Markdown