在需求预测中,时间序列是把需求历史按照时间的先后顺序排列,影响需求的变量只有一个,那就是时间。这并不是说没有别的变量;有,而且可能很多,但我们没法一一解释,就把它们全都归因于时间(有点像"时间可以治愈一切")。这些变量整合在一起有一定的惯性,随着时间的进展,呈现出某种模式,这就是需求的延续性。
如图1,时间序列可分为三部分:(1)水平----需求展现出忽高忽低的变化,但没有明显的趋势、季节性;(2)趋势----随着时间推移,需求呈现增长或者降低的趋势;(3)周期性----需求呈现交替性的高峰、低谷,季节性就是其中一种,是有规可循的周期性。水平波动、趋势和季节性是需求变动中的"系统部分",可预测;其余的"杂音"属于随机变动,不可预测。
图1:时间序列的基本构成
资料来源:《供应链计划:需求预测与S&OP》,许栩著,有修改。
比如,一个卖热饮的企业营收每年增长30%,这是趋势;热饮冬天卖得多,夏天卖得少,这是季节性;两者加到一起,就是趋势与季节性并存,是可以预测的。当然,热饮的需求受气候、竞品等各种影响,有些不能预测,那就是"杂音",成为时间序列的随机部分。
再比如牛奶产量,在过去的几十年里,奶牛的平均产奶量在增加,这是趋势;夏秋产奶多,冬春产奶少,这是季节性;两者加到一起,也形成趋势与季节性并存的时间序列。城市的用电量,商用车的销量,甚至治疗糖尿病的药的销量都呈现趋势和季节性。
让我们再看个例子。
图2是某地多年来国际航班的乘客总数,单位是千人。我们分解乘客人数,发现乘飞机的人是一年比一年多,呈现明显的趋势;季节性也很明显,这是由每年的寒暑假、法定节日等驱动;剩余的是随机成分,也就是难以系统地预测的部分。
图2:时间序列的分解
时间序列的可分解性,有着极其重要的实践意义。它让我们从貌似纷繁复杂的世界里,提炼出我们能够理解的,即趋势、季节性等有重复性、延续性的成分,把未知留给那些随机变动的部分。经过分解,我们会发现,大部分变动的其实是可知的,也就是数据可以解释的;未知的只是很小一部分,需要数据外的判断。
那些未知的随机变动中,有相当一部分是管理行为导入的变动,表现为波峰波谷,其实也有一定的可预见性,如果找到那些导入此类变动,或者熟悉竞品、客户行为的职能,比如市场、销售、门店经理,让他们及早帮助判断的话。剔除这些管理导入的变动,剩下的才是真正的随机变动。
就这样,我们把需求分解成了三大块:
(1)历史数据完全可以揭示的趋势、季节性变动,只要我们分析历史数据,即能很好地预知,这就是"从数据开始";
(2)管理行为导入的变动,比如促销、活动、新品导入和老品下市,只要我们很好地对接市场、销售等职能,"由判断结束",即可大幅降低大错特错的概率;
(3)历史数据、职业判断都没法解释的随机波动,我们要通过设置安全库存和供应链的执行来应对。
现在你知道,为什么需求预测主要是个计划行为:计划的数据分析不到位,没法把有规律的可知部分提炼出来,就把所有的变动都当做不可知,于是就不可避免地依赖销售"提需求",走上一条不归路。数据驱动的计划都没有能力分析数据,经验主义的销售、市场就更分析不了,企业在需求预测上就不得不"从判断开始,由判断结束",靠拍脑袋,在粗放管理的泥淖里打滚。
即便是随机部分,也不是完全的不可知----小概率事件一旦发生了,就不再是小概率事件了。也就是说,凡是发生了的,其实都有其必然性。那些可预知的东西,比如趋势、季节性,最初也往往是以"随机"的面目出现。
比如原来的需求挺稳定,业务开始增长时,增长部分是水平部分没法解释的,就被归到随机部分;业务继续增长,你会发现"随机"变动中,有了趋势的成分,变成了可以预测的。
季节性变动也是:刚开始时没呈现任何规律,被归入随机变动;增长地时间长了,就成了增长趋势;然后开始下降,归为下降趋势;过了一段时间又开始增长、下降,这就成了季节性。
我们的解决方案呢,一方面是尽快滚动预测,纳入最新的需求历史和职业判断;另一方面是选择、配置合适的模型,通过模型更好地"规律"化这些"随机"因素。这些模型包括移动平均法、简单指数平滑法、线性回归、霍尔特法、霍尔特-温特模型等,我们在本书会详细介绍。如果应用得当,应该能够解决大部分的需求预测问题。
评论