MIT供应链基础框架 – 高级预测 第三课
理论联系实际。第三课是关于预测的理论部分最后一节,这里讲述的内容更贴近实际,我目前已经采用Holt Winter方法来预测我们一种重要的成品的每个月销量,而我们的交期一般是在4周左右,从而我可以用这个来参考预备库存以及发预报给供应商。通过近1年的数据运行,个别月份的差异较大,按照我的经验来看,一个关于月销量的预测在+/-25%之内的误差都是一个好的预测。
我想大家对于这个问题都没有什么异议”既然预测是错误的,为什么还要预测“,一个简单的答案可以用这句英文来表达”Many people fail to plan, but nobody plans to fail”.
理论部分。MIT课程讲到的预测高级方法一点的是有2个:第一、二次指数平滑预测法,即使用价值销量(Level)和趋势销量(Trend)两个参数去预测;第二、Holt-Winter模型法(大家有兴趣可以去百度或者google一下这个),他是考虑了除了二次指数平滑的两个参数,又把第三个参数:季节性销量考虑了进来。所以可以说,Holt-winter模型基本上涵盖了二次指数平滑法。
关于季节性,可能很多人都有感觉,许多许多产品都是有季节性的,比如巧克力、糖果、礼盒在中国新年、西方圣诞节销量猛增,而像文具在2月和9月开学季销量比平时要高很多。
本章德内容是深入的讲解HoltWinter的预测方法,并给出具体的计算步骤,甚至告诉你如何去计算Level, Trend, Seasonality的excel单元格公式,以及如何去根据你的产品历史销售记录初始化这些参数。给大家看一个简单的截图,你就知道MIT有多么用心良苦了。请大家不要被这些花花绿绿的公式吓到,当你把这些代入案例以后,就非常清楚了。
Alpha是用来给价值销量(Level)加权重的,Beta是对趋势(Trend)加权重,而Gamma是针对季节性(seasonality)加权重,让你对历史数据更重要还是最近的预测更重要有了一个漂亮的数学表达式。
在你的业务中,当你开始使用一种模型进行预测的时候,有些实际的问题必须考虑。首先,我们必须意识到没有一个最好的方法可以适合于各种业务场景,可能存在多个“好”的预测模型;其次,与大数据算法一样,你需要“训练”你的数据、清除数据中的“噪音”,然后才能用于将来的预测;再次,数据的选择很重要,要足够多,但是也要与业务依然相关;最后,模型是需要不断的真实数据的输入,他不是一劳永逸的,需要持续的“喂养”。
如何初始化这些参数?Level,trend,seasonality
Level:用前几个月,或者去年的月度平均来作为基准开始。
Trend:最小二乘法的回归分析,可以帮忙计算出一个近似的数据。Excel的数据分析功能可以实现,当然也有一些专业的工具,在MIT的后续课程会介绍一些工具。
Seasonality:这个数据的获取相对复杂,首先要求你必须有整个一个循环的数据才可以,如果有两个循环的数据更好,一个简单的方法是如果你有12个月的数据,首先求出12个月的平均值,用每月的实际数值除以平均值就是这个月的季节性参数,MIT课程里面还提供了一些其他的方法,以及如何处理头尾的小技巧。
Alpha, Beta, Gamma数值的选取很有讲究,MIT建议alpha的数字在0.1~0.3之间,Beta在0.005~0.176之间,Gamma在0.05到0.5之间。当你建立好excel的预测模型之后,再设置模型监控参数,如预测第一篇里面所讲的MD,MSD等,可以通过调整Alpha,Beta, Gamma这个数字,来看看MD,MSD等的变化,从而达到模型预设的误差20%或者其他数字的要求。
本部分的内容有点技术性,单纯从这些文字中,你可能很难建立你的模型。这个文章是一个抛砖引玉的过程,希望大家在MIT的官方学到细节的东西。下次内容,将会做一些实际案例的分享。
欢迎大家转发,并关注。