數據可視化之PowerQuery篇(十四)產品關聯度分析


https://zhuanlan.zhihu.com/p/64510355

逛超市的時候,面對貨架上琳琅滿目的商品,你會覺得這些商品的擺放,或者不同品類的貨架分布是隨機排列的嗎,當然不是。

應該都聽說過啤酒與尿布的故事,這兩個表面上毫不相關的商品,在超市中擺放在一起時二者的銷量都大幅度提升。這里不論這個案例的真實性如何,但它對理解產品之間的關聯十分形象,好的故事總是更有傳播度。

購買某種商品的客戶,對另一種商品,相對於其他商品,有更大的購買概率,這兩種商品就具有更高的關聯度,為了提高銷售額,應盡可能將二者擺放到一起;網店也可以將一種產品放在另一種產品的推薦頁中。

而要實現這個目的,首先就要挖掘出哪些商品之間存在更大的關聯度。

下面用PowerBI來進行關聯度分析。

 


假設一家超市的十幾個產品的銷售數據,我們要計算出購買產品A的客戶中,有多少客戶也同時購買了產品B?這些客戶購買了產品B的金額有多大?

客戶關聯度

 

由於要分析的產品A和產品B都在產品表中,為了分別計算相互不影響,復制一個產品表,這里命名為'關聯產品表',與訂單表建立虛線關系,數據模型如下圖,

 

 

將產品表中的產品名稱拖入到表格中,作為產品A,然后利用下面這個度量值計算產品A的客戶數量,

[客戶數]=COUNTROWS(VALUES('訂單表'[客戶ID]))

 

然后利用關聯產品表中的產品名稱,生成一個切片器,以便選擇不同的產品,關聯產品假設為產品B。

下面這個是計算關聯分析的重點,購買了A的客戶中,有多少客戶也購買了產品B?

也就是同時購買A和B的客戶數,度量值如下:

 

同時購買A和B的客戶數 =
VAR Bcustomer=
CALCULATETABLE(
VALUES('訂單表'[客戶ID]),
USERELATIONSHIP('關聯產品表'[產品ID],'訂單表'[產品ID]),
ALL('產品表')
)
RETURN CALCULATE([客戶數],Bcustomer)

 

通過以上兩個度量值相除,就可以計算出關聯產品的客戶占比,

 

關聯客戶占比 = DIVIDE([同時購買A和B的客戶數],[客戶數])

 

把上面這幾個度量值放入表格中,通過點擊不同的關聯產品,就可以自動計算出產品A和產品B之間的重復客戶占比,

 

 

但是兩個產品的客戶的重合度高,不代表帶來的銷售額就更高,所以還要分析一下,購買A的客戶中,同時購買的產品B銷售額有多少?通過金額這個維度來分析一下關聯性。

 

銷售金額關聯性

 

先來寫兩個簡單的度量值,產品A的銷售額和產品B的銷售額:

產品A的銷售額:

 

銷售額=SUM('訂單表'[銷售金額])

 

產品B的銷售額,

 

關聯產品B的銷售額 =
CALCULATE([銷售額],
USERELATIONSHIP('關聯產品表'[產品ID],'訂單表'[產品ID]),
ALL('產品表') )

 

由於產品B來自於關聯客戶表,而關聯客戶表與訂單表是虛線關系,所以用 USERELATIONSHIP來激活關系。它主要是為了計算購買產品A的客戶中,購買了產品B的金額有多少?

然后就可以計算同時購買A和B的客戶中,購買產品B的金額。

 

A客戶購買B的金額 =
VAR Acustomer=
CALCULATETABLE(VALUES('訂單表'[客戶ID]))
VAR Bcustomer=
CALCULATETABLE(
VALUES('訂單表'[客戶ID]),
USERELATIONSHIP('關聯產品表'[產品ID],'訂單表'[產品ID]),
ALL('產品表'))
RETURN
CALCULATE([關聯產品B的銷售額],
NATURALINNERJOIN(Acustomer,Bcustomer)))

 

這個度量值的含義是,先找出產品A和產品B的客戶列表,然后通過 NATURALINNERJOIN函數找出這兩個客戶列表的交集,也就是同時購買了這兩種產品的客戶,然后計算這些客戶的產品B銷售額就可以了。

同樣把這個度量值放到表格中,可以看出關聯銷售額,

 

 

通過這個表格也可以看出,客戶重合比例高的兩個產品,帶來的關聯產品的銷售額並不一定高,這個跟產品價格、購買數量都有關系。

 

關聯度四象限分析

 

通過上面的幾個度量值,獲得了相關分析的數據,為了更直觀的展示出產品之間的關聯度,這里使用四象限分析法來展示。

其實就是制作一個散點圖,將兩個維度:客戶占比作為Y軸,關聯產品銷售額作為X軸,並按客戶占比、關聯產品銷售額的平均線作為恆線,切割出四個象限,並利用動態配色(請參考:利用這個新功能,輕松實現圖表的動態配色)分別為每個象限的數據設置不同的顏色,顯示效果如下:

 

 

出現在第一象限(右上角)的產品,就是與切片器選中的產品不僅客戶重合度高,而且帶來的銷售額也更高,具有高相關性,應該特別關注。

該模型還可以接着分析某一段時間的關聯性,比如促銷期間、節假日期間,客戶的購買特征很可能與平時是不同的。

 

 

至此,一個簡單的關聯分析模型建立完成,根據關聯產品的不同,動態顯示不同的高相關度產品,並且可以隨着時間段的變化而變化,

如果有客戶畫像、銷售地點等數據,還可以將這些數據作為外部篩選器,挖掘出不同客戶、不同地域的關聯產品組合。

當然,這個模型挖掘的關聯產品只是初步結果,還應對這個結果進行進一步驗證,避免因偶然或人為因素導致的關聯性,比如是否有某兩種商品的捆綁銷售活動等。

關聯分析是非常有用的數據挖掘方式,能夠幫助企業進行精准產品營銷、產品組合以及發現更多潛在客戶,真正的利用數據,為企業創造價值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM