01 Python 電商數據分析10 所有文章

[數據分析] Python快速計算RFM模型

RFM模型_Max行銷誌

過去投放廣告較專注在類似受眾、廣泛受眾和針對瀏覽行為進行再行銷,比較少針對消費過受眾進行投放;此次利用 Python 寫出了 RFM 模型的程式碼,可以快速計算出 RFM 用戶表現,此篇提供程式碼供大家參考。

一. RFM模型介紹

在眾多 CRM 客戶資料分析中,RFM 模型是被最常被廣泛提到的,其中的三大要素為 R(Recency)、F(Frequency)、M(Monetary):

  1. 最近一次消費 (Recency)
  2. 消費頻率 (Frequency)
  3. 消費金額 (Monetary)

RFM 模型能將顧客資料分類後,可以針對不同類型顧客提供給予不同優惠,不同產品組合或是進行類似受眾廣告投遞;進而節省行銷預算上不必要的浪費。

延伸閱讀:

二. RFM模型需準備的會員資料

  1. OrderId:訂單編號
  2. order_date:訂單日期
  3. TotalCharges:訂單花費

三. RFM模型程式碼

1. 設定 RFM 級距

quantile_r = rfmTable["recency"].quantile(q=[0.25,0.5,0.75])
quantile_f = rfmTable["frequency"].quantile(q=[0.25,0.8,0.95])
quantile_m = rfmTable["monetary_value"].quantile(q=[0.25,0.5,0.85])

quantiles = {"recency" : quantile_r.to_dict() , 
             "frequency" : quantile_f.to_dict(),
             "monetary_value" : quantile_m.to_dict()}

rfmSegmentation = rfmTable
def RClass(x,p,d):
    if x <= d[p][0.25]:
        return 4
    elif x <= d[p][0.50]:
        return 3
    elif x <= d[p][0.75]: 
        return 2
    else:
        return 1
 
def FClass(x,p,d):
    if x <= d[p][0.25]:
        return 1
    elif x <= d[p][0.80]:
        return 2
    elif x <= d[p][0.95]: 
        return 3
    else:
        return 4

def MClass(x,p,d):
    if x <= d[p][0.25]:
        return 1
    elif x <= d[p][0.50]:
        return 2
    elif x <= d[p][0.85]: 
        return 3
    else:
        return 4

2. 計算 RFM

rfmSegmentation['R_Quartile'] = rfmSegmentation['recency'].apply(RClass, args=('recency',quantiles))
rfmSegmentation['F_Quartile'] = rfmSegmentation['frequency'].apply(FClass, args=('frequency',quantiles))
rfmSegmentation['M_Quartile'] = rfmSegmentation['monetary_value'].apply(MClass, args=('monetary_value',quantiles))

最後~

除了本篇 Python 快速計算 RFM 模型外,也推薦閱讀此篇用 SQL 指令方式來計算電商分析指標:

【資料庫筆記】 PostgreSQL 計算電商分析指標

  • 用戶活躍度指數 MAU / WAU / DAU
  • 會員分類 RFM 模型
  • 會員分類 NES 模型
  • 用戶留存率 Customer Retention Rate
  • 數值區間分類貼標籤 Label
  • 計算七日平均 Rolling Averages
  • 計算累積加總 Cumulative Sum

延伸閱讀:

那 [數據分析] Python快速計算RFM模型 就到這邊感謝收看感謝收看,如文章內容有誤請不吝指正!

有關 Max行銷誌的最新文章,都會發佈在 Max 的 Facebook 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!
Max行銷誌:https://www.facebook.com/maxlist25/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *