用戶價值分層——基于RFM模型的研究分析

導讀:學習隨筆,近期一直在研究關于用戶的數據分析產品,網上翻閱了諸多文集,想想還是自己落筆記錄下過程。該篇文章主要是針對RFM模型的介紹與實踐,在研究理論的同時,亦學習鞏固下Python的能力。

RFM模型的概念和用途

名詞解釋

? R(Recency):消費間隔,最近一次距離上次消費的時間間隔
? F(Frequency):消費頻次,一段時間(1個月/1年...)內的消費總次數
? M(Monetary):消費金額,一段時間(1個月/1年...)內的消費總金額

RFM模型概念

??????RFM模型是用戶價值研究中的經典模型,基于近度(Recency),頻度(Frequency)和額度(Monetory)這3個指標對用戶進行聚類,找出具有潛在價值的用戶, 從而輔助商業決策,提高營銷效率。RFM作為一種數據驅動的客戶細分技術,可幫助營銷人員做出更明智的戰略性決策,使營銷人員能夠快速識別用戶并將其細分為同類群體,并針對性制定個性化的營銷策略,提高用戶的參與度和留存率。
??????RFM建模所需要的數據源是相對簡單的,只用到了購買記錄中的時間和金額這兩個字段。我們基于交易數據中用戶的最后一次的購買時間,購買的次數以和頻率,以及平均/總消費額對每個用戶計算了三個維度的標準分。然后我們對于三個維度賦予了不同的權重,再基于加權后的分值應用K-Means進行聚類,根據每種人群三個維度與平均值之間的高低關系,確定哪些是需要保持用戶,哪些是需要挽留的用戶,哪些是需要發展的用戶等。在將這些客戶圈出之后,便可以對不同客戶群使用不同針對性地營銷策略(引導,喚醒等),提高復購率與轉化率。值得注意的是,三個維度的權重制定并沒有統一的標準,比較通用的方法是用層次分析法(AHP),實際場景結合行業以及具體公司的特點進行因地制宜、因人而異的優化。

RFM模型用途

RFM因素:
? R值越高,顧客的有效期越近,對商家活動的響應越積極
? F值越高,顧客的消費頻次越高,對商家的忠誠度就越高
? M值越高,顧客的消費能力越高,對商家貢獻度就越高
? 想要提高復購率和留存率,需要時刻警惕R值

RFM分析:
? 誰是您最有價值的客戶?
? 導致客戶流失率增多的是哪些客戶?
? 誰有潛力成為有價值的客戶?
? 你的哪些客戶可以保留?
? 您哪些客戶最有可能對參與度活動做出響應?
? 誰是你不需要關注的無價值客戶?
? 針對哪些客戶制定哪種發展、保留、挽回策略?

??????通過RFM模型,可以幫助營銷人員實現客戶細分;衡量客戶價值和客戶利潤創收能力;識別優質客戶;指定個性化的溝通和營銷服務;為更多的營銷決策提供有力支持。

基于RFM模型的實踐

實驗數據

數據來源:某知名餐飲品牌2019年起注冊會員的消費數據
樣本數據:會員id、訂單id、消費日期、消費金額
數據總量:134683(其中會員數為62018)
數據示例(如下表所示):

member_id order_id curr_date pay
912e64b3fdf945448505e6d4b8155 74b113d90174fc390bcb780a 2020/10/6 58
981c4e0bd28a462d8953c01cbfe8 74b113d90175028fe17e5d4c 2020/10/7 172
15321a29b03641f895119bd2f64f 74b113d9017507d7c8881d41 2020/10/8 88

數據預處理

數據導入:使用python的pandas.read_csv導入樣本數據。
缺失值校驗:因數據為生產真實的交易數據,質量相對較高,缺失值較低。

data.isnull().any(axis=0) # 檢查每一列是否有缺失值
data.isnull().any(axis=1) # 檢查每一行是否有缺失值

極值校驗:第一份樣本數據獲取的用戶訂單實付金額,其中會存在優惠或補差支付,同時因就餐人數不一致,產生的的訂單消費也會存在較大的差異,造成極致波動、標準差值較大,因此需對金額進行處理,以人均消費額替代訂單支付金額,可去掉10元以下、萬元以上的交易訂單。

print(data.describe())

獲取RFM值:使用 groupby獲取RFM值

# 計算原始最近一次訂單時間
r = date['curr_date'].groupby(date.index).max()
# 計算原始訂單頻率
f = date['order_id'].groupby(date.index).count()   
# 計算原始訂單總金額
m =date['pay'].groupby(date.index).sum()   

獲取RFM評分值:數據離散,pandas.cut

# 計算r得分 r_interval為當前日期與R值的間隔天數
r_score = pd.cut(r_interval, 5, labels=[5, 4, 3, 2, 1])       
# 計算f得分
f_score = pd.cut(f, 5, labels=[1, 2, 3, 4, 5])   
# 計算m得分
m_score = pd.cut(m, 5, labels=[1, 2, 3, 4, 5])    
#RFM離散分布區間
# R
[(11.878, 36.4] < (36.4, 60.8] < (60.8, 85.2] < (85.2, 109.6] <(109.6, 134.0]]
# F
[(0.921, 16.8] < (16.8, 32.6] < (32.6, 48.4] < (48.4, 64.2] <(64.2, 80.0]]
# M
[(-12.407, 2728.684] < (2728.684, 5456.138] < (5456.138, 8183.592] <
(8183.592, 10911.046] < (10911.046, 13638.5]]

實驗數據RFM分值占比

data_pd.plot(kind='bar',grid = True,colormap='Blues_r',stacked=True)

說明:F、M分布不均勻,極值差異大,經數據探查知曉該商戶開通了企業團餐業務,企業會給員工發放補貼,導致員工呈現較高的消費頻次,該類用戶的消費行為絕大程度依賴于企業,在實際的RFM模型可踢出此類訂單,降低此類人群的分值,其次數據中的M值為客戶實付金額,該商戶支持預定、會餐、大小桌,同一單的消費群體不同,或可使用人均消費總額作為M值。
RFM數據合并,建立R、F、M數據框:pandas+numpy

# 將R,F,M三個維度組成列表
rfm_list = [r_interval, frequency_value, monetary_value, r_score, f_score, m_score]   
# 設置R,F,M三個維度的列名  
rfm_cols = ['R', 'F', 'M', 'r_score', 'f_score', 'm_score']     
# 建立R,F,M數據框
rfm_pd = pd.DataFrame(np.array(rfm_list).transpose(), dtype=np.int32,
                      columns=rfm_cols, index=frequency_value.index) 

基于RFM模型的用戶評分分層

計算RFM綜合分值:權重法
權重值主要賦值方法可分為主觀賦權法、客觀賦權法,如下:
?主觀賦權法:主要由專家經驗得到權數,然后對指標進行綜合評價。是一種結合性方法,易操作,存在一定主觀性。常用方法:層次分析法AHP、權值因子判斷表法、德爾菲法、模糊分析法、二項系數法、環比評分法、最小平方法、序關系分析法等。
?客觀賦權法:依據歷史數據研究指標之間的相關關系或指標與評估結果的影響關系來綜合評價。這是定量研究,無須考慮決策者主觀意愿和業務經驗,計算方法較為復雜。常用方法:主成分分析、因子分析、熵值法、變異系數法、均方差法、回歸分析法等。
因樣本數據分布不均勻,故手動賦權重值,去除部分極值。

#加權得分:
rfm_pd['rfm_wscore'] = rfm_pd['r_score']*0.8 + rfm_pd['f_score']*0.1 + rfm_pd['m_score']*0.1
# 散點圖繪制
rfmm.plot.scatter('R','F',c=rfmm.rfm_wscore
,s=100*rfmm.rfm_wscore,cmap='viridis',alpha=0.3
,figsize=(15,8),fontsize=12)

結論:以近90天的消費活躍來看,用戶消費頻次集中在1-6次,呈現出極佳的復購率??梢葬槍οM一次的人群進行特征分析。比如針對人群的流動性,若流動人群占比較大,可進一步推廣特色菜吸引客戶,若周邊人群占比較高,可基于復購人群的特征進行分析,同時平臺可提供該類人群近期消費偏好,供商家參考,制定針對性方案。

基于RFM的用戶價值分層

??????了解RFM定義后,將3個指標作為坐標系的XYZ坐標軸,從空間上切割成8類,作為用戶的價值分層,如下圖:



用戶價值分層說明:


用戶價值分層

上面我們已經計算得到各個用戶的RFM分值,接下來要依據分值進行分類。
定義RFM 的分值等級

等級 分值
均值以上,含均值
均值以下

使用pyecharts繪制玫瑰圖:

