本篇教你如何輕鬆運用PYTHON讓你找到專屬的VIP客戶---第二篇

更新於 發佈於 閱讀時間約 7 分鐘

上一篇我們把消費次數、消費金額、最近一次的購買的距離天數,的資料整理完成後,我們要來將上面的資料分別轉為5個級距。

收先我們須要找出消費次數、消費金額、最近一次的購買的距離天數的最大值,並將數值列印出來。如圖1

customer_recency_max = customer_summary['最近一次的下單天數'].max()
customer_Frequency_max = customer_summary['消費次數'].max()
customer_Sales_max = customer_summary['消費總金額'].max()
print("最大的下單天數:", customer_recency_max)
print("最大的消費次數:", customer_Frequency_max)
print("最大的消費金額:", customer_Sales_max)
圖1

圖1

再根據找出的最大值去分成5個級距,r_bins 填入分類資料的數值區間,r_labels填入對應的級距,以下面的程式碼舉例:如果最近一次的下單天數為"19天",那就會被分為第5級,如果天數為"22天"就會被分為第4級,以此類推,其他的消費次數跟消費總金額也是一樣的方式去做分類。並將結果儲存到新增的R、F、M欄位。

r_bins = [0, 19, 38, 57, 76, 95]
r_labels = ['5', '4', '3', '2', '1']
customer_summary['R'] = pd.cut(customer_summary['最近一次的下單天數'], bins=r_bins, labels=r_labels)

f_bins = [0,1,2,3,4,5]
f_labels = ['1', '2', '3', '4', '5']
customer_summary['F'] = pd.cut(customer_summary['消費次數'], bins=f_bins, labels=f_labels)

m_bins = [0,500,1000,2000,3000,14055]
m_labels = ['1', '2', '3', '4', '5']
customer_summary['M'] = pd.cut(customer_summary['消費總金額'],bins=m_bins, labels=m_labels)

分類完成後再將R、F、M的值轉成數值

customer_summary['R'] = customer_summary['R'].astype(int)
customer_summary['F'] = customer_summary['F'].astype(int)
customer_summary['M'] = customer_summary['M'].astype(int)

再來就是將每個客戶的RFM分成下面8種類型的客戶
1.RFM分數-高高高-重要價值客戶
2.RFM分數-低高高-重要保持客戶
3.RFM分數-高低高-重要發展客戶
4.RFM分數-高低低-一般發展客戶(新客戶)
5.RFM分數-低低高-重要挽留客戶
6.RFM分數-高高低-一般價值客戶
7.RFM分數-低高低-一般保持客戶
8.RFM分數-低低低-一般挽留客戶

根據上面的分數來寫一個顧客分類函數,這邊我是用第3級作為判斷的依據,
大於3就是屬於高,低於3就是屬於低
舉例:'R'、'F'、'M'欄的分數都大於3就歸類為【重要價值客戶】,以此類推

最後再新增一欄顧客類別,將對應的顧客類別新增到相對應的客戶ID,並儲存成EXCEL

# 定義顧客分類函數
def classify_customer(row):
    if row['R'] >= 3 and row['F'] >= 3 and row['M'] >= 3:
        return '重要價值客戶'
    elif row['R'] <= 3 and row['F'] >= 3 and row['M'] >= 3:
        return '重要保持客戶'
    elif row['R'] >= 3 and row['F'] <= 3 and row['M'] >= 3:
        return '重要發展客戶'
    elif row['R'] >= 3 and row['F'] <= 3 and row['M'] <= 3:
        return '一般發展客戶(新客戶)'
    elif row['R'] <= 3 and row['F'] <= 3 and row['M'] >= 3:
        return '重要挽留客戶'
    elif row['R'] >= 3 and row['F'] >= 3 and row['M'] <= 3:
        return '一般價值客戶'
    elif row['R'] <= 3 and row['F'] >= 3 and row['M'] <= 3:
        return '一般保持客戶'
    elif row['R'] <= 3 and row['F'] <= 3 and row['M'] <= 3:
        return '一般挽留客戶'
    else:
        return '其他'



# 新增一列 '顧客類別'
customer_summary['顧客類別'] = customer_summary.apply(classify_customer, axis=1)
# 將計算結果寫入 Excel 檔案
customer_summary.to_excel('RFM分析.xlsx', index=False)

下面為EXCEL的顯示畫面

圖二

圖二

下一篇會教如何將消費次數、消費金額、最近一次的購買的距離天數,做成圖表


留言
avatar-img
留言分享你的想法!
avatar-img
Daniel Huang的沙龍
0會員
2內容數
這邊會放有關於數據分析、流程自動化、python相關的文章,希望可以幫助到上班族、零售業、中小企業、電商,讓你們在工作上更有效率
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
題目敘述 題目會給我們一張Activity資料表,裡面分別有user_id、 session_id、activity_date 、activity_type等欄位。 要求我們列出所有過去30天的活躍使用者。 活躍使用者的定義為2019-07-27包含這天,往前三十天的區間內,至少有過一次活動紀錄
Thumbnail
題目敘述 題目會給我們一張Activity資料表,裡面分別有user_id、 session_id、activity_date 、activity_type等欄位。 要求我們列出所有過去30天的活躍使用者。 活躍使用者的定義為2019-07-27包含這天,往前三十天的區間內,至少有過一次活動紀錄
Thumbnail
題目敘述 題目會給我們一張Customer資料表,裡面分別有id、name、referee_id 等欄位,其中id 是主鍵Primary Key。 要求我們列出所有推薦人ID referee_id不等於2的顧客,印出順序不拘。
Thumbnail
題目敘述 題目會給我們一張Customer資料表,裡面分別有id、name、referee_id 等欄位,其中id 是主鍵Primary Key。 要求我們列出所有推薦人ID referee_id不等於2的顧客,印出順序不拘。
Thumbnail
這道題你一定會解,但你知道怎麼把迴圈改寫成「迭代」嗎?這招學起來!
Thumbnail
這道題你一定會解,但你知道怎麼把迴圈改寫成「迭代」嗎?這招學起來!
Thumbnail
sort reverse count index copy len min max sum any all
Thumbnail
sort reverse count index copy len min max sum any all
Thumbnail
以一個雜魚測試工程師的角度來看int應用場景
Thumbnail
以一個雜魚測試工程師的角度來看int應用場景
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News