campaign-creators-771730-unsplash
 程式與統計統計分析

RFM Model using R | CRM 客戶分群模型 Customer Segmentation | R 統計

RFM Model 是個簡易客戶分群的模型,依據消費者的Recency, Frequency, Monetary維度資訊來快速檢視客群組成,並能幫助行銷者快速評估最適化的CRM方案,極大化投資報酬率。比如說,若能知道各客群歷史回應率,就能預測不同客群的行銷效果(預期回應人數與報酬率),並客製化CRM行銷策略。

RFM Model

在精準行銷的時代,行銷者需要評估資源(或預算)如何有效的分配給對的目標受眾輪廓,最大化投資報酬率。主要需評估的問題包括兩個面向:

  1. Customer Segmentation
    • 如何有效區隔消費者,並找出各消費者分群的特色如:高貢獻度、高往來程度、以及高回應率等。
  2. CRM strategies
    • 根據消費者所屬分群特性,挑選合適的目標受眾進行行銷,以獲取最大報酬率。

RFM模型則是一個簡單卻有效的顧客分析模型,能幫助我們解決以上兩個問題。其中RFM分別代表:

  • R – Recency : 消費者最後一次購買距今天數。
  • F – Frequency: 消費者購買頻率。
  • M – Monetary: 消費者平均花費金額(每一次購物/訂單結帳)。

雖然RFM模型在部分統計分析軟體中有現成快速套用的RFM功能節點(ex: IBM SPSS RFM),在R裡面並沒有簡易現成的套件能快速套用。故本學習筆記將說明如何使用R語言進行RFM分析。

Data Explore

我們使用CDNOW dataset (1/10th sample),下載連結

我們可以知道獨立用戶ID數為2357,交易比數共為6919。

Segment the Customers into RFM Cells

根據剛剛載入的資料,我們可以依據R,F,M三個維度將客戶分群到各個RFM Cell
而通常,我們會幫客戶在每個維度給予1~5級的評分(維度bin數量可以根據情境調整),分數越高表示在該維度程度越高。

且根據過去經驗來說,Recency是高回應率的主要關鍵影響因素(x100),Frequency是次要影響因素(x10),最後才是Monetary(x1)。被分類到同一個RFM Cell的客戶分數會是相同的。分數“531″代表著該客戶在Recency得到5分,Frequency得到3分,Monetary則為1分。

在每一維度進行客戶切群(分箱,Binning)的方法有兩種:一種是Nested Binning巢狀法,另一種是Independent Binning獨立法。

  1. Nested Binning 巢狀法:先將客群在Recency維度切成若干等分(aliquots),然後從每組Recency等分中再依據Frequency切割成若干等份,Monetary亦然。此法的好處是,每一群RFM Cell的人數會差不多,但缺點就是不同Recency分群下的Frequency和Monetary的意義就無法比較,分數相同,但意義不同。
  2. Independent Binning 獨立法:則是獨立將客戶在各維度進行等分切群,這樣的好處就是,同樣RFM分數的意義是相同的,但缺點就是每群RFM Cell中的人數大小會有差距。

更多有關維度切bin(分箱)方法的優缺點比較(pros & cons)可參考此連結

為了讓每一群RFM Cell可以相互比較,本學習筆記將先以Independent法,依據各維度分佈來決定bin的切點(breaks)

Calculate the Recency, Frequency, and Monetary

為了進行RFM分析,我們需要進一步處理加工CDNOW Sample資料集,分為以下幾個步驟:

  1. group by unique customer ID
  2. 計算每個ID的Recency: 計算最新的一筆交易距離今日或其他指定日期的天數。
  3. 計算每個ID的Frequency: 計算每個人的總交易次數。
  4. 計算每個ID的Monetary: 計算每個人的交易金額加總除上總交易次數,即平均每筆交易的金額。

首先,先限制分析資料的時間區間如下:

group by 每個獨立ID計算以上時間區間的R,F,M值。其中Recency是最近一次交易距離endDate(1998-07-01)的天數。

Independent RFM Scoring

檢視Recency維度的分佈資訊。

RFM Model CRM

RFM Model CRM

Recency binning

依據Recency維度的百分位數(quantile)進行切群(binning),每間隔20%百分位數切一等份。

檢視Frequency維度的分佈資訊。

可以發現前80%百分位數都集中在1,2,3,4等數值。

RFM Model CRM

RFM Model CRM

Frequency binning

Frequency的部分則使用指定的1,2,3,4,5+的bin區間來進行分箱

檢視Monetary維度的分佈資訊。

RFM Model CRM

RFM Model CRM

Monetary binning

Monetary維度則使用百分位數法來進行分箱。

計算total score

將R_Score, F_Score, M_Score三個數值合併為新的三位數值。

查看每一個RFM Cell的人數分佈

R_Score和M_Score兩維度交叉表。

RFM Model CRM

根據行銷目的斟酌參考R_ScorexM_Score和R_ScorexF_Score交叉資訊表,有了基本分群資訊後,就可套用各客群歷史行銷回應率資訊,來輔助分配行銷預算,尋找目標客群,並估算預期行銷效果(預期回應人數與投報率)


更多統計分析(Analysis)資料分群(Clustering)學習筆記:

  1. 開發一個免費App能賺多少錢?靠AdMob廣告月收3萬實例分享
  2. Partitional Clustering 切割式分群 | K-means, Kmedoid | Clustering 資料分群
  3. Hierarchical Clustering 階層式分群 | Clustering 資料分群 | R 統計
  4. Decision Tree 決策樹 | CART, Conditional Inference Tree, Random Forest

參考資料連結:

  1. 歐萊禮  R資料科學
  2. RFM Customer Analysis with R Language