# 獲取等級匯總數據
tmp = rfm_model.groupby('Label of Customer').size()
# 匯總結果轉化列表
t = [list(z) for z in zip(tmp.index.values.tolist(), tmp.values.tolist())]
# 繪制餅圖
pie = (
    Pie()
    .add('',t,radius=['30%','75%'],rosetype='radius',
     label_opts=opts.LabelOpts(is_show=True))
    .set_global_opts(title_opts=opts.TitleOpts(title='用戶價值分層',pos_left='center'),toolbox_opts=opts.ToolboxOpts(is_show=True),          legend_opts=opts.LegendOpts(orient='vertical',pos_right='2%',pos_top='30%'))
    .set_series_opts(label_opts=opts.LabelOpts(formatter=':avvj8cw%'))
    .render("用戶價值分層.html")
)

結論:商家顧客表現出來的忠誠度較高,但新客獲取能力較低。但是單純看分層占比,并沒有實際意義,可以基于價值分層與其他特征關聯分析進行精準投放。如下圖(網絡參考圖,本期實驗并未涉及其他特征)所示:


基于RFM模型的場景應用

基于RFM模型構建用戶畫像

??????用戶畫像是基于用戶信息與行為衍生出來的特征屬性,用戶的準入信息是用戶的主觀特征,是一種既定的事實,通過對用戶行為的采集、研究,刻畫出單個用戶的特征。其意義在于基于某一事物對群里特征進行分類,有效的體現事物的合適人群;同時針對群里特征的偏愛、習慣研究,可以刻畫出用戶的需求,實現精準化營銷。


??????用戶畫像的基礎成分來源于用戶的準入信息(會員注冊時的登記信息),更多的特征數據來源于用戶的各類行為,而RFM模型便是基于用戶消費行為提煉出來的價值指標。通過對各個價值分層的群體特征研究,可以有效提升獲客能力以及針對各類人群實現精準化營銷。

基于RFM模型實現精準營銷

??????市場和運營往往絞盡腦汁做活動、上新品、蹭熱點、做營銷,拓渠道,不斷開發客戶、做回訪維系客戶感情,除了少數運氣好的之外,但大多效果寥寥,這是為何?
??????經驗豐富的營銷人員都知道“了解客戶”和“客戶細分”的重要性。營銷人員不僅要著眼于創造更多的訪問量和點擊量以提高客戶獲取,還必須遵循從提高點擊率(CTR)轉變為提高保留,忠誠度并建立客戶關系的新范式。與其將整個客戶群作為一個整體進行分析,不如將其劃分為同類群體,了解每個群體的特征,并使他們參與相關的活動,而不是僅根據客戶年齡或地理位置進行客戶細分。而RFM分析是市場營銷人員分析客戶行為的最流行、最簡單、最有效的客戶細分方法之一。
針對RFM分層用戶制定相應的營銷策略:
??????? 重要價值客戶是您的最佳客戶,他們是那些最新購買,最常購買,并且花費最多的消費者。提供VIP服務和個性化服務,獎勵這些客戶,他們可以成為新產品的早期采用者,并有助于提升您的品牌。
??????? 重要發展客戶:近期客戶,消費金額高,但平均頻率不太高,忠誠度不高。提供會員或忠誠度計劃或推薦相關產品以實現向上銷售并幫助他們成為您的忠實擁護者和高價值客戶。
??????? 重要保持客戶:經常購買、花費巨大,但最近沒有購買的客戶。向他們發送個性化的重新激活活動以重新連接,并提供續訂和有用的產品以鼓勵再次購買。
??????? 重要挽回客戶:曾經光顧,消費金額大,購買頻率低,但最近沒有光顧的顧客。設計召回策略,通過相關的促銷活動或續訂帶回他們,并進行調查以找出問題所在,避免將其輸給競爭對手。
???????一般價值客戶:最近購買,消費頻次高但消費金額低的客戶,需要努力提高其客單價,提供產品優惠以吸引他們。
??????? 一般發展客戶:最近購買,但消費金額和頻次都不高的客戶??商峁┟赓M試用以提高客戶興趣,提高其對品牌的滿意度。
??????? 一般保持客戶:很久未購買,消費頻次雖高但金額不高的客戶??梢蕴峁┓e分制,各種優惠和打折服務,改變宣傳方向和策略與他們重新聯系,而采用公平對待方式是最佳。
??????? 一般挽留客戶:RFM值都很低的客戶。針對這類客戶可以對其減少營銷和服務預算或直接放棄。

??????此外,目前的RFM分析中,一般給與M值更高的權重,如果一般挽留客戶與一般發展客戶占據多數,說明公司的用戶結構不是很合理,需要盡快采取措施進行優化。

作者申明:本文為作者學習隨筆,不做商業用途,作者有點懶,不習慣花時間組織語言,文中部分引用網絡專家用語。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。