©作者 | leo
管理學中有一個重要概念那就是客戶關系管理(CRM),它核心目的就是為了提高企業的核心競争力,通過提高企業與客戶間的交互,優化客戶管理方式,從而實現吸引新客戶、保留老客戶以及将已有客戶轉化為忠實客戶的運營機制。
而這其中最為經典的實現模型那就是RFM模型,它主要通過對每個客戶的近期消費時間,購買頻率和購買金額來對不同的客戶進行價值狀态劃分。
從而使得我們可以有針對性的對不同用戶進行個性化運營和營銷。
01 RFM模型核心維度針對上述3個維度,我們的預期:
最近一次消費的時間(Recency):
該維度指的是最近一次消費時間間隔(R), 也就是上一次消費的時間間隔,該值越小客戶價值越高,這是因為消費間隔越近的客戶越有可能産生二次消費。
某段時間内消費頻率次數(Frequency):
消費頻次(F)體現了客戶的購買頻率,那麼購買頻次越高,越能體現用戶的消費活躍程度,因此,客戶價值也就越高。
某段時間消費的總金額(Monetary):
消費金額(M)這個從字面意思即可知道,用戶的消費金額越高,用戶的消費能力越強,那麼自然用戶的價值也就越高。
02 RFM劃分用戶類型及對應運營策略
為了解決現存方法的缺陷,作者首次提出了将MCL、SSL和Excel是實現RFM模型的一個重要且十分直接的工具,隻需要靈活使用Excel自帶的函數就可以實現數據的彙總計算,得到RFM模型的三個指标值,從而将用戶的價值類型提取出來,讓我們有針對性的進行業務推廣策略。
接下來我們給大家演示一個用Excel實現的RFM模型:
【數據來源】
某淘寶店鋪的月份銷售數據
【分析目标】
根據現有訂單數據,構建店鋪用戶價值模型,從而為後續的精細化運營不同的客戶群體打下基礎
【數據預處理】
數據量大概有3989條,可以在excel内處理,也可以使用python對大批量的數據進行處理。
3.1 提取關鍵詞字段:
【買家會員名】、【總金額】、【訂單付款時間】、并設置對應的數據類型,我們要在同頁面進行RFM值的計算。
3.2 計算Recency, Monetary,Frequency
Recency: 通過對【買家會員名】、【總金額】、【訂單付款時間】三列數據做透視表,對訂單付款時間求最大值,即最近消費時間,然後與觀測時間進行求差運算,可得R值
Monetary:對總金額下的客戶不同消費進行平均值運算,即可獲得該客戶的M值
Frequency:對訂單付款時間進行計數運算,就是該客戶的消費頻次F值
3.3 客戶RFM模型建立
計算完客戶的R、F、M值後,接下來就可以實現客戶RFM模型的評估了。
【簡單實現】
此時可以先計算出來R、F、M三個值的平均值,然後對客戶的每個維度與該維度的平均值進行比較,如果超出平均值就是高,否則就是低。
然後将三列字段通過’&’連接符鍊接起來,生成RFM輔助列。
然後通過我們預先準備好的價值模型參考表,生成用戶價值模型。
最後通過excel的vlookup函數提取客戶類型字段到計算表中,就實現了我們的最終結果。
【計分法】
通過用戶的R、F、M值與對應值的極差(最大值與最小值的差),來确定R-Score, F-Score,M-Score。
因此首先計算R、F、M的最大值、最小值、極差三等分距
最大值:通過“=max(B5:B1204)” 計算,(計算F時B換成C,M時B換成D即可)
最小值:通過“=min(B5:B1204)”計算(計算F時B換成C,M時B換成D即可)
極差:通過“=(F1-F2)/3”計算(計算F時F換成G,M時F換成H即可)
R-Score計算方式:在E5單元格輸入:
“=IF(ROUNDUP((B5-$F$2)/$F$3,0)=0,1,ROUNDUP((B5-$F$2)/$F$3,0)) ”
F-score和M-score計算方式類似:
“=IF(ROUNDUP((C5-$G$2)/$G$3,0)=0,1,ROUNDUP((C5-$G$2)/$G$3,0))”
“ =IF(ROUNDUP((D5-$H$2)/$H$3,0)=0,1,ROUNDUP((D5-$H$2)/$H$3,0))”
RFM-Score計算采用将R、F、M以百分位、十分位、個位組成三位數的方式實現,共有3*3*3=27種組合方式。
H5單元格的公式:“=E5*100 F5*10 G5”
下拉填充柄應用于整個列表,得到最後結果:
然後對數據表區域A4到H3996進行數據透視:彙總不同的RFM-Score對應的客戶群體。
可以采用數據條的方式直觀顯示客戶分布情況。
通過Python處理數據時,我們首先需要關注我們提取進來的數據是否需要預處理,比如數據的類型是否符合預期,字段名是否需要調整,缺失值是否需要填充,重複值是否需要去除等等,因此第一步我們首先需要對數據進行初步的熟悉了解:
4.1 熟悉數據源
常用于初步了解數據的方法有很多比如:shape(了解數據的大小,幾行幾列),head(顯示其中的前幾條數據),tail(顯示數據源最後幾條數據),sample(随機提取幾條數據),info(顯示數據源的各字段數據類型),describe(對數據源進行數學描述)。
顯示結果如下:
通過上圖我們發現交易記錄裡面會有一些無效訂單,那麼我們首先就要排除這類訂單,那麼就可以通過pandas的布爾索引來進行數據的篩選:
結果如下:
4.2 選取字段
鑒于我們僅需要買家付款時間,購買日期,實付金額這三個字段,我們僅需要對他們進行數據處理,因此可以排除其他字段。
結果如下:
缺失值處理:
4.3 RFM建模:
A. 計算R值
添加天數字段,将付款時間與觀察日期進行日期計算得到R值
運行結果如下:
B. 計算R、F、M值
通過聚合函數,對買家昵稱進行計數運算獲得消費頻次F值,計算天數字段的最小值獲得客戶的R值,通過實付金額的求和運算獲得客戶的M值。
運行結果如下:
C. 用戶價值評分
通過上述計算,我們可以根據不同的分數段來對客戶R、F、M值進行打分,就本案例來講:
R值:我們得出的最小值是660,以30天作為間隔,660-690天,打5分;690-720,打4分;720-750打3分;750-780打2分;>780,打1分。
F值:我們得出的最小值是1次,以1次作為時間間隔,0-2,打1分;2-3,打2分;3-4,打3分;4-5,打4分;>5,打5分。
M指:我們得出的最小值是0.005元,我們以500元作為時間間隔,0-50,打1分;50-100,打2分;100-150,打3分;150-200,打4分;>200,打5分。
依據上述标準建立程序方法:
運行結果:
D. 用戶标簽設定:
第一步:計算用戶R、F、M平均值:
運行結果
第二步:驗證用戶各項指标是否超出平均值,是則計一分,否則不計分。
運行結果如下:
第三步:生成用戶标簽列:
運行結果如下:
E. 可視化呈現:
柱狀圖:
運行結果如下:
通過以上數據分析工具的分析,我們可以發現在實現RFM模型的方法中,Python具有更為強大的可用性和靈活性,且擁有完備的數據分析手段,從數據預處理、分析到最後的數據呈現。
而Excel在實際工作中應用場景也是非常多見的,通過本案例可以很好的實踐Excel相關函數,希望本文對你的數據分析之旅有所幫助。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!