預測模型,怎么做才夠精準
“預測得不準!”是數據分析領域的終極難題了。講預測的算法有一大堆,然后遇到現實基本上都被錘成渣渣,業務方怎么都不滿意。
到底該怎么破局?今天系統講一下。
01
從本質上看,預測算法只有2大類:
1、基于時間序列的。
l平滑:用于相對平穩的數據。
l自回歸:用于趨勢性遞增、遞減的數據。
l帶季節因素自回歸:用于有周期性波動的數據。
2、基于因果關系的。
l二分類問題:未來會/不會發生XX,典型如LR。
l多分類問題:未來是ABC哪個情況,典型如決策樹。
l連續型問題:未來的數值是多少,典型如線性回歸。
有可能建模的時候,不是一個模型包打天下,而是用二階段建模。比如預測一個客群消費情況,可以分別用二分類模型預測會不會消費,再用連續型模型預測消費金額,這樣會消費用戶數*預測消費金額,就能得出總消費。這是典型的處理手法。
書本上都是這么教的,然而為啥一遇到現實就被錘成渣渣了呢?
02
因為:書本為了突出模型效果,刻意選擇了質量好、數據全的數據集。
現實中麻煩根本是遠遠不斷:
1、沒數據。很多時候給到的待預測數據,就一行“每月總消費”,其他數據屁都沒有……
2、還是沒數據。很多公司隔著天貓、抖音、亞馬遜,拿不到一手數據,只能用后臺導出的一點點數據瞎倒騰……
3、就是沒數據。大部分公司不是頭騰阿這種壟斷公司,只拿了非常片面的數據。最常見的,大部分公司的用戶是花錢引流來的,用戶只有一個手機號+一個優惠訂單……
這導致了一個搞笑的情況:很多公司用因果關系類模型,影響最大的變量一定是促銷力度。甚至用逐步回歸法建模的話,促銷力度的變量,能直接把其他變量都干掉。預測結果就變成了:促銷力度越大,用戶加入越多,購買越多。
這種結果一丟出來,一準被業務評價為:“都TM是廢話,我早知道了!”
這就是現實中第二大麻煩:業務效果到底怎么衡量。
比如預測銷量是1000萬
l 業務做到900萬,會說:預測得一點都不準,搞得貨積壓了
l 業務做到1100萬,會說:預測得一點都不準,還是我厲害
總之,只要你不是100%精準,他都有理由賴到你頭上。甚至可以反復橫跳。比如:“本來業務能達標的,看到預測說能達標,我們就省點投入,結果不達標了,都怪預測干擾了業務判斷……”
怎么破局呢?問題既然由人而生,當然還得在人這里解決。避免賭命式預測,從業務場景角度出發,剔除人為影響,才是破題關鍵。
03
有些場景,能通過業務操作直接把問題消滅掉。這時候就直接用業務手段,不要建模。
比如:
場景1:“銷售數據很少,分布很散,如何預測銷量?因為貨物本身不耐儲藏,多進貨的話庫存損失率會很高”——用團購呀!團購就是解決這個問題的。
場景2:“銷售數據很少,少到無法計算價格彈性,業務方又想預測價格彈性,多賺錢”——用拍賣啊!拍賣就是干這個的。
場景3:“新品是全新款,沒有數據,咋預測?”——做新品預售/粉絲憑碼購買呀。饑餓營銷就是干這個的。
場景4:“大促期間備貨量如何預測?拿捏不準用戶有多少需求?”——10元定金,定金膨脹3倍抵用券,就是干這個的呀。
幾乎所有互聯網營銷模式,從小米到天貓到拼多多,其實都是在對抗因數據不足帶來的備貨難題。所以別光盯著人家的模型,人家的運營也學學。
04
所有賭命式預測都有個共同點:一定要不高不低才算準。比如典型的預測銷售業績,如果實際是1000萬,他非得要求預測到1000萬才算準。這是模型被評價為“不準”的問題根源。
回到業務場景中,其實大部分業務場景不需要這個級別的準確度。大部分時候,業務怕的是突然暴增/暴跌的場景。預測目標與其設定為:“100%精準”,不如設定為:“是否暴增/暴跌超過業務消化能力”。
預測100%精準基本無解,但是發現哪里可能暴漲/暴跌是很容易的。通過基礎分析,把不穩定因素區分出來,能大大縮減預測問題的難度(如下圖)。
做好基礎分析,拆分不穩定因素以后,也更方便挑選模型組合,解決問題(如下圖)。
05
所有的賭命式預測,預測時間周期都很長。長則一年,短也有一個月。賭的時間太長,前期能收集的數據很少,也無法把業務部門各種中間操作反映出來,因此非常被動。
用滾動預測能很大程度彌補這個缺點。通過日/周滾動預測,既能補充數據缺失,又能反映業務方臨時調整帶來的效果,一舉兩得(如下圖)。
06
一個好問題+滾動預測,基本上能滿足實際工作需求。但作為做預測的人,得學會保護自己,避免業務方反復橫條,瞎胡甩鍋。
買定離手法是很好辦法。預測結果給出以后,賣定離手,所有相關業務方不再質疑預測結果,而是基于預測結果做疊加。
誰覺得預測少了,誰自己寫請示申請額外貨物,并且留下書面證據。到時候是預測得不準,還是業務自己申請多了所以賣不動,看得一清二楚(如下圖)。
07
預測問題的背后,是一個很深層的業務問題:在很多公司,庫存積壓的損失是直觀可見的,貨都爛在貨倉里。但缺貨損失的潛在銷量,卻沒有認真統計。想統計缺貨損失很容易,可以讓客戶交定金預約,可以讓客戶登記需求量和需求時間。但很多公司業務要么懶,要么蠢,要么不想擔責任,總之是沒有做。
預售、團購、饑餓營銷、訂金膨脹、缺貨登記……所有的業務手段,需要的不但是運營能力,更需要系統建設支持。顯然,對業務來說,比起搞這些系統建設和復雜的運營手段,還是直接甩鍋給“模型預測不準”更輕松。因此你要是直接問業務預測需求,他們都會傾向于“不高不低剛剛好”的賭命式預測。
但顯然這對數據分析師是不公平的。既然潛在損失無法衡量,現實積壓是直觀可見的,因此作為數據分析師只要顧好積壓損失就能立功。所以才有了以上種種操作辦法。
寫到這,肯定有很多同學想看具體的操作案例,感興趣的話,本篇集齊60在看,下一篇我們來分享一個案例哦,敬請期待。
本文來自微信公眾號 “接地氣學堂”(ID:gh_ff21afe83da7),作者:接地氣的陳老師,36氪經授權發布。
