深圳培训正在报名中
我们知道,安全库存是应对不确定性的----对于需求和供应的不确定性,供应链的自然应对就是放安全库存。如图1,安全库存有三个驱动因素:(1)需求的不确定性,比如平均需求是每周100个,但有时候是120个,有时候是70个;(2)供应的不确定性,比如供应商的标准交期是4周,但有时候都5周了,货还没有送来;(3)服务水平的要求:服务水平要求越高,就得放越多的安全库存来应对。

图1:安全库存的驱动因素
对于安全库存,很多企业的做法是凭经验一刀切,设定一定天数的用量作为安全库存。比如,A类物料放3周的量,B类物料放2周什么的。这些经验值是多年来吃过的亏、受过的罪、交过的学费,凝聚着组织的很多智慧,不能一棍子打死;但是,一刀切注定有一刀切的问题。
比如,同样是A类物料,但需求的不确定性不一样;或者是同样的供应商,但用的工艺不同,供应的不确定性不一样。即便是同类产品,同样的供应商,同样的补货周期,但对服务水平的要求不一样,都会要求有不同的安全库存。一刀切的结果呢,注定是有的切多了,有的切少了,造成过剩的过剩,短缺的短缺,短缺与过剩并存,都是典型的计划问题。
那解决方案呢,就是客观量化需求的不确定性、供应的不确定性、服务水平的要求,来计算安全库存,然后适当加以调整。比如,计算出来的安全库存是10个,但因为是新产品,需求在增加,所以我们多放3个;或者因为是老产品,快下市了,我们就少放2个。这也是"从数据开始,由判断结束"。
下面,我们通过客观量化这些来计算安全库存。为了不让公式太复杂,我们这里假定供应没有不确定性。我们分三步,来介绍只考虑需求不确定性的安全库存公式。
第一步:量化需求的不确定性
首先,我们来看什么是需求的不确定。人们经常把需求的变动性等同于需求的不确定,也就是说,变动性越大,需求也就越不确定。这里有个假定,就是需求的变动性越大,预测准确度就越低。不管变动有多大,如果我们能准确预测,这样的需求还是确定的。
所谓的不确定性,其实是因为不能准确预测。也就是说,预测有误差,误差越大我们就得放越多的安全库存来应对。所以说,需求的不确定性跟预测误差有关,在数理统计上,我们通过对误差求标准差来量化需求的不确定性。
具体操作上,我们找出过去一段时间的预测和实际需求,计算两者之间的误差,围绕预测误差求其标准差。标准差越大,表明需求的不确定性越大,因而要放更多的安全库存。如图2,我们用6周移动平均来预测,计算每个预测与实际值的误差,并求得误差的标准差为25.1。


图2:量化需求的不确定性
当需求相对稳定,需求本身符合正态分布的时候,我们可以直接围绕需求历史来求标准差,来量化需求的不确定性。这其实相当于把需求历史的平均值当成预测,预测误差等于实际需求与平均值的差,围绕差值求标准差。这种方式的好处是简单直观,不用保留需求预测历史。
让我们实际演算一下来说明。如图3,第②列是过去20周的实际需求,第③列是过去20周需求历史的平均值,第④列是平均值与每周实际需求的差值(误差)。看得出,围绕第②和第④列求标准差,两者的结果完全相同。
图3:需求符合正态分布时,历史需求的标准差就是需求的不确定性
需求符合正态分布,就是一般教科书中介绍的情况,是经典研究的做法和假设。表现在需求模式上,就是需求会上下波动,但没有明显的趋势,也没有明显的周期性或季节性。这种方法相对简单,容易计算标准差,所以容易被很多人滥用。比如有些需求有明显的趋势或者季节性,需求本身明显是不符合正态分布的,就不能用这种简化了的情况。
第二步:量化服务水平的要求
量化了需求的不确定性,接下来我们量化服务水平的要求。对于备货型业务来说,服务水平就是下次补货到来之前,能够完全满足需求的概率。比如服务水平是95%,意味着5%的情况下,需求没法被完全满足。
让我们来理解服务水平的概念。
假定这一天的需求预测是100个,供应也正好是100个,那么完全满足本日需求的概率,也就是说服务水平有多高?很多人想也不想就说100%。不对,只有50%:预测是每天100个,那意味着一半儿的情况下,实际需求会超过100个,我们没法完全满足;一半儿的情况下,实际需求会低于100个,我们能够完全满足,这就得到50%的服务水平。
50%的服务水平够不够?不够。那为了要提高服务水平,我们就得增加安全库存。如图4,增加一个标准差的安全库存,服务水平提高了34个点,达到84%;再增加一个标准差的安全库存,服务水平提高了14个点,达到97%;增加第三个标准差的安全库存,服务水平提高了2个点,达到99%多。
你马上看出,安全库存的边际效应在递减,为了达到最后几个点的服务水平,需要投入很多的安全库存,投入回报太低。所以,光通过设置安全库存,来追求100%的服务水平,是个糟糕的点子。如果你是销售,尚可原谅;但作为供应链专业人士,则是不可原谅的。我们要平衡库存和运营成本,把最后几个点的服务水平,通过供应链执行,比如适当的赶工加急来实现。
图4:量化服务水平的要求
反过来看,如果我们想达到特定的服务水平,需要放多少个标准差的安全库存?我们可以反算出来:Excel中有个函数NORMSINV(见图4),能帮助我们做这样的换算;在数理统计中,这就是在计算正态分布的Z值,也可以通过查正态分布的表格得到。
直观地说,服务水平可以折算成一个安全系数(Z值),两者是一对一关系。服务水平越高,这个系数越大,反之亦然,不过两者不是简单的线性关系。这就是在量化服务水平的要求。
第三步:计算安全库存
在量化了需求的不确定性,量化了服务水平的要求后,安全库存的计算就挺简单:需求的不确定性乘以安全系数,就是安全库存,如图5。
要注意的是,这里的标准差指的是补货周期内的标准差;而我们在图2和图3中计算的标准差呢,一般是以天、周或月为单位。如果补货周期正好是1天、1周或1月,那么计算出来的标准差就是我们这里要用的;否则,我们要做一定的转换,在图5有详细的公式。

图5:安全库存的计算公式
在转换的时候,时间的单位要一致。举个例子。如果需求历史、预测误差是按周统计,而补货周期是28天的话,我们要把28天转换成4周。补货周期4周内的需求不确定性呢,则等于每周误差标准差的
倍(如果用
就大错特错了)。
这也符合"夜长梦多"的常识:补货周期越长,补货周期内的需求不确定性就越大,但这个倍数是开根号的关系,而不是一对一的线性关系。这在统计学上可以证明。如果让时光倒流30年,我在读大学时还可以现场证明给你看;如今我虽廉颇未老,不过对数理统计的很多细节,却是不能推演了。感兴趣的读者呢,可以到网上搜索一下这方面的证明。
让我们回到图2中的例子。假定期数是周,产品的服务水平是92%,补货周期是4.5周。那么,所需安全库存的计算如下:
如果把服务水平的目标设为95%,那么安全库存就变为87----服务水平只提高了3%,安全库存却增加了17个百分点。






评论