小白混跡了幾年,如今是個老白了,看似啥玩意都懂點,啥玩意也都不精通,今天和你們說的是關於銷售預測的那些事,由於最近看了JDD大賽,也和幾個參賽隊員交流,有些有意思的想法,和你們分享一下。算法
最近在關注京東金融舉辦的JDD大賽,這個比賽比較有意思。大賽也是分了幾道賽題,好比豬臉識別,信貸需求預測,店鋪銷售預測,登陸行爲識別,總的而言,比較貼近業務實際使用場景。比賽也是分了算法組和商業組,算法組是純粹的PK算法的效果,而商業組,除了完成算法的構建和評分排名,進入決賽的隊伍還要寫做BP,構建一個基於賽題基礎的商業模型。整體說,從京東金融的業務須要出發,自己題目具有商業價值,具體賽題信息以下圖:
今天就花點時間說說我的對其中店鋪銷售預測這道賽題的一些理解和認識。
在商業組中,官方如是描述賽題:對店鋪銷量進行預測是「京小貸」業務信用評估的關鍵環節之一,只有準確的預估店鋪將來的銷量,才能合理的設定貸款額度,提升資金利用率。
具體的賽題內容是:對店鋪開展貸款業務須要按期測量和跟蹤經營情況,對店鋪銷量進行預測是其中的關鍵環節之一,只有準確的預估店鋪將來的銷量,才能準確的評估其資金需求並設定合理的貸款額度。本題目但願參賽者經過競賽數據中店鋪過往的銷售記錄,商品信息,商品評價,以及廣告費用等信息來創建預測模型,預測店鋪將來90天內的銷售額。賽題數據爲業務情景競賽數據,全部數據均已進行了採樣和脫敏處理,字段取值與分佈均與真實業務數據不一樣。
簡單說,經過精準預測銷售,掌握將來店鋪的業務狀況,基於此,進行業務授信,發放貸款。這也就是說,當預測越精準,那麼業務評估能力就越強,能夠合理開展業務。
而京東給到的賽題數據具體以下:
評分標準以下:
對於每一個店鋪,計算其真實銷量和預測銷量之間的差別,按以下公式計算分數,其中yi真實值,y_hati爲預測值,m爲待測店鋪數量:
換句話說,誰的得分越低,就是偏差更小,誰的預測效果更好。
我查看了店鋪銷售預測商業組的排行榜,發現了一些有意思的事情,你會看到你們的得分基本沒有拉開差距,第一名是0.393,而第三名是0.3945,也就是說你們在方法使用上,或者數據理解上,基本上差別性很小。可能在具體的嘗試過程當中,因爲數據的準備不一樣,帶來了一些細微差別,換句話這個榜單前三名的隨機性很強,基本沒什麼差異。咱們並無看到出現那種差距極大的隊伍出現。即便咱們去看算法組的第一名得分也只是0.37。
商業組前10名得分
算法組前三名得分
那這個基本能夠忽略的差距說明了什麼問題,爲何沒有出現一騎絕塵的隊伍,對此咱們此時須要回到這道題目自己來思考。
首先銷售預測問題的一些成熟算法和模型,咱們不須要多言,你是時間序列也好,仍是ARIMA,LR,BPNN也罷,總的說算法就那麼多,想解決這個問題,是沒法脫離這些的。那麼爲何預測的水平上不去,仍舊高達30%的偏差?其實在官方給出的數據中,貌似給定了必定的預測所使用數據的邊界,也許數據自己就表明了這道題目的侷限性。
咱們會發現,官方給出來的用於預測的數據中,涵蓋了廣告充值,評論,上下架時間的數據。彷佛想從這個數據方面,來極限考驗參賽團隊的算法和數據準備實力。
可是再換一個維度思考,也許這是京東認爲的對於銷售預測相對有用的維度數據,固然了也涵蓋部分商品信息,好比品牌和分類,彷佛從中都是要找到與銷售數字的相關性,進而提高預測準確性,不過咱們發現商品相關信息,也只是關於品類這樣維度的數據。
從銷售預測自己來看,若是咱們繪製一條某店鋪銷售曲線,咱們會發現,頭部有一兩件商品的銷售佔比很高,二其餘不少產品銷售佔比很低,或者是咱們將店鋪商品進行歸類,某一類商品可能佔據極高的銷售數字。這就是咱們之前總提到的一個20/80原則,也叫作帕累托法則,也就是20%的人貢獻80%的業績。在這個數據中,其實這種狀況也存在,好比少數商品貢獻多數收入的問題,少數店鋪貢獻多數收入。所以,在預測時,20/80原則實際上也是一種預測問題的處理思路,少數店鋪的銷售貢獻依賴少數商品,固然也依賴廣告或者評論的影響。不過從目前你們的分看,也許這幾個因素的權重總計在60%左右。
那麼剩下40%的因素在哪裏?由於理論上,咱們的得分是0纔對。
在這裏和你們的討論是如何提升預測準確率的一種思考,換句話,也是尋找40%的因素的一種思路。
首先把銷售預測問題換個角度來看,就是判斷消費者購買的意願高低,再細緻來看,就是消費者的購買動機或者購買決策的判斷,一旦找到那個準確的相關度最高的動機,那麼就意味着,銷售的預測精度就會大幅度提高。從初賽這些人員的預測結果看,以現有的算法,意味着這些因素與購買動機的的相關度,僅限於這個得分了。
咱們以前用於銷售預測的數據考慮了營銷因素(廣告),社交因素(評論),商品開發(上下架時間),但咱們發現這些都是宏觀因素,可是今天的消費者慢慢趨於理性,會考慮評論因素,也會貨比三家,儘管價格仍是一個很重要的因素。
可是咱們發現做用很大的評論數據,在這裏,被官方處理爲正面評論,中性評論,負面評論,得說一句,這種數據的處理在數據集開放以前就作好了用1,0,-1來代替,可是對於語義的處理,劃分三類標籤,會出現一些誤差,畢竟如何理解正面,中性,負面,這我的的經驗是不一樣的。這或許是本賽題中一個思考的方向。
不過若是排除這個因素咱們會發現,彷佛仍是沒法說明偏差爲何很大,這時咱們須要跳出來看,咱們彷佛忘記了不少的微觀因素,好比商品自己的品質,參數,元素,顏色等等,這些不起眼的東西,也許正是最重要的驅動消費者購買的最重要動機。
在銷售預測問題上,若是咱們可以挖掘到用戶購買的微觀動機,也就是商品自己是否具有潛力和暢銷特性,那麼就能很好的捕捉到店鋪的經營狀態。
回看這道比賽題目,咱們是要完成對將來的預測,因此咱們要掌握到將來的除了營銷計劃,還有自己商品的屬性,將來的空間,當你可以精準捕捉到哪些商品可以具有爆款屬性時,就意味着,你看到了80%的銷售收入機會,同時,基於微觀商品的屬性,咱們也會挖掘到哪些商品是滯銷的,是不適合進行推廣和上架的。對店鋪的授信同時,對於店鋪的經營,若是可以造成的有效干預,則將來的雙向合做業務基礎才紮實。
簡單說,咱們須要進行商品自己DNA的拆解,找到那些重要的影響購買的元素,而一旦捕捉到,則意味着,咱們可以掌握的潛力和經營方向能夠更加明確。這個能夠舉個例在,好比服飾行業,咱們能夠對一一件衣服進行解構,好比版型,面料,圖案,類型,風格,季節等,基於這些潛藏在衣服中的要素,進行從微觀元素組合起來的預測分析,尋找爆款元素和相對應的產品,由於這些控制了較大的銷售份額,同時那些滯銷的元素也能尋找出來,而且能夠進行防範和處理,減小沒必要要的損失。
固然銷售預測的問題,咱們都預測的是將來,若是在開始咱們可以提供將來能夠很好銷售的產品,那麼銷售的預測也將迎刃而解。這看似是廢話,其實,當中咱們會發現怎麼找到爆款產品,如何挖掘爆款,就潛藏在咱們已有的數據之中。
而總體銷售的預測,除了宏觀因素的配合,這些內在微觀因素則是基礎,由於他們是構成消費者購買的驅動力之一,而每一個商品的精準捕捉銷售可能性,也就計算出來總體的銷售可能性。
最後再說一點的是,其實你看評論數據,咱們不能簡單的歸結成1,0,-1,消費者的評論中隱藏了不少對於產品某一方面的鐘愛或者厭惡,而這偏偏是其餘消費羣體看到後,是否產生驅動力購買的關鍵,以此出發,咱們剛纔的思路就能夠順下來。
關於銷售預測的問題,今天就聊這麼多。
若是你們感興趣交流,能夠加微信號:i-analysis,繼續交流