案例分析:基於RFM的客戶價值分析模型

本文用具體實例的方式,在RFM的基礎上構建客戶價值分析模型,探討如何對客戶群體進行細分,以及細分後如何進行客戶價值分析。最終得到LRFMC模型,並將客戶群體細分為重要保持客戶、重要發展客戶、重要挽留客戶、一般客戶、低價值客戶五類。

案例分析:基于RFM的客户价值分析模型

本文原始數據與分析思路來自《Python數據分析與挖掘實戰》第七章,感謝這本書提供的數據集與分析框架。(這本書很不錯,推薦)

一、背景與目標

1.1 背景

在面向客戶制定運營策略、營銷策略時,我們希望能夠針對不同的客戶推行不同的策略,實現精準化運營,以期獲取最大的轉化率。精準化運營的前提是客戶關係管理,而客戶關係管理的核心是客戶分類。

通過客戶分類,對客戶群體進行細分,區別出低價值客戶、高價值客戶,對不同的客戶群體開展不同的個性化服務,將有限的資源合理地分配給不同價值的客戶,實現效益最大化。

在客戶分類中,RFM模型是一個經典的分類模型,模型利用通用交易環節中最核心的三個維度——最近消費(Recency)、消費頻率(Frequency)、消費金額(Monetary)細分客戶群體,從而分析不同群體的客戶價值。

在某些商業形態中,客戶與企業產生連接的核心指標會因產品特性而改變。如互聯網產品中,以上三項指標可以相應地變為下圖中的三項:最近一次登錄、登錄頻率、在線時長。

案例分析:基于RFM的客户价值分析模型

1.2 目標

本實例藉助某航空公司客戶數據,探討如何利用KMeans算法對客戶群體進行細分,以及細分後如何利用RFM模型對客戶價值進行分析,並識別出高價值客戶。

在本實例中,主要希望實現以下三個目標:

  1. 藉助航空公司客戶數據,對客戶進行群體分類
  2. 對不同的客戶群體進行特徵分析,比較各細分群體的客戶價值
  3. 對不同價值的客戶制定相應的運營策略

二、分析過程

2.1 分析思路

本實例的數據包含了2012年4月1日至2014年3月31日期間的客戶數據,共有6萬餘條記錄。分析中需要用到KMeans算法,且需要將數據分析的結果可視化,便於後期的結論分析,於是採用以下兩種工具進行分析:

  • jupyter notebook(Python 3.6 )
  • Excel 2016

同時數據的屬性定義見下表所示,可見維度非常豐富。

案例分析:基于RFM的客户价值分析模型

考慮到商用航空行業與一般商業形態的不同,決定在RFM模型的基礎上,增加2個指標用於客戶分群與價值分析,得到航空行業的LRFMC模型:

  • L:客戶關係長度。客戶加入會員的日期至觀測窗口結束日期的間隔。(單位:天)
  • R:最近一次乘機時間。
    最近一次乘機日期至觀測窗口結束日期的間隔。(單位:天)
  • F:乘機頻率。客戶在觀測窗口期內乘坐飛機的次數。(單位:次)
  • M:飛行總里程。客戶在觀測窗口期內的飛行總里程。(單位:公里)
  • C:平均折扣率。客戶在觀測窗口期內的平均折扣率。(單位:無)

首先對原始數據進行探索,清洗異常記錄,再根據上述公式將原始數據表變換得到LRFMC模型建模需要的新數據表,接著對新數據表的數據進行屬性規約、數據變換、Python建模、結果分析,便能得到最終的結果。

總體思路與流程見下圖:

案例分析:基于RFM的客户价值分析模型

由於本實例中的數據已經得到,便不需要在業務系統中抽取數據,直接開始對數據進行預處理即可。

2.2 數據預處理

2.2.1 數據探索

案例分析:基于RFM的客户价值分析模型案例分析:基于RFM的客户价值分析模型

經過初步的數據探索,發現數據有幾點特徵:

  1. 共62988條記錄
  2. 部分維度存在缺失值,WORK_CITY缺失2269條,SUM_YR_1缺失551條,SUM_YR_2缺失138條

2.2.2 數據清洗

此處主要清洗兩類異常數據:

  1. 缺失值:票價為null的數據(注意不是票價為零)
  2. 異常值:票價為0、平均折扣率不為0、總飛行公里數大於0的數據(折扣不為0,仍有飛行里程,說明客戶必然是花錢買票飛行的,如果此時票價也為0,說明是錯誤數據)
案例分析:基于RFM的客户价值分析模型

共清洗944條異常數據,得到62044條有效記錄。

2.2.3 屬性規約

根據LRFMC模型,選取與模型強相關的6個屬性:LOAD_TIME、FFP_DATE、LAST_TO_END、LIGHT_COUNT、SEG_KM_SUM、avg_discount。刪除其他冗餘的、弱相關的屬性,得到屬性選擇後的數據集。

2.2.4 數據變換

構建包含L、R、F、M、C五項指標的新數據表,並對應屬性定義表,得到LRFMC模型中五項指標的計算公式:

  • L = LOAD_TIME – FFP_DATE. (觀測窗口結束日期 – 入會日期)
  • R = LAST_TO_END. (最後一次乘機時間至觀測窗口結束時長)
  • F = FLIGHT_COUNT. (觀測窗口內的飛行次數)
  • M = SEG_KM_SUM. (觀測窗口的總飛行公里數)
  • C = AVG_DISCOUNT. (平均折扣率)

利用2.2.3中的數據表計算得到變換後的數據表:

案例分析:基于RFM的客户价值分析模型

結果如下圖所示:

案例分析:基于RFM的客户价值分析模型

從表中可以發現:每個指標的數據取值範圍分佈較廣,為提高後續聚類分析的準確性,還需要將L、R、F、M、C五類數據進行標準化處理。標準化方法有極大極小標準化、標準差標準化等方法,此處採用標準差標準化的方法對數據進行處理。

結果如下圖所示:

案例分析:基于RFM的客户价值分析模型

標準差標準化後,得到包含ZL、ZR、ZF、ZM、ZC五項指標的數據集。

2.3 數據建模

客戶價值分析模型構建主要分為兩個部分:

  1. 利用K-Means算法對客戶進行聚類分析,得到細分的客戶群
  2. 對細分的客戶群進行特徵分析,得到客戶價值分析模型

2.3.1 聚類分析

採用K-Means聚類算法對客戶數據進行分群,共分為5類:

案例分析:基于RFM的客户价值分析模型

得到結果後,將結果轉化為DataFrame對象:

案例分析:基于RFM的客户价值分析模型

以及對62044位客戶貼上群體標籤,記為1、2、3、4、5五類,並輸出帶有標籤的Excel文件。結果如下圖所示:

案例分析:基于RFM的客户价值分析模型

2.3.2 特徵分析

對2.3.2中的聚類結果進行特徵分析,如下圖所示:

案例分析:基于RFM的客户价值分析模型案例分析:基于RFM的客户价值分析模型

分析:

  • 群體1的C屬性上最大
  • 群體2的M、F屬性屬性最大,R屬性最小
  • 群體3的L、C屬性最小
  • 群體4的R屬性最大,F、M屬性最小
  • 群體5的L屬性最大

其中每項指標的實際業務意義為:

  • L:加入會員的時長。越大代表會員資歷越久
  • R:最近一次乘機時間。越大代表越久沒乘機
  • F:乘機次數。越大代表乘機次數越多
  • M:飛行總里程。越大代表總里程越多
  • C:平均折扣率。越大代表折扣越弱,0表示0折免費機票,10代表無折機票

對應實際業務對聚類結果進行分值離散轉化,對應1-5分,其中屬性值越大,分數越高:

案例分析:基于RFM的客户价值分析模型

同時針對業務需要,及參考RFM模型對客戶類別的分類,定義五個等級的客戶類別:

(1)重要保持客戶

  • 平均折扣率高(C↑),最近有乘機記錄(R↓),乘機次數高(F↑)或里程高(M↑)
  • 這類客戶機票票價高,不在意機票折扣,經常乘機,是最理想的客戶類型
  • 公司應優先將資源投放到他們身上,維持這類客戶的忠誠度

(2)重要發展客戶

  • 平均折扣率高(C↑),最近有乘機記錄(R↓),乘機次數高(F↓)或里程高(M↓)
  • 這類客戶機票票價高,不在意機票折扣,最近有乘機記錄,但總里程低,具有很大的發展潛力
  • 公司應加強這類客戶的滿意度,使他們逐漸成為忠誠客戶

(3)重要挽留客戶

  • 平均折扣率高(C↑),乘機次數高(F↑)或里程高(M↑),最近無乘機記錄(R↑)
  • 這類客戶總里程高,但較長時間沒有乘機,可能處於流失狀態
  • 公司應加強與這類客戶的互動,召回用戶,延長客戶的生命週期

(4)一般客戶

  • 平均折扣率低(C↓),最近無乘機記錄(R↑),乘機次數高(F↓)或里程高(M↓),入會時間短(L↓)
  • 這類客戶機票票價低,經常買折扣機票,最近無乘機記錄,可能是趁著折扣而選擇購買,對品牌無忠誠度
  • 公司需要在資源支持的情況下強化對這類客戶的聯繫

(5)低價值客戶

  • 平均折扣率低(C ↓ ),最近無乘機記錄(R ↑ ),乘機次數高(F ↓ )或里程高(M ↓ ),入會時間短(L ↓ )
  • 這類客戶與一般客戶類似,機票票價低,經常買折扣機票,最近無乘機記錄,可能是趁著折扣而選擇購買,對品牌無忠誠度

根據聚類結果,對應上述五類客戶類型,進行匹配,得到客戶群體的價值排名:

案例分析:基于RFM的客户价值分析模型

在數據與處理時,我們已經將62044位用戶與客戶群體一一對應,現在每類客戶群體也對應了客戶價值,至此得到了62044位客戶的價值分類結果,建模完成。

三、分析結果

根據建模結果,發現該公司的五類不同價值的客戶數量分佈如圖所示:

案例分析:基于RFM的客户价值分析模型

分析:

  • 重要保持客戶、重要發展客戶佔比15.3%,不足兩成,整體較少
  • 一般客戶、低價值客戶佔比59.3%,接近六成,整體偏多
  • 重要挽留客戶佔比25.4%,接近四分之一,整體發揮空間大

按照20/80法則:一般而言企業的80%收入由頭部20%的用戶貢獻。從上圖中也能發現:忠誠的重要保留客戶、中發展客戶必然貢獻了企業收入的絕大部分,企業也需要投入資源服務好這部分客戶。

同時,重要保持客戶、重要發展客戶、重要挽留客戶這三類客戶其實也對應著客戶生命週期中的發展期、穩定器、衰退期三個時期。從客戶生命週期的角度講,也應重點投入資源召回衰退期的客戶。

一般而言,數據分析最終的目的是針對分析結果提出並開展一系列的運營/營銷策略,以期幫助企業發展。在本實例中,運營策略有三個方向:

  1. 提高活躍度:提高一般客戶、低價值客戶的活躍度。將其轉化為優質客戶
  2. 提高留存率:與重要挽留客戶互動,提高這部分用戶的留存率
  3. 提高付費率:維繫重要保持客戶、重要發展客戶的忠誠度,保持企業良好收入

每個方向對應不同的策略,如會員升級、積分兌換、交叉銷售、發放折扣券等手段,此處不再展開。

題圖來自 unsplash,基於 CC0 協議


分享到:


相關文章: