首页 »
知识库 » 此处
作者:Joannès Vermorel,上次更新时间:2012 年 4 月项目的库存量释放出是否需要
补充订货的信号。按照传统,再订货点被视为
交付需求与
安全库存之和。在较基础的级别,再订货点即对未来需求的
分位数预测。计算优化的再订货点通常涉及
交付周期、
服务水平以及需求预测。
本地分位数预测帮助大部分零售企业和制造企业大大提高了再订货点的质量。
此处所述的"再订货点"也称为 ROP、再订货水平或再订货触发水平。
再订货点是一个很重要的概念,不仅对于库存优化如此,对于
库存自动化同样如此。大部分 ERP 和库存管理软件为每个项目关联一个再订货点,以使库存管理实现一定程度的自动化。
分位数估算需求
对库存管理应有一点
起码了解:再订货点表示针对水平线(相当于交付周期)进行需求的
分位数预测。实际上,再订货点表示置信度为 τ%(所需的服务水平)的情况下不会超过需求的库存量。如果需求超过该阈值,则会发生只有在频率为 1-τ 时才发生的事件,然后就会出现缺货。
本地分位数与外推分位数的对比
分位数预测模式的编写很复杂。因此,大部分预测软件只提供
平均数预测。如上所述,再订货点是基本的分位数需求预测。所以,缺乏本地分位数模式的常用
解决办法就是
将平均数预测作为分位数预测外推。
外推通常基于这样一个假设:预测误差遵循
正态分布。在
安全库存中,详细介绍了普通的
平均数预测如何外推为分位数预测。但在实践中,
误差通常呈正态分布的假设不太可靠。实际上,正态分布:
- 太快向零聚合,其速度远快于在零售业和制造业中观察到的经验分布。
- 需求进入整数阶段时太过于平滑。影响平滑度的负数对间断式需求的影响最大。
- 不适合用于高服务水平(值超过 90%)。实际上,越是偏离中位数 (50%),正态逼近的准确度越低。
经验法则:使用本地分位数最有利的时机
尽管
本地分位数存在额外的计算开销,但从库存优化角度而言,在以下情况下,它具有
明显优势:
- 服务水平高于 90% 时。
- 需求为间断式,每周期(日、周、月,具体取决于聚合)售出的产品不到 3 件。
- 大宗订单,即一个客户一次购买 1 件以上,且占据销售量的 30%。
在实践中,如果满足这三个条件中的任何一个,再订货点误差(参见下文)通常可以降低 20% 以上。其原因主要在于将
平均数预测转化为
分位数预测所使用的外推是计算中
最弱的一个环节。
通过 pinball 损失函数确定再订货点的准确度
由于再订货点只是分位数预测而已,因此可以通过使用
pinball 损失函数评估这种预测的
准确度。
只有进行更优良的预测(分位数或外推法)才能减少库存的 pinball 损失。根据经验,pinball 损失减少 1%,安全库存便可降低 0.5% 至 1%,并且可以保持同样的缺货频率。
基于此,我们可以运用当前实践来
制定替代性库存策略基准。如果替代性策略能够降低总体误差,则表明这种战略
更适合贵公司。
这个过程可能看上去会有点令人费解,因为我们在不存在任何预测的环境中运用了
准确度一词(例如在公司未制定任何预测流程的情况下)。其窍门就在于
针对库存量本身暗示了
分位数需求预测。使用 Pinball 损失函数可评估这些隐式预测的质量。
下载: reorder-point-accuracy.xlsx上面的 Microsoft Excel 表说明了如何利用 pinball 损失评估
再订货点的准确度。该表包含多列
输入:
- 产品名称:只读。
- 服务水平:所期望的不发生缺货的概率。
- 交付周期:用于完成补货作业的延迟时间。
- 再订货点:触发补货的阈值(常称为 Min)。再订货点就是进行准确性测试的值。
- 第 N 天:当天售出的产品件数。该表中所选的布局很方便,因此可以在 Excel 中使用
OFFSET
函数计算交付需求(参见下文)。
该表还包含两列
输出 :
- 交付需求:表示从第 1 天开始直至第 N 天结束期间的总需求(其中 N 为交付周期,单位为天)。
OFFSET
函数以交付周期为参数来对天数求和。 - Pinball 损失:表示再订货点的准确度。此值取决于交付需求、再订货点和服务水平。在 Excel 中,我们使用
IF
函数区分预测过高和预测过低的情况。
为了使分析保持一致,需要同时提取输入设置(再订货点、服务水平和交付周期)。根据本表中所遵循的惯例,这次可以是第 0 天结束时或第 1 天开始前。然后根据
事后的销售数据对这些设置进行验证。
提示:大部分 ERP 中不会保存再订货点、交付周期和服务水平的历史值。因此,如果要为再订货点制定基准,需要先对这些值进行快照。然后要等待能覆盖大部分交付周期的期限来临。但在实践中,您无需等待到覆盖最长的交付周期。比方说,要想获得有意义的基准,可以设置一个覆盖交付周期 80% 的期限。
最后,为每个项目生成 pinball 损失值后,即可在表的右下角计算 pinball 损失之和。在对比这两种方法来计算再订货点时,
总 pinball 损失较低的方法为最佳。
有关 Pinball 损失的问答
这种 pinball 损失看起来很可疑。你们不是为了提高 Lokad 的相对性能才提供这种功能的吧? pinball 损失函数已存在数十年之久。如果你同意这个假设,即再订货点应定义为一个以特定概率(服务水平)覆盖需求的值,那么从教科书统计可以看出 pinball 损失是
一种应当用于评估分位数估计量的函数。对这个问题的早期研究可以追溯到 20 世纪 70 年代,有关近期的研究资料,请参阅
Koenker, Roger (2005) Quantile Regression, Cambridge University Press。
如何利用 pinball 损失评估单一项目的再订货点质量?单看一个时间点,是无法评估单一项目的再订货点质量的。除非服务水平非常接近 50%,否则 pinball 损失的变化会非常大。因此在考量单个项目时,需要对几十个不同日期内的损失值求平均值,才能获得可靠的估计值。但在实践中,我们建议最好针对多个项目(而不是多个日期)的损失求平均值。对于一个包含 200 多个项目的数据集,pinball 损失通常为十分稳定的指标,即便只考量单一时间点来确定基准时也是如此。
pinball 损失对极高服务水平的反应很强。在极高服务水平的情况下会不会形成非常大的库存?库存管理的现实性是:要想达到 99.9% 的服务水平,要求提供巨大库存量。实际上,99.9% 的服务水平意味着每 3 年的缺货时间不超过 1 天。运用传统的
安全库存公式,采用极高的服务水平并不会生成巨大库存量。然而,
在公式中使用极高服务水平实际上并不会生成同等的服务水平。简单来说,您可以在软件中输入 99.9%,但在实际中,您
观察到的服务水平不会超过 98%。之所以导致这种情况,是因为假设了需求呈正态分布。传统安全库存公式中所采用的假设不成立,且会导致一种虚假的安全感。而分位数可以对高服务水平(即较大的库存)做出更敏锐的响应。所以,分位数可以更准确地反映实际情况。极高服务水平意味着极高库存量。但您无法实现 100% 的服务水平,您必须有所折衷。
样本表中使用的是每日数据,使用每周数据会怎样?如果交付周期较长,并且可以按周而不是按天来表示,的确可以使用按周聚合的历史数据,结果是很接近的。但是,如果交付周期平均不到 3 周,那么按周聚合引入的差异会非常大。在这些情况下,确实应当考虑每日聚合的数据。由于每日数据冗长,因此在 Excel 表中处理数据时可能会略显复杂。但在实践中,不会在 Excel 表中计算 pinball 损失(概念证明用途除外)。真正重要的一个方面是往库存优化系统中馈送每日数据。
误解:再订货点会导致大量不常见的订单
再订货点对于库存管理质量并不意味着
一切。实际上,再订货点可能不断变化(通常通过软件自动执行),任何库存策略都可以通过随时间不断变化的特定再订货点来表示。
未动态更新再订货点的公司会存在大量不常见的订单。但是,这个问题并非由再订货点
本身造成,而是由原本应当定期更新再订货点的软件未执行自动化操作造成的。
多个具有不同交付周期的供应商
要与再订货点进行比较的库存量通常是
现有存货与
订购存货之和。在下订单时,必须预先考虑现有存货。
如果同一个订单可以传给
多个以不同交付周期交付相同项目的供应商(通常还会有不同的定价),这种情况会变得很复杂。在这样的情况下,可以先发送缺货通知单给
本地供应商,然后再向
远程的供应商发送时间更久的缺货通知单。
为了更精准地对
存在两个供应商的情况建模,必须为每个项目引入
第二个再订货点。第一个再订货点触发从
远程供应商处补货(假设该供应商的价格更便宜,否则从该供应商处采购便没有任何意义),第二个再订货点则触发从本地供应商处补货。
由于本地供应商的交付周期更短,所以第二个再订货点低于第一个再订货点。从直观上说,只有在发生缺货的概率很高,并且时间太迟而无法从
远程供应商处订购时,才会对本地供应商下单。
Lokad 洞察
在零售业和制造业中的大部分情况下,分位数预测优于计算再订货点。这种方法的优点可以通过这样一个事实来说明:在统计中,
直接测量结果胜过间接测量结果。但我们的意思并非说明预测的作用不大。平均数预测除了用于严格的再订货点计算,还具有其他许多用途。例如,在可视化预测结果时,分位数往往因为难度更高而难以被理解。
请使用我们的
库存预测 Web 应用开始优化销售预测。Lokad 精通于透过需求预测来优化库存。我们的预测引擎工具涵盖优化再订货点等诸多本地功能。