使用Power BI進行商品關聯性分析

前一陣子在知乎上曾經問,是否能夠使用POWER BI進行購物籃分析,但是並沒有人理睬我。雖然邀請了很多大牛,但是然並卵,所以只能自己摸索。

現將這段時間的收穫進行一番整理,供同行參考吧。

購物籃分析說白了其實就是商品關聯性分析,主要是通過對消費者的購物水單數據分析,發現哪些商品存在關聯性,以至於消費者買了A商品以後會很大程度再購買B商品。

微軟為excel開發了一款數據挖掘插件,基本可以解決這個問題,但是需要安裝和配置sql資料庫,這一套下來對一個普通辦公室人員來說難度還是不小的。好在微軟又出了power bi。根據我目前的了解,power bi雖然掛著一個「bi「的頭銜,但是和前一個數據挖掘插件在功能上還並不完全一致。power bi總體上更加傾向於「query+pivote+view」,也就是側重於數據的清洗、轉換、透視以及呈現方面。在真正的數據挖掘方面的功能好像還是比較弱的(這裡如果有錯希望有人能夠指出)。

由於power bi並沒有很強的數據挖掘能力,所以在做購物籃分析時,就無法像excel數據挖掘插件那樣對整體數據進行全面分析,從中找出關聯性最強的那些商品。目前我能做到的,只是針對確定的某種商品(分類),通過數據分析發現與之關聯度最高的商品(分類)是什麼。換句話說,excel數據挖掘插件能夠在幾萬種商品中發現其中任意關聯性最強的商品;而power bi目前能做的是幫助你發現一個確定的商品,與之關聯性最強的商品是什麼。

我要分析的數據是某店13天的銷售水單,一共43萬+行,以csv格式存儲,大約23M大小。用excel不是不能處理,不過一個是其中部分環節需要用到vlookup函數,這個函數在這麼大的數據量面前性能是出了奇的低下,導致處理速度很慢,再一個主要也是嘗試使用power bi這個新工具,發掘它的潛力。

好,閑話少說,我們進入正題:

1、使用power bi獲取數據

2、編輯查詢

點擊「編輯」,開始構造我們需要的查詢結果

假定我們要研究一下「精益珍黑糖沙琪瑪」這個單品,看看哪個商品與其關聯度最高,那麼:通過篩選商品名稱為「精益珍黑糖沙琪瑪」,將所有包含該商品的交易列出:

選中「交易ID」列,右鍵菜單選擇「作為新查詢添加」,將目標交易ID信息單列出來:

在左側列表中選中「交易ID」,再點選左上「轉換」標籤下的「到表」功能,將「交易ID」轉換為一個表。並雙擊轉換完畢的表頭,將其重命名為「目標交易ID」。

將剛才進行過篩選的原表取消篩選。然後點選「開始」標籤,進行合併查詢。注意選擇兩個查詢的關聯條件,聯接種類選擇左外部即可。

系統會將原始交易表中,凡涉及目標交易ID的記錄都添加到目標交易ID後面,暫時以一個「table」的形式表現出來。

點擊新列右上角的「左右箭頭」,從中選擇需要展示出來的欄位

效果如下圖:

至此,我們構造出了一個只含有目標商品「精益珍黑糖沙琪瑪」交易ID的表,也就是這個表上的每一筆交易都必然含有目標商品,再換句話說,目標商品將是這個表中出現頻率最高的單品。接下來我們只要看看這個表中出現頻率第二高、第三高....的商品是什麼,就能知道與目標品類關聯度最高的商品是什麼了。

所以我們選擇「開始」標籤中的關閉並應用,進入透視環節

3、透視,發現

關閉並應用後,出現如下界面

在最右側先後點選「品名」、「貨號」後,會出現:

然後如圖所示選擇貨號列為「計數」顯示,再對計數的貨號列進行降序排列:

好了,到目前為止,我們就已經得到一個初步結論,那就是和精益珍黑糖沙琪瑪共同購買頻繁的商品是......"塑料購物袋"。呵呵,這個結論雖然是「正確」的,但顯然是沒有用的。

但是接下來的「精益珍蛋酥沙琪瑪」卻是一個很好的結論,這或許意味著消費者經常會兩種口味各買一包,那麼我們在促銷時就可以出兩種口味的捆綁裝。當然,首先我們要排除門店在分析期內並沒有推出類似的活動,否則這個結論也是屬於「正確」但沒用的。

下一步就是運用統計學知識,對這種關聯性進行分析,以確定其置信度、支持度等統計學指標了。

置信度=33/138=23.9%

支持度=33/84117=0.04%

根據上述情況來看,我們找出的這種商品關聯(精益珍黑糖沙琪瑪和蛋酥沙琪瑪)關係準確度較低,而且其支持度也就是普遍性實在太低,因此綜合上述情況,只能說這兩個商品之間還沒有存在那種非常明顯的,值得利用的商品關聯,但是實際工作中可以多加註意。

推薦閱讀:

從0開始學習Power BI,可能遇到哪些問題
Power Query新特性:你給答案,我來計算
數據分析原理
Power BI Premium 來了!行業必將顛覆!

TAG:PowerBI | 数据分析 | 数据挖掘 |