Python 的客群分群
Karolis Urbonas
Head of Data Science, Amazon
以三個指標進行顧客行為分群:
RFM 數值可用多種方式分組:
我們將實作以百分位為基礎的分組。
計算百分位的流程:
包含 8 個 CustomerID 與隨機計算的 Spend 數值的資料。
spend_quartiles = pd.qcut(data['Spend'], q=4, labels=range(1,5))data['Spend_Quartile'] = spend_quartilesdata.sort_values('Spend')
# 建立數字標籤 r_labels = list(range(4, 0, -1))# 依四分位分組 recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels)# 建立新欄位 data['Recency_Quartile'] = recency_quartiles# 將 recency 由小到大排序 data.sort_values('Recency_Days')
如你所見,四分位標籤是反向的,因為顧客越近期,價值越高。
可依情境定義由字串或其他值組成的標籤清單。
# 建立字串標籤 r_labels = ['Active', 'Lapsed', 'Inactive', 'Churned']# 依四分位分組 recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels) # 建立新欄位 data['Recency_Quartile'] = recency_quartiles # 由小到大排序 data.sort_values('Recency_Days')
為各四分位指派的自訂標籤。
Python 的客群分群