除了啤酒和尿布,關聯規則分析究竟還有哪些實際應用?

關聯規則是反映一個事物與其他事物之間的相互依存性和關聯性,常用於實體商店或在線電商的推薦系統:通過對顧客的購買記錄資料庫進行關聯規則挖掘,最終目的是發現顧客群體的購買習慣的內在共性,例如購買產品A的同時也連帶購買產品B的概率,根據挖掘結果,調整貨架的布局陳列、設計促銷組合方案,實現銷量的提升,最經典的應用案例莫過於<啤酒和尿布>。  

關聯規則分析中的關鍵概念包括:支持度(Support)、置信度(Confidence)與提升度(Lift)。首先,我們簡單溫故下這3個關鍵指標~

1、支持度 (Support):支持度是兩件商品(A∩B)在總銷售筆數(N)中出現的概率,即A與B同時被購買的概率。類似於中學學的交集,需要原始同時滿足條件。nn

用戶上傳的圖片

公式:

用戶上傳的圖片

例子說明:

比如某超市2016年有100w筆銷售,顧客購買可樂又購買薯片有20w筆,顧客購買可樂又購買麵包有10w筆,那可樂和薯片的關聯規則的支持度是20%,可樂和麵包的支持度是10%。

2、置信度 (Confidence)置信度是購買A後再購買B的條件概率。簡單來說就是交集部分C在A中比例,如果比例大說明購買A的客戶很大期望會購買B商品。

公式:

用戶上傳的圖片

例子說明:

某超市2016年可樂購買次數40w筆,購買可樂又購買了薯片是30w筆,顧客購買可樂又購買麵包有10w筆,則購買可樂又會購買薯片的置信度是75%,購買可樂又購買麵包的置信度是25%,這說明買可樂也會買薯片的關聯性比麵包強,營銷上可以做一些組合策略銷售。

3、提升度 (Lift):提升度表示先購買A對購買B的概率的提升作用,用來判斷規則是否有實際價值,即使用規則後商品在購物車中出現的次數是否高於商品單獨出現在購物車中的頻率。如果大於1說明規則有效,小於1則無效。

公式:

用戶上傳的圖片

例子說明:

可樂和薯片的關聯規則的支持度是20%,購買可樂的支持度是3%,購買薯片的支持度是5%,則提升度是1.33>1, A-B規則對於商品B有提升效果。  

理論很簡單,真正實踐起來卻會遇到種種困難,印證了那句"數據分析師的50%~80%的時間都花在了處理數據上」,例如一般POS明細是以下圖表形式展現:

用戶上傳的圖片

要計算支持度(Support)、置信度(Confidence)與提升度(Lift),首先需要知道Freq(A∩B)、Freq(A)、Freq(B)和總筆數數值,那麼需要對商品進行排列組合。 

所以,我們希望轉換成下表形式,如銷售ID=000001, 4種商品的兩兩組合(種):

用戶上傳的圖片

若一個收銀小票(銷售ID)有30種商品,則組合數達到435種。而且可視化層級上還需要展現集團下每個分公司、每個城市、每個門店、月度、季度或者年度時間的關聯規則分析,如果用傳統的工具來實現上述分析無異於大海撈針。

下面我們就來看看在BDP中如何實現Apriori演算法,實現關聯規則分析!在BDP中,不僅可以便捷地實現多維數據分析,還可以通過靈活強大的功能組合來進行更深層面的數據分析探索。  

商品兩兩組合的初步想法是通過量化的思想對商品進行編碼,比方說可按照增序(從1開始),算出每筆銷售單最大值,求出兩者差值得到一組數組,通過數組行轉列形式實現2種商品兩兩組合。nn

用戶上傳的圖片

(圖:銷售單2種商品兩兩組合邏輯圖)

BDP實現的4大步驟:

為了實現上述的組合演算法,我們先上傳10條數據到BDP平台,共有3票購物單,最大商品數分別是5、3以及2。測試數據下載:pan.baidu.com/s/1sl8mN5

用戶上傳的圖片

(圖:EXCEL 上傳表)nn

操作①:【工作表】-【創建合表】-【SQL創建】

用戶上傳的圖片

用戶上傳的圖片

用戶上傳的圖片

(圖:商品量化)

上圖轉換成日期的形式,主要目的是為下一步的數組轉列做準備,為配合explode()函數使用。其中需要說明的是上圖[日期]欄位是自定義日期,可以更改成任意日期,沒有實際日期意義。

用戶上傳的圖片

用戶上傳的圖片

(圖:商品組合數效果)

上圖主要使用的關鍵函數是FILL_DATES([日期1],[日期2]),Explode()。組合效果初顯現,只是缺另一個商品名,然後把[下一日期]欄位通過LEFT JOIN 關聯出商品B的名稱。nn

操作②:【工作表】-【創建合表】-【多表關聯】 用於創建表關聯 包括(LEFT/INNER/ FULL JOIN)

用戶上傳的圖片

用戶上傳的圖片

用戶上傳的圖片

(圖:商品組合數實現) 

從上圖可以看到A商品和B商品兩兩組合邏輯已完成,在當前表基礎上我們已經可以去做連帶分析內容。 

在這裡,求Freq(A)和Freq(B)和總筆數數值就不祥述了,思想大致是求出所有銷售商品的A 和B商品的頻次,通過合表關聯,整合到一張大表。

操作③:【工作表】-【創建合表】-【追加合併】合併訂單總數 ,A商品訂單數,B商品訂單數和A∩B商品連帶筆數

用戶上傳的圖片

用戶上傳的圖片

(圖:追加合併邏輯實現)

追加合併可以把相同欄位商品合併在一起,方便計算三個指標(支持度、置信度、提升度)有利於可視化展現。

操作④:  可視化展現:【BDP】-【可視化儀錶盤】

用戶上傳的圖片

(圖:儀錶盤全局展示)

註:為了更好體現可視化效果,這部分的可視化展示成果並非使用上述的測試數據或某個企業數據。nn

製作三個圖表進行購物籃分析:

用戶上傳的圖片

(圖1: TOP 20商品連帶次數)  

上圖反映季度連帶最高頻次商品,高聯帶商品意味著對客戶吸引力大商品粘性強,同時也可以查看不同分公司的TOP20連帶情況。根據結果我們可以合理設計促銷策略,例如買2送1等。

用戶上傳的圖片

(圖2:商品組合指標)  

置信度高說明商品連帶緊密,說明客戶連帶意願強,同時關注支持度,支持度高說明是需求量大,如果支持度低,置信度高其實對市場作用是有限小的。

用戶上傳的圖片

(圖3:購物來分析詳情)  

通過單價,支持度,置信度,提升度綜合指標來看待商品組合,發現高價值關聯商品,有助於提升客單價,同時也需要考慮提升度,提升度小於1,提升效果有限,可以把精力花在提升度大於1的商品組合。同樣地,我們是否可以實現三種商品的組合呢?答案是顯然的,只要我們深入理解以上過程,三種商品關聯也是可以實現的。

除了購物籃分析(零售、快消、電商等行業適用)這個典型應用,關聯規則分析還在金融行業、搜索引擎、智能推薦等領域大有所為,如銀行客戶交叉銷售分析、搜索詞推薦或者識別異常、基於興趣的實時新聞推薦等。

作者熊輝,6年數據分析師從業經驗,對數據挖掘與機器學習演算法有深入的研究!

推薦閱讀:

Gradient Boosting
機器學習實戰之決策樹(三)
某熊周刊系列:一周推薦外文技術資料(2.5)
機器是怎麼一步步看穿我們的
機器學習基礎:邏輯回歸

TAG:机器学习 | 数据分析 | 大数据 |