Eun-kyu Baek·

全球库存明明充足,为什么还会断货?——多仓时代的库存与需求预测

只看数字,确实如此。但就在同一时间,这个品牌的仪表板讲述的却是完全不同的故事。

global-inventory-stockouts-demand-forecasting image 1

“全球总库存有46,000件,这还不够充裕吗?”

只看数字,确实如此。但就在同一时间,这个品牌的仪表板讲述的却是完全不同的故事。

全球总库存:46,200 unit
可用于广告的库存:31.2%(按 Available 计)
各仓库存天数(DOS):6天~86天不等

一个海外仓里压着86天的畅销品库存,另一个仓库却预计6天后断货。从总量上看是“充足”,实际上积压和断货却在同时发生。

当只用一个国内仓库运营自营商城时,“现有库存 vs 安全库存”这一个标准就够了。但随着海外节点一个个增加、为节省运费从空运转为海运、电商平台渠道不断扩张,库存管理的难度就不再是线性增长,而是成倍攀升。

本文以一家在全球运营多个仓库的D2C品牌的真实咨询案例为基础,梳理一套超越简单安全库存公式的3阶段库存与需求预测模型:① ADI需求诊断,② 基于DDMRP的NFP与缓冲订货,③ DAF动态调整。

如果说上一篇文章《知道“库存还剩多少”,却不知道“什么时候该补货”的品牌,请看这篇》中介绍的安全库存、ROP和ABC分析是库存管理的基本功,那么本文就是叠加了多仓库、长交货期、需求波动大等条件后的进阶篇。


为什么仅靠标准安全库存公式已经不够

安全库存公式(Z × σ × √交货期)建立在一个隐含前提之上:需求稳定且相对均匀。一旦这个前提被打破,公式的可靠性也会随之崩塌。

前提被打破的典型情形:

  • 并非每天都有销售的商品。一个月只卖几次、每次几十件的商品,“日出库量标准差”这一概念本身就会失真。

  • 促销峰值很大的商品。按平时需求计算出的缓冲,一次促销就会被击穿。

  • 交货期以周计的海运。交货期越长,√交货期这一项就越大,安全库存随之膨胀,而且期间还会出现“在途库存”这一新变量。

  • 有多个仓库。按全公司合计的安全库存失去意义;而一旦按仓库拆分,又会冒出“各仓库分配多少”这一新问题。

还有一个重要的发现:商品的物理属性不同,应参考的库存运营方法论本身也不同。

维度消耗品类商品(如化妆品、食品)耐用品类商品(如电子产品、设备)
保质期有——存在消化压力无——可长期存放
单价与周转低单价、高周转高单价、低周转
需求模式大体稳定(Smooth)波动型与间歇型并存,促销峰值大
配件耗材占比小喷嘴、滤芯、适配器等间歇性需求品较多
运输空运占比高适合转为海运——善用管道缓冲

经营耐用品的品牌如果直接照搬消耗品类的基准(以高周转为前提的库存指标),判断就会出现偏差。在这个案例中,同行业的数据也几乎没有,反而以电子产品(手机、平板)的库存运营方法论作为参照更加准确。

因此,第一步不是计算订货量,而是先诊断自家各SKU的需求属于什么性质。


第1阶段:需求诊断——用 ADI × CV² 把SKU分为4种类型

需求预测学界广泛使用的 Syntetos–Boylan 分类法,从两个维度诊断SKU的需求。

ADI  = 观测期 ÷ 需求发生次数          → “多久卖一次”
CV² = (需求量标准差 ÷ 平均值)²       → “每次卖出的数量是否稳定”

临界值:ADI 1.32 / CV² 0.49(Syntetos, Boylan & Croston, 2005)

以这两个维度画出四个象限,所有SKU都会落入4种类型之一。

类型特征应对策略
Smooth稳定均匀——畅销主力商品标准安全库存公式唯一能良好运作的区间
Erratic销售频繁,但数量波动大加重波动缓冲——把Red安全区设得更厚
Lumpy偶尔卖、一次卖很多——限定款、礼盒套装以促销与季节计划(DAF)为主应对,而非统计缓冲
Intermittent间歇性少量——配件、零部件排除在预测模型之外,用单独的简单规则管理

这种分类之所以重要,原因只有一个:类型不同,就不能套用同一个公式。把适合Smooth SKU的安全库存公式用在Lumpy SKU上,平时会造成积压,活动时又会断货。反过来,如果把Intermittent类配件也塞进精密的预测模型,只会放大噪声——果断排除反而能提高准确度。

这种分类无需手工完成

计算ADI与CV²所需的只是各SKU的需求时间序列,也就是早已积累下来的出库记录。Laplace利用RPA采集的预计入库、实际入库与采购订单(PO)数据,自动计算各SKU的ADI与CV²,并自动打上4种类型标签。临界值(1.32 / 0.49)、汇总周期(按周/按月)以及各SKU的手动覆盖,都可以在管理后台直接设置——从学术标准值起步,再根据自家品牌的数据进行调整。


第2阶段:订货模型——依据NFP而非现有库存来判断

在多仓库、长交货期的环境下,“现有库存”并不适合作为订货判断标准。仓库里的部分库存早已被订单占用,海上还漂着几周后才到的货。因此,DDMRP(Demand Driven MRP)方法论使用一个名为NFP(Net Flow Position,净流量头寸)的综合指标来判断。

NFP = 现有库存(On-Hand)+ 未到货订单(On-Order)− 确定需求(Qualified Demand)

通俗地说就是:“现在仓库里有的 + 正在路上的 − 已经确定要发出去的”。把这个NFP代入各SKU的缓冲区,即可判定是否需要订货。

Green  ── NFP落在此区间 → 无需订货(正常)
Yellow ── NFP落在此区间 → 执行订货(补至 Top of Green)
Red    ── NFP落在此区间 → 紧急处理(expedite——改空运、调拨等)

订货量 = Top of Green(TOG)− NFP

实际判定结果如下

以下是三个需求类型不同的SKU在同一天的快照。

SKU(类型)现有库存未到货确定需求NFP判定订货
SKU A(Smooth)1,1802,4009202,660🟢 Green—
SKU B(Lumpy)420300230490🟡 Yellow+390
SKU C(Erratic)310024070🔴 Red+570

值得注意的是:只看现有库存,SKU B(420件)似乎比SKU C(310件)更宽裕;但把未到货和确定需求都计入NFP后,两者都需要订货,而且C已处于紧急状态。“仓库里有多少件”和“实际头寸在哪里”是两个不同的问题,订货应依据后者来判断。

决定缓冲大小的输入

Red、Yellow、Green各区的大小并非随意设定,而是由三项数据输入和一项策略输入决定。

数据输入(自动采集与计算):

  1. 订货类型区分——同样是出库,性质却不同。AI会自动区分是库存补货(Replenishment),还是有实际交期要求的订单(Order),并标注国内/海外、B2B/B2C等区域属性。Order有允许的交期,因此会直接反映到防断货缓冲中;用户也可以在管理后台自行重新设定分类。

  2. 供应可靠度——把供应商履约的程度量化。

数量满足率 = Σ 实际入库量 ÷ Σ 预计入库量
准时履约率 = 准时入库次数 ÷ 总次数
供应可靠度 = 数量满足率 × 准时履约率   (OTIF概念 · 0~1)

可靠度为0.9的供应商和0.6的供应商,安全区(Red)不可能一样大。可靠度越低,Red越厚——这一调整会自动完成。

  1. 交货期——根据实际的下单→出库→入库记录,分段(运输、清关、其他)实测。没有数据的环节先以行业标准耗时起步,随着记录积累,估算值会逐步被实测值取代。

策略输入(用户设置):

  1. 缓冲配置——波动系数(需求与供应波动越大,Red越大,并按ADI类型差异化)与交货期系数(交货期越长,Green越大)。与上一篇文章中的Z值一样,这不是数据,而是“断货成本与库存成本,哪个更需要警惕”的经营判断,是由品牌自己设定的调节旋钮。

第3阶段:DAF动态调整——缓冲不是固定值

到目前为止的缓冲都基于历史数据。问题在于,未来已知的变化——促销、季节、新渠道上线——并不存在于历史数据中。DDMRP用DAF(Demand Adjustment Factor,需求调整系数)来解决这个问题。

调整后ADU = 基准ADU(日均需求)× DAF

例)促销期间应用 DAF 1.8
→ 该期间的缓冲临时上调至1.8倍
→ 根据交货期倒推,在促销“之前”通过海运提前备货

关键在最后一行。对于转为海运、交货期长达数周的品牌来说,应对促销不应该是“临时用空运紧急调货”,而应是“提前几周把缓冲加大,装上船”。DAF就是让系统来完成这种倒推的机制。

同样,管道(在途)库存的地位也随之改变。从空运转为海运能节省运费,但交货期变长,海上会一直漂着货。把它当作“还没有的库存”就会过量订货,当作“已经有的库存”又会缺货。正确做法是作为On-Order准确计入NFP——它既不是免费的缓冲,也不是可以忽略的东西,而是需要管理的对象。


在仪表板上是这样呈现的——3个运营界面

模型再精密,如果没有每天查看的界面,也无法真正用于运营。以下是该案例中实际搭建的三个界面。

① 各仓DOS对比——揭示“合计”所掩盖的失衡

就是文章开头提到的那个界面。同一款畅销SKU在各仓库的库存天数:

枢纽仓(国内):22天  → 健康(标准:14~45天)
海外节点A:86天  → 积压——资金被占用
海外节点B:6天  → 即将断货

这个界面的价值在于,三项决策可以在同一个界面上同时得出:① 针对积压节点的清库存活动,② 从枢纽仓向即将断货节点紧急调拨,③ 重新分配下一批订货在各节点的比例。只看合计数字的时候,这三项决策都无从发现。

② 库存状态拆解——Available / Committed / QC Hold

把46,200件总库存按状态拆开来看:

状态含义数量占比
Available真正可用于广告和销售的库存14,42031.2%
Committed被订单和仓间调拨占用的库存24,88053.8%
QC Hold等待入库质检6,90014.9%

能够支撑广告投放的库存只占总量的31%。尤其是QC Hold占14.9%,是通常水平(约7%)的两倍——这个界面揭示出一条连锁反应:某个节点的入库质检瓶颈,正在加剧其他节点的断货危机。“有库存”和“有可用库存”是两回事。

③ 断货风险趋势——把库存数据接入广告运营

将销售速度 × 可用库存 × 交货期合成为风险指标(0~100),按仓库×SKU维度进行追踪。当某节点主力SKU的风险值在7天内从14飙升至86时,运营团队在同一个界面上一次性执行了三项操作。

  1. 将该SKU的广告日预算削减30%(超过风险阈值时放缓广告投放节奏)

  2. 从枢纽仓向该节点紧急空运调拨

  3. 调整排序,优先展示Available库存

这就是该模型的最终落点:库存分析不再止步于物流团队的报告,而是与广告、调拨、订货等执行动作在同一界面上同步。在断货状态下投放的广告费会白白蒸发;而在库存系统与广告系统相互割裂的组织里,这种浪费每次都要事后才被发现。


总结——分阶段概览

阶段问题方法产出
1. 需求诊断这个SKU的需求属于什么性质ADI × CV² 自动分类(Syntetos–Boylan)SKU 4类标签,确定预测对象
2. 订货模型何时订、订多少NFP = OH + OO − QD,RGY缓冲判定各SKU的订货时点与数量
3. 动态调整如何反映促销与季节因素用DAF预先调整ADU,纳入管道库存活动前主动上调缓冲
运营界面每天看什么各仓DOS · 状态拆解 · 断货风险广告、调拨、订货同步执行

一句话概括:没有诊断(ADI)就不要计算;计算(NFP)要看头寸而非现有库存;执行要和广告在同一个界面上完成。


如何应用到自家品牌

这个模型的原料并不是什么特殊数据。采购订单(PO)、预计入库、实际入库、出库记录——大部分品牌的履约服务商或WMS里早已积累了这些数据。Laplace通过RPA自动采集并标准化这些数据,把上述诊断、计算和界面搭建成可以实际运营的形态。

Step 1. 基于出库记录自动进行ADI与CV²分类 → 先确认自家SKU中Smooth类占百分之几。如果Smooth占比偏低,那么一直依赖标准安全库存公式的订货为什么总是出偏差,在这一步就能得到解释。

Step 2. 整理订货类型、供应可靠度与交货期实测数据——尤其是供应可靠度,大多数品牌从未量化过这一指标。

Step 3. 将缓冲配置(波动系数与交货期系数)确定为策略——按ADI类型差异化应用

Step 4. 把NFP与RGY判定纳入每周订货例行流程,并通过DAF联动促销日历

Step 5. 将各仓DOS、库存状态与断货风险界面与广告运营打通

多仓库、出海、转为海运——只要符合其中任何一项,“现有库存 vs 安全库存”的框架很可能已经触及极限。如果库存充足却仍在断货,问题不在库存数量,而在于解读库存的框架。

不妨和Laplace一起,从诊断自家品牌的需求类型开始。


方法论参考:需求类型分类中ADI与CV²的临界值(1.32/0.49)依据 Syntetos, Boylan & Croston(2005)的“On the categorization of demand patterns”;订货模型遵循DDMRP(Demand Driven MRP)方法论中的NFP与缓冲区概念。