利用RFM模型對A公司進行客戶價值分析
背景與挖掘目標
- 背景
信息時代的來臨使得企業營銷焦點從產品中心轉變為客戶中心,客戶關係管理稱為企業的核心問題。客戶關係管理的關鍵問題市是客戶分類,通過客戶分類,區分無價值客戶、高價值客戶,企業針對不同價值的客戶制定優化的個性化服務方案,採取不同的營銷策略,將有限的營銷資源集中於高價值客戶,實現企業利潤最大化目標。準確的客戶分類結果是企業優化營銷資源分配的重要依據,客戶分類越來越成為客戶關係管理中亟待解決的關鍵問題之一。
A公司是一家在線HR人力資源管理的B2B公司,主要業務是幫助中小企業代繳社保公積金,從中賺錢一定的服務費用。隨著市場競爭的日益激烈,各大同行的競品公司都推出了更優惠的營銷方式來吸引更多的客戶,A公司面臨著客戶流失、競爭力下降等經營危機。通過建立合理的客戶價值評估模型,對客戶進行分群,分析比較不同客戶群的客戶價值,並制定相應的營銷策略,對不同的客戶群提供個性化的客戶服務是必須和有效的。目前A公司已經積累大量的歷史訂單數據,如下圖所示。
- 目標
請根據這些數據實現目標。
- 藉助A公司的客戶數據,建立客戶評分模型,對客戶進行分類。
- 對不同類型的客戶性別制定個性化服務,制定個性化營銷策略。
分析方法與原理
- RFM方法的概念:RFM方法是根據客戶活躍程度和交易金額貢獻,進行客戶價值細分的一種方法,具體名詞解釋如下;
- RFM模型的實現步驟:
1、計算RFM的各項分值
R_S,距離當前日期越近,得分越高,最該高5分,最低1分
F_S,交易頻率越高,得分越高,最該高5分,最低1分
M_S,交易金額越高,得分越高,最該高5分,最低1分
*上表中所有數據都進行了0-1標準化處理
2、根據RFM分值對客戶進行分類
*用戶劃分的閾值採用R、F、M的平均值
- 使用RFM模型的前提條件
最近有過交易行為的客戶,再次發生交易的可能性要高於最近沒有交易行為的客戶;
交易頻率較高的客戶比交易頻率較低的客戶,更有可能再次發生交易的行為;
過去所有交易總金額較多的客戶,比交易總金額較少的客戶,更有消費積極性;
數據抽取
從資料庫中抽取自2017-01-01的2017-09-30的客戶詳細數據,抽取的欄位為付款日期、客戶名稱、單筆交易金額,為防止客戶信息泄露,將客戶名稱用數字進行脫敏處理,並將其命名為客戶ID,並將其改為文本格式。抽取後的客戶信息表如下所示,將其命名為「數據原表」。
數據探索性分析
對抽取後的數據進行缺失值和異常值分析,分析出數據的規律以及異常值。通過excel對客戶單筆交易金額進行描述性統計分析。通過分析得到的探索結果如下。
數據預處理
由於本案例的數據記錄數有187926條,數目較大,本案列對數據缺失的7條數據直接刪除處理。
模型構建
- 計算出每筆交易記錄距離現在的時間間隔。在D2單元格鍵入公式=TODAY()-[@付款時間],並雙擊D2自動填充所有單元格,並將其格式設置為「常規」,得到的效果如下圖所示。將其命名為「數據預處理後的表」。
- 製作RFM模型所需要的表格。選中「數據預處理後的表」將其進行數據透視,將"客戶ID"拖到行標籤;將「單筆交易金額「拖到值標籤裡面,並打開「值欄位設置」選項,「自定義名稱」設置為「Montary:總交易額度」,計算類型設置為」求和「,如下圖所示。
將「每筆交易距離現在的時間間隔「拖到值標籤裡面,並打開「值欄位設置」選項,「自定義名稱」設置為「Recency:最近一次交易距離現在的時間間隔」,計算類型設置為」最小值「,如下圖所示。
將「客戶ID「拖到值標籤裡面,並打開「值欄位設置」選項,「自定義名稱」設置為「Frequency:交易次數」,計算類型設置為」計數「,如下圖所示.
得到的數據透視表如下圖所示。
- 進行0-1標準化處理。上一步得到的「Montary:總交易額度」,「Frequency:交易次數」,「Recency:最近一次交易距離現在的時間間隔」這三個欄位的量綱不同,並且它們的數量級相差太大,因此低它們進行0-1標準化處理。具體步驟如下:
- 將上一步得到的數據透視表複製粘貼到sheet3,並將其命名為「客戶評分表"。
- 將E列命名為」將M進行0-1標準化「,在E2單元格鍵入公式
=([@[Montary:總交易額度]]-MIN([Montary:總交易額度]))/(MAX([Montary:總交易額度])-MIN([Montary:總交易額度]))n
並雙擊E2單元格讓其自動填充。以此得到」將R進行0-1標準化「,」將F進行0-1標準化「。
- 分別對」將M進行0-1標準化「,」將R進行0-1標準化「,」將F進行0-1標準化「這三列進行評分。評分標準見下表所示,將H列命名為」對M進行評分「,在H2單元格鍵入公式
=IF([@[將M進行0-1標準化]]>0.8,5,IF([@[將M進行0-1標準化]]>0.6,4,IF([@[將M進行0-1標準化]]>0.4,3,IF([@[將M進行0-1標準化]]>0.2,2,1))))n
並雙擊H2單元格讓其自動填充。依次可以得到」對R進行評分「,」對F進行評分「。
*注意:」將R進行0-1標準化「這一列的值越小分值越高,上式要進行一定的變動。
- 根據評分對客戶進行等級劃分。在O2、O3、O4分別求出」對M進行評分「,」對R進行評分「,」對F進行評分「的均值,如下圖所示。
將K列命名為」客戶屬性「,在K2單元格鍵入公式」
=IF(AND([@對R進行評分]>$O$1,[@對F進行評分]>$O$2,[@對M進行評分]>$O$3),"重要價值客戶」,nIF(AND([@對R進行評分]<$O$1,[@對F進行評分]>$O$2,[@對M進行評分]>$O$3),"重要喚回客戶",nIF(AND([@對R進行評分]>$O$1,[@對F進行評分]<$O$2,[@對M進行評分]>$O$3),"重要深耕客戶,nIF(AND([@對R進行評分]<$O$1,[@對F進行評分]<$O$2,[@對M進行評分]>$O$3),"重要挽留客戶,nIF(AND([@對R進行評分]>$O$1,[@對F進行評分]>$O$2,[@對M進行評分]<$O$3),"潛力客戶",nIF(AND([@對R進行評分]>$O$1,[@對F進行評分]<$O$2,[@對M進行評分]<$O$3),"新客戶",nIF(AND([@對R進行評分]<$O$1,[@對F進行評分]>$O$2,[@對M進行評分]<$O$3),"一般維持客戶",n"流失客戶")))))))n
並雙擊K2單元格讓其自動填充,便可以得到用戶屬性了。
*上式涉及到函數的多層嵌套,建議折行書寫,這樣更加清晰,注意右邊的括弧的個數。
結論以及建議
我們對上面得到的「客戶評分表」進行數據透視,並得到各種屬性客戶的客戶佔比情況和各屬性客戶的總數,分別用環圖和條形圖表示。
- 結論:所有用戶群體裡面新用戶最多,佔總用戶群體的75%左右;流失客戶佔比達到24.46%,居其次;重要客戶價值所佔的比列較少,僅為0.14%。
- 建議:A公司新用戶所佔比例達到75.00%,重要價值客戶所佔比例僅為0.14%,銷售人員應該努力跟進這些用戶,促進這些用戶轉換為「重要價值用戶」,提高重要價值客戶佔比;流失客戶佔比達到24.46%,所佔比例也比較大,對於這些客戶,銷售人員應該推出一些優惠政策和提高用戶服務質量,防止這一波用戶流失。
更新與2017-12-19
按照RFM模型的平均值來把用戶劃分為八種類型,制定8種不同的營銷策略,成本很高。可以採用scikit learn包中的k-means聚類演算法將用戶類型分為4~5類,更加有益於營銷策略的制定。
推薦閱讀:
※關於機器學習(數據科學)競賽的一些小思考
※網貸平台貸款數據分析
※【APT報告】海蓮花團伙的活動新趨勢
※快消與大數據:利用DataHunter制定異常庫存處理策略
※為什麼現在那麼多妹子做數據分析師?我一個人帶4個妹子團隊壓力好大(><) 沒有性別歧視,只是好奇男的都跑哪去了?