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