購物籃分析 — Python實戰:商務資料結構整理(附Python程式碼)

--

在不久之前我們曾撰寫過關於購物籃分析的文章,透過分析消費者常購買的產品組合進行分析,幫助我們了解產品與產品之間的關係,進而做出產品搭配與產品推薦等後續策略。

如果想複習購物籃分析概念,可點選以下文章連結:購物籃分析,最清楚概念

本次文章內容主要使用常見的銷售資料,一步一步的展示如何進行購物籃分析的資料前處理。

首先,我們先引入套件與資料,接者檢視其資料結構,如程式碼1

程式碼1:

from apyori import aprioriimport pandas as pdimport numpy as npalldata = pd.read_csv(‘sales_data.csv’)alldata = pd.DataFrame(alldata)

引入銷售資料後,藉由variable explorer查看銷售資料,可以看到銷售資料中有不同的系列,系列下還有不同的產品,本次分析將先選取具有分析價值的系列,再透過購物籃分析了解系列下產品搭配情形, 如圖一。

圖一、銷售資料

產品利潤計算

在本次的購物籃分析,我們同時也會將利潤列入考慮,所以需要將各項產品的利潤進行計算,以便進行之後的利潤分析,如程式碼2

程式碼2:

# 利潤表格profit_df=alldata.copy()profit_df =profit_df.drop_duplicates(‘產品’)profit_df =profit_df[[‘產品’,’單價’,’成本’]]profit_df[‘利潤’] =profit_df[‘單價’]-profit_df[‘成本’]

計算各項產品之利潤,方便再後續分析將利潤放入考慮,計算成果如圖二。

圖二、產品利潤資料示意圖

系列銷售額計算

此次分析將會選銷售額前三高的系列進行分析,藉此選出具分析價值之系列。

從銷售資料中計算系列銷售額,可以透過groupby將不同系列的單價加總,並使用sort_values進行排序,完成所有產品銷售額排序。

接者,挑選營業額最高的前三系列,即完成了具有分析價值之系列篩選,結果分別為系列1、系列2、系列3,如程式碼3

程式碼3:

# 篩選前三銷售量好的商品top3_series = alldata.groupby(‘系列’)[‘單價’].sum()#[0:3]top3_series=top3_series.sort_values(ascending= False)top3_series = top3_series.index[0:3]

挑選產品銷售額前三名,產出結果如下:

top3_seriesIndex([‘系列1’, ‘系列2’, ‘系列3’], dtype=’object’, name=’系列’)

購物籃分析資料整理

想做好購物籃分析,最重要的固然是顧客訂單上所購買的產品,而要了解顧客一次都購買了哪些產品,就需從訂單編號下手。

系列一舉例

從銷售資料中找尋購買前三名之系列(具有分析價值之系列)訂單,以系列1為範例,我們先將訂單內有系列1的訂單編號尋找出來,如程式碼4

程式碼4:

s=’系列1'series_data=alldata[alldata[‘系列’]==s]order_number=np.unique(series_data[‘訂單編號’])

取出後,我們須將訂單內所購買的產品一一列出,將相同銷售訂單內的商品放置於一個陣列中(如圖四),才能透過購物籃分析了解各個產品之間的關聯性,以第一個訂單編號為例,找出其訂單編號的銷售資料,如程式碼5

程式碼5:

i = order_number[1]series_data[series_data[‘訂單編號’]==i]

從圖三中,可以看訂單編號42515027729 的所有商品就從銷售資料中篩選出來,如圖三。

圖三、第一個訂單編號

緊接者,我們須取出訂單編號內的產品(圖三中產品欄位),需使用values將【產品】欄位內資料抓取出來形成array,程式碼如下:

程式碼6:

series_data[series_data[‘訂單編號’]==i][‘產品’].values

產出:

array([‘產品3–6’, ‘產品3–2’, ‘產品3–6’, ‘產品3–2’], dtype=object)

實際執行

最後將以上步驟透過for迴圈方式一次處理三個系列下所有銷售訂單,同時我們可以在工作目錄中創建不同系列的資料夾,幫助我們更有系統的產出分析結果,程式碼如下:

程式碼7:

record=[]for s in top3_series:series_data=alldata[alldata['系列']==s]order_number=np.unique(series_data['訂單編號'])os.mkdir(s + '商品搭配分析')for i in order_number:cart =series_data[series_data['訂單編號']==i]['產品'].valuesrecord.append(cart)print(cart)

產出:

圖四、購物籃資料架構整理示意圖

完整程式碼~~

透過這個概念將銷售資料架構進行整理,就達成了購物籃分析前資料整理,若是喜歡我的文章,請給我一點掌聲,我將在之後的文章和大家分享更多購物籃分析的實戰應用,幫助您了解更多購物籃分析如何應用於商業資料。

作者:陳俊凱(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

歡迎加入我們的Telegram獲取即時訊息!https://t.me/marketingdatascience
歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r

您可能有興趣:

📢【TMR新募資課程】

《Python行銷資料科學-基礎語法入門最前線》

🔹募資上線時間:11/05 (四) 中午12:00
🔹募資價格:950(原價1480)
🔹課程網址:https://hahow.in/cr/basic-python

👉 Python基礎結合數據處理,快速熟練基本語法運用
👉 基礎動態繪圖製作,利用視覺工具清楚呈現分析結果
👉 銷售資料處理實戰練習,透過實作有效提昇學習效果
👉 Python語法結合商業案例,了解基本語法的商務應用

【課程簡介】
📌python簡介與環境安裝
📌python基礎+商務常用語法更精練
📌動態圖形製作:長條圖/折線圖/朝陽圖
📌銷售資料與實戰練習

📢趕快加入募資的行列吧~
🏃‍♂前往報名:https://hahow.in/cr/basic-python

— — — — — — — — — — — — — —

📢【TMR 已上架課程】

👨‍🎓TMR為您量身打造「全方位數據課程」

熱門Python程式語言結合全新商業思維,快來終生學習不間斷!

《 Python 0到1 基礎商業數據分析實戰 》

💥 價格 :3188
👉 從0開始:手把手從頭學習,適合完全沒學過的學員
👉 商業應用全台最多:傳授市面上少見的Python實務應用
👉 網路輿情爬蟲演練:網路輿情商務爬蟲技法
👉 競品分析:競爭價值定位圖找出藍海策略
👉 貨架陳列視覺化:解析行銷策略及廣告預算配置方法
🛒 前往購買:https://hahow.in/cr/python0-1

《 顧客分類大師:Python x RFM 會員經營新觀點 》
💥 價格 :2388

🎯 Python X RFM最佳拍檔,輕鬆鎖定潛(錢)在顧客
不需要出門,在家也能學習專業課程,讓你擁有會員經營的新思維!

本課程以五個面向為您的企業,做更深入的健診:
👉 市場面:以最基本的顧客消費資料(頻率、購買次數),將現有顧客區隔分類。
👉 財務面:計算出在每個顧客身上所賺得毛利,在不同客群中的獲利。
👉 行銷面:藉由 RFM 的分析進行行銷預算重新分配。
👉 產品面:觀察在不同客群中,各個產品的銷售狀況。
👉 顧客回購面:分析顧客的購買週期後,進行精準推薦。
🛒 前往購買:https://hahow.in/cr/rfm-model

--

--

行銷資料科學
行銷資料科學

Written by 行銷資料科學

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR

No responses yet