需求相對穩定時,選用數據模型來精打細算
要說一個具有哲學性質的話題:為何能夠預測呢,我們存在能夠預測的情況,是依據于,其一,時間序列具備延續性,這也被稱作連貫性,其二,變量之間存在相關性,這也被叫做類推性,也就是說,已經發生的和還沒有發生的有著某種關聯。
在需求不確定性處于很高程度的情況下,無論延續性方面,還是相關性方面,我們都不具備容易量化之特性。然而,我們的頭腦乃是最為復雜的那種“AI”系統,它能夠構建起變量之間呈現非線性、難以予以描述的聯系,而這也就是憑借經驗、“拍腦袋”之舉。我們尋覓有經驗之人,原因在于他們的頭腦之中沉淀有更多的數據量,并且他們的腦細胞更有可能促使他們建立起此類聯系。
需求不確定性低時,尤是有了一定需求歷史后,歷史與未來的延續性較易建立,關聯也較易建立,其反映于一些簡單且實用的模型中,此即我們這里所講的數據分析與數據模型。計劃者的任務,是找出并應用這般關聯性即預測模型,對未來作出預判,借此指導供應鏈執行從而提前準備。
相關性所指的是,變量之間存在著這樣一種關系,這種關系是能夠進行類推的。舉例來說,要是促銷預算越高,那么所購買的廣告以及流量就會越多,而產品的銷量通常情況下也會隨之越高;要是預售期賣得好的產品,那么在正常銷售階段一般也會賣得好;要是在試點區賣得好的產品,那么在所有區域同樣也會賣得較為不錯。我們常常會說不怕不識貨,只怕貨比貨,而這所說的“貨比貨”正是基于相關性,在數據有限的具體情形下,比如在新產品的預測當中,會扮演極具重要性的角色。通過有限時間里有限客戶的需求,來推斷整體的需求預測,小步快走、盡快糾偏,其背后的邏輯同樣是相關性。
你如今清楚了,讓營銷進行判斷,實則是借助他們過往的經歷,像是以往做促銷之際,花費了多少金額,購買了多少流量,售賣了多少產品,以此來判斷此次花多少錢,能夠賣多少貨物。這并非單純地“拍腦袋”決定,這同樣是以數據分析作為基礎。試去想一想,每當開展活動、進行預算之時,營銷也必須拿出一些數據給老總,用以證明為何要100萬元的預算而非60萬元的預算。運用得較為頻繁的邏輯,便是相關性。
我們常用以考量相關性的就是線性回歸法這個模型,變量之間有一定線性關聯,依據變量數量線性回歸分為一元、二元、以及多元線性回歸,線性回歸似乎聽起來很厲害,實際上我們每天都在運用,像是投入多產出就多,這就是基本的線性回歸思路,線性回歸涉及一些基礎數理統計內容,在我的《需求預測和庫存計劃:一個實踐者的角度》這本書第57到77頁有詳細闡述,這里就不再重復說明了。
時間序列里的延續性,體現為顯示一定的模式(見圖一到十五),其一為趨勢,即伴隨時間推進,需求顯現上升或者下降的趨向,其二是周期性,需求展現出交替出現的波峰與波谷,其中的季節性便是其一,其三是隨機變動,在外界因素作用下,需求呈現出忽高忽低的變化,不過總體是平穩的。
倘若光是去看那圖1 - 15里的實際數值,我們極難對之后的需求作出預測。可是一旦我們把當中的趨勢以及季節性給分解出來后,便尋得了數據里的大部分規律:趨勢能夠被預測,季節性同樣也如此。那剩下的部分即為殘余,也就是趨勢以及季節性數據模型無法作出解釋的部分,我們把它歸結為隨機因素,通常依靠安全庫存、供應鏈執行去應對。

圖1-15 時間序列的分解示意
那些為數不多的波峰、波谷,在這些隨機變動里,真正有可能“害死”我們,前者或許會引發短缺,后者也許導致過剩。且雖說其中存在隨機情況,然而好多波峰、波谷并非隨機出現,而是源于發生的一些能顯著改變需求的行為,有些是客戶帶動的,有些是我們自身主導的,有些由競爭對手引發,當我們不清楚背后的驅動因素時,就將它們判定為“隨機”。這便要銷售的判斷,要產品的判斷,要客戶端的判斷,去針對那些尚未發生但是存在發生可能的促銷,還有活動,以及產品切換,包括市場競爭,乃至政策變動等進行提前的預判,從而完成需求預測中“由判斷來給予終結”這樣的操作。
看得出來,針對這樣的時間序列,大部分的預測工作借助數據模型就能達成,僅有極少部分需要進行判斷。在需求計劃薄弱的企業當中,計劃常常沒有能力提取需求歷史里的規律性部分,因而毫無區分地依賴一線銷售上報需求,消耗了一線的大量資源,反而致使一線無法專注于那些真正需要管理的內容。其結果便是既無法做到“從數據起始”,也無法做到“以判斷收尾”,預測準確度較低也就不難理解了。
針對于圖1-15當中的隨機之變動,以及趨勢指數平滑法公式,還有周期性,我們是有著相應的預測模型的,接下來會予以簡單的介紹。
要是需求不存在明顯的趨勢,也不存在季節性特征,那我們便可認為這種變動大多是隨機產生的,進而能運用移動平均法以及簡單指數平滑法去開展預測。移動平均法與簡單指數平滑法屬于兩種最為簡單,且應用程度最為廣泛的預測模型,尤其是簡單指數平滑法更值得注意。
移動平均法是這么來的,它是拿過去一段時期的需求,去求平均值,而后把這個平均值當作下一期的預測數值。要是每期的權重是一樣的,這種情況就稱作簡單移動平均法;要是權重不一樣,那就叫做加權移動平均法。打個比方,要是運用簡單移動平均法依照3個月來做預測,那么7月的預測結果就是4、5、6這三個月需求的平均值。這里面的關鍵要點在于:到底要用多長時間的需求歷史呢?這就是移動平均法的擇優問題,一般靠復盤的方式去確定。比如說,我們已然知曉最近十三周每周的實際需求情況,我們能夠運用更為久遠的需求歷史,去復盤并預測過去十三周的需求,查看三周移動平均的誤差是不是最小,亦或是六周或者八周,諸如此類。具體的操作方式,以及怎樣計算預測誤差,如何評估預測準確度,在我的《需求預測和庫存計劃:一個實踐者的角度》這本書里有詳盡的描述(位于第13至17頁)。
依據簡單移動平均法的假設邏輯,每期的需求歷史所占比例是相同的。然而,這種情況并非必然成立,畢竟憑借直覺我們便可得知,最新段的需求歷史通常具備更高的參考價值。基于這種認知,加權移動平均法由此衍生出來,就像上一期中所占權重是百分之三十,倒數第二期的權重為百分之二十五,倒數第三期的權重是百分之二十等等,并且其所有的權重相加總值是等于一的,至于權重到底應怎樣進行分配,這又是屬于模型擇優時需要面對的任務范疇,能夠借助計算的方式,在不同權重分配的情形下,依據預測準確度來予以確定。
你很快就會發覺,看似極為簡略的移動平均,實際上若要運用得當,絕非輕而易舉之事:我們必須明確采用多長的需求歷史(也就是說,我們平常所講的,多長的需求歷史具備代表性),我們同樣得確定權重的分配。在實際運用當中,眾多企業皆是依靠經驗,選定一定時長的需求歷史,不是簡單平均,便是加權平均,當然存在優化完善的余地。
我們接下來要介紹的簡單指數平滑法,實際上是一種特殊的加權平均法,其權重是按照幾何數級進行衰減的,也就是說,距離相對較近的需求歷史權重是比較大的,而距離相對較遠的權重則比較小。那么,權重到底會有多大,衰減的速度又會多快呢?這取決于平滑系數。這個系數的取值范圍在0到1之間,當取值越大的時候,最新需求歷史的權重就越大,預測模型也就越靈敏;而當取值越小的時候,權重的衰減速度就越慢,預測模型也就越穩定。
于操作方面而言,簡單指數平滑法只需利用兩個數據點,即上期的實際值與上期的預測值,下期的預測乃這兩個值的加權平均。此邏輯恰似踢足球,如圖1-16所呈現的那樣,身為防守隊員,你需要預測接下來往何處奔跑,你是受預測所驅動的,這依賴于球當前停留的位置,也就是上一期的實際值,并且取決于你當下所處的位置,即上一次的預測值。存在著兩個極端情況,首先一種情形是球跑到哪里你便跟到哪里,這也意味著會百分之百將上次的實際值當作預測值,即平滑系數等于1;其次另一種狀況是無論球處于何處,你均按照自己以往的戰略,也就是百分之百遵循上次的預測,這兒的平滑系數等于0。如你所知,這兩類極端情況是都會致使你輸得極為慘重的,所以你需要在二者之間找尋到平衡,而這實則就是簡單指數平滑法的擇優過程,它是借助擇取適宜的平滑系數來達成的。

圖1-16 簡單指數平滑法的邏輯就如防守隊員的防守邏輯
和移動平均法的擇優邏輯相同,我們通常用復盤方法,截取一段包含代表性的需求歷史,用年代更為久遠的數據實施復盤預測,測算于各個不同平滑系數情形下,每一種簡單指數平滑法的精準程度,挑選出預測精準程度最高,也就是預測誤差屬于最小的那種方式。
聽上去頗為玄妙的簡單指數平滑法,實際上,操作起來是比較簡單的,自20世紀50年代發展起來后,已然相當成熟,我們在此不再對方法論本身進行贅述。我想要說的是,為何簡單指數平滑法如此重要。
有一種方法叫簡單指數平滑法,它是好的,其原因在于,從邏輯層面來講,它與實際情形更為契合,舉例來說,需求歷史中越靠近當下的部分,越具備參考意義。這一點是相當關鍵的,它所蘊含的意義是,它能夠以更快的速度捕捉到新近發生的事情,進而及時對預測進行更新。比如說,銷售在前端實施了促銷舉措,然而卻并未向你傳達這一信息,可是簡單指數平滑法在察覺到昨天的需求有所增高之后,便會給予這樣的建議,那就是你應當在今天多運送一些貨物過去。比如,昨天你的生產線上,有個關鍵備件壞了,這備件很少出現故障,是典型的長尾情況,然而它現在壞了,或許意味著這批設備開始老化,相應地,簡單指數平滑法會將這個信號及時歸入預測里,提示你要留意多儲備貨物了。
好的簡單指數平滑法,還因其具備“簡單”特性:僅需單平滑系數這一參數就行。我們借由對平滑系數予以調整,便可讓預測模型得以優化。像業務變動幅度大之際,平滑系數的值就會更大;業務相對穩定之時,平滑系數能夠求取更小的數值。總體而言,此方法相較于移動平均法有更高的預測準確度。
也許有人要問,要是存有“容易”指數平滑法,如此便也有“不容易”是指數平滑法嘍?沒錯,這就是咱們隨后要講解的霍爾特模型、霍爾特–溫特模型——它們均是用于預測趨勢、趨勢加季節性的之類不同情況所需用到不同方式的模型,其中霍爾特模型用于預測趨勢所需用到不同方式的范疇下的模型情況,霍爾特–溫特模型用于預測趨勢另加季節性所需用到不同方式的范疇下的模型情況。
我們清楚,簡單指數平滑法適用于這樣的情形,即不存在明顯的趨勢,不存在明顯的季節性。因為一旦存在,簡單指數平滑法就會出現系統性的偏差,比如說當需求呈現增長或下降趨勢的時候,簡單指數平滑法會持續偏低或者過高(移動平均法亦是如此)。
時間一旦長久,需求常常會展現出一定的模式,并非僅僅是進行隨機變動了耶。就好比你開創了一家嶄新的店鋪,又或是引入了一項新奇的產品,歷經時間方面往前推進,口碑變得愈發美妙,業務呈現出一定的處于上升狀態的趨勢喲;又比如說好多業務具備一定的季節性特質,到了這個時候,就需要使用更為恰當合適的模型去進行預測啦。
若時間延續得足夠久,季節性的因素常常就難以避免指數平滑法公式,此乃必然之事。在這個世界范圍之內,要尋覓到不存在季節性的需求甚是困難。存在一些是由自然因素所驅動的情況,像寒來暑往季節交替,熱飲與冷飲業務交替更迭變換,電力消耗以及煤氣消耗出現變化等;存在一些是由人為因素所驅動的情形,像因季度考核致使季末沖量,在 6·18、“雙 11”等大型促銷情況中即是如此。甚至就連部分政府項目也存在季節性:上半年進行走流程以及審批預算的操作;下半年開展做項目以及突擊花錢的行為。
在應對方面,霍爾特的一種模型增添了單個平滑系數,以此來處理趨勢方面的諸多問題;而霍爾特 - 溫特的那種模型則增添了兩個平滑系數,其中一個平滑系數用于應對趨勢相關的情況,另一個用于應對與季節性相關的問題。
指數平滑法具備強大之處,這強大還體現在其自適應性上。就趨勢而言,比如,我們能夠運用線性回歸去找出一條直線來進行模擬,該直線的斜率是固定不變的,顯得較為僵化。而在霍爾特模型當中,斜率自身是能夠調整的,我們會用一條折線來予以模擬,如此一來,擬合度相較于一條直線自然是更高的,預測準確度同樣也會更高。倘若還要進行譬如舉例的話,當我們論及日常所運用的季節性類別模型之時,季節性因子的比重是穩固不變的喲(四個季度的比重相加之和為1,然而每一個季度的比重是恒定不發生改變的呢) ; 在霍爾特 - 溫特模型里呀我們的的確確是存有專門的平滑系數的,其目的乃是施行動態性的對于那季節性因子作出調整的,這一系列的情況均能夠致使模型的擬合程度變得更高的,并且預測的精確程度自然而言同樣也是更高的。
當前,于指數平滑法體系當中,我們擁有了三類模型,它們可處理遭遇到的大部分需求預測問題,無論屬于隨機變動,還是趨勢性變動,抑或是季節性變動。我們能夠對相應的平滑系數予以調整,以使這些模型更優地適配實際業務。這正是在預測領域,指數平滑法成為應用最為廣泛的方法的緣由,不存在其他情況。于每一款計劃軟件中,你都能夠見到指數平滑法的蹤跡,并且它還是主要的背景算法。人工智能、機器學習領域,同樣離不開指數平滑法。
針對規律性的事物,沒有誰知曉得會比數據更多。借助這些常用的那些預測模型,我們能夠發掘數據內已知的規律,于預測方面力求更好,優化交付以及庫存周轉。當然了,預測方法猶如深邃海洋,此處僅僅略微提及。更多的細節,像是指數平滑法的初始化,平滑系數的挑選,實施期間要留意的問題等等,可參考我的《需求預測和庫存計劃:一個實踐者的角度》那本書。
此外,我還想強調三點。
其一,在預測方法方面,簡單的模型常常比復雜的更具效力,你所能夠理解的模型往往勝過你所不理解的。這里所談到的移動平均法以及指數平滑法,應是能夠應對我們所碰到的絕大多數問題的。要是有人一開口就提及傅里葉變換、機器學習、神經網絡一類的,你可得萬分謹慎才行:那些固然都極為重要,然而它們更多的是充當喂飽你的第五個包子,你得先把簡單的那四個吃下去。要挑選適宜的模型,規避系統和組織出現兩層皮的問題:你無法理解的,就不會予以信任;不信任的情況下,就不會去使用。
其二,預測模型需要進行優化,優化這件事本身,并沒有聽起來的那樣困難,通常呢是依靠復盤,去挑選出準確度更高的模型,在Excel表里就能搞定,關鍵在于得行動起來。這是計劃職能能夠獨立掌控的。對于眾多企業而言,借助簡便的優化,將預測準確性提升幾個百分點并非難事——在預測方法的擇優方面,這些企業恰似從未服用過藥物的原始人類,只要給他們一粒阿司匹林,便會產生效果。可千萬別小瞧這幾個百分點,那極有可能意味著幾個百分點的凈利潤。
其三,預測模型清楚自身所知曉的內容,卻不清楚自身所不知曉的內容,故而必定要與職業判斷相互結合。請堅信直覺:倘若模型得出的結果看起來存在問題,那么它極有可能是錯誤的。這是由于數據或許會有差錯,公式有可能會套用錯誤,參數興許會選擇錯誤,尤其是在剛開始運用模型的時候。業務以及專業經驗是不可被替代的,這便是為何不能僅依靠計算機來制定計劃的原因。
實踐者問
能把那些公式給我們,讓我們寫到程序里,來預測和補貨嗎?
劉寶紅答
并非公式有啥特別之處,就像指數平滑法是半個多世紀前的研究成果,從理論層面來講已然相當成熟,并且也并非艱難之事。倘若要說難,難在這兩個方面:其一,數據模型的最終結果在很大程度上取決于數據自身的質量,然而像數據清洗這類事情,并不能完全交由公式或者計算機去處理;其二,數據模型完全依賴于數據,它知曉的數據即為其所知內容,不知曉的數據則為其所不知內容,也就是缺乏判斷的部分。如此一來只依靠公式,“從數據起始”會略顯勉強(鑒于數據清洗工作等存在欠缺),“以判斷終結”更是全然無法達成。你知道,這樣的計劃結果不會理想。
大家對于前面講的簡單指數平滑法、霍爾特模型、霍爾特–溫特模型等一系列時間序列預測法,都能夠前往一個網站(https://www.real-statistics.com/free-download/)去下載成套的模板與公式,這個網站是由Charles Zaiontz博士所開發的,這個人可是那種堪稱極客般的存在,能夠將復雜的數理統計闡釋得極為清晰。
像在經濟周期情形下,需求會跟著增長或者降低。季節性屬于在一段時間之內的規律性變動,然而周期性常常不存在固定的起止時間。需要留意的是,季節性即便帶有“季節”這兩個字,卻并非一定得在一年之中才能夠體現出來。在餐飲、零售、電商等眾多行業里,一周之內的業務也會展現出“季節性”變化,例如某些日子的需求會比其他日子的需求高。
我們同樣能夠借助Excel去分解數據,這兒存在一份英語的介紹,其內容為Time Series Decomposition Using Excel,網頁鏈接是https://www.searchlaboratory.com/us/2013/09/time-series-decomposition-using-excel/。
要補充說明的是,指數平滑法是一套體系,它能夠被歸納成12種方法。而這12種方法是由兩個維度組合產生的,其中一個維度是趨勢,另一個維度是季節性。趨勢又可以細分成4種,分別是沒有趨勢、呈線性趨勢、具衰減趨勢、有指數增長趨勢。季節性則分為3種,即沒有季節性、疊加型季節性、乘積型季節性。通過4乘以3,從而得出12種組合。這里所講的三種是最早發展起來的,同時也是最為常用的三種,主要是由卡耐基·梅隆大學的霍爾特教授以及他的弟子溫特發明的。
設這是一個存在于電商公司老總身上情況,該公司具備達成每年幾個億營收的能力,其規模已然相當龐大。這位老總和他的團隊主要擁有計算機背景,故而打算憑借計算機方式去應對計劃問題。我對他講,那些所謂公式恰似計算機語言,又如同機械設計原理,它們自身并沒有多少神秘之處,而真正的挑戰在于如何運用,這取決于數據質量以及使用者的數理統計能力。
名師輔導
環球網校
建工網校
會計網校
新東方
醫學教育
中小學學歷