如何讓數據分析來幫助業務掙錢,這是每個數據分析師都會考慮的問題,近幾年經常提到的精細化運營、數據驅動增長、增長黑客這樣的字眼,這背後的核心就是用戶行為分析。
而其中最經典的當屬RFM模型吧,簡單好操作而且還十分實用,下面就介紹一些怎麼構建RFM模型。
一、什麼是RFM模型?
R是指用戶的最近一次消費時間,用最通俗的話說就是,用戶最後一次下單時間距今天有多長時間了,這個指標與用戶流失和復購直接相關。
F是指用戶下單頻率,通俗一點兒就是,用戶在固定的時間段內消費了幾次。這個指標反映了用戶的消費活躍度。
M是指用戶消費金額,其實就是用戶在固定的周期內在平台上花了多少錢,直接反映了用戶對公司貢獻的價值。
而RFM模型就是通過一個客戶的近期購買行為、購買的總體頻率以及花了多少錢三項指標,來描述該客戶的價值狀況。
二、RFM模型有什麼作用?
RFM模型可以對客戶的終生價值做一個合理的預估,基於一個理想的客戶特徵來衡量現實中客戶價值的高低,通過此類分析,定位最有可能成為品牌忠誠客戶的群體,讓我們把主要精力放在最有價值的用戶身上。
三、怎麼構建RFM模型?
下面我們就直接開始進行實操教程,以某家零售商的銷售數據為數據源,針對其用戶行為簡單分析一下,總結來說有下面幾個步驟:
1、人群劃分
進行客戶行為分析的第一步是按照企業實際業務需求對您的客戶群進行分類,人群細分參考的屬性主要分為三大類:
- 基礎屬性:如性別、年齡、地域
- 興趣屬性:如媒體偏好、交易行為
- 自定義屬性:基於行業的特徵定義的屬性,比如乳業需要知道這個人有沒有孩子
2、明確指標
也就是通過excel或者BI工具計算出每個客戶的RFM指標,這裡我用的是FineBI,通過客戶名稱、消費時間、消費金額來處理出上次交易間隔R、交易頻率F、交易金額M三個原始欄位,如下圖所示。
但是要注意的是這三個指標不是死板不變的,要針對自己的行業特點靈活變通,比如在金融行業,最近一次購買時間可能並不適用,此時可以考慮採用金融產品持有時間來代替R,這樣更能體現用戶與金融企業建立聯繫時間的長短。
而我們這次要使用的數據指標有四個,分別為「訂單額」、「訂單量」、「下單時間」和「客戶方」,其他指標如「訂單類型」、「地區」等我們暫時先不用。
3、數據連接
finebi中設置了很多的數據連接方式,可以通過oracle等資料庫進行連接、sql連接等等,這裡我直接導入的Excel表,能方便地處理非及時性數據。
如果我們有多個數據源的數據,需要分別選擇不同的指標整合到一起分析怎麼辦?
這裡我發現finebi有個非常人性化的優點,就是可以通過自助數據集的方式對數據指標進行整合,如下圖所示直接選擇新建自助數據集—選擇數據表—添加欄位即可,需要什麼指標就去哪張表里去找,很方便。
4、數據清洗
在進行數據分析之前,我們首先要做的就是對數據進行初步加工,因為數據源中很多髒數據,會影響我們的分析結果,需要先將其篩選出去,比如一些空值、異常值、特殊文本顯示等等。
finebi的數據加工中包含了很多處理功能,比如過濾、分組匯總、排序、合併、聚合等等,這些功能我們後面都會用到,這裡我們先增加兩個過濾條件,將訂單金額小於等於零、且訂單時間為空的數據篩選出去。
我們通過上面的數據表可以看出,同一個客戶如果下單兩次,就會產生兩個數據,而RFM模型中要求的數據是「最近一次下單時間」、「最近一段時間內的下單次數」以及「最近一段時間內的購買金額」,因此我們要想辦法計算用戶行為次數。
具體方法是新增一列,命名為「次數」,數值設為常數1,主要目的是為了後面方便計算個數,同一個客戶出現了多少次數值1,就說明下單了幾次;
然後我們選擇「分組匯總」,以「客戶名」為主要匯總項,「次數」項選擇加和匯總,代表某個客戶出現了幾次;同時將「訂單時間」設置為「最晚時間」,也就是距離今天最近的一次消費時間,這樣基本的數據清洗就完成了。
但是因為還要計算客戶最近一次購買有多遠,而數據表中僅僅是下單時間,所以需要用函數計算一下下單時間與今天的天數,但finebi不用那麼麻煩,可以直接計算時間差:
5、切分指標
因為我們要把用戶按照三個維度指標進行劃分,也就相當於將用戶放到下面這個正方體中:
因此我們要對指標進行切分,設定閾值,也就是為指標設定正負值,確保三個指標將用戶分為八個象限。通常比較常用的方法就是等頻和等寬進行切分,比如將用戶購買花費進行平均值計算。
但是平均值只適合於均類數據,對於一些不規則數據,平均值會造成很大的誤差:
比如一家公司有三家客戶,訂單額分別為1萬、5千和1百,顯然重要客戶應該是前兩個。而三個客戶的訂單平均值為5033,如果按照平均值劃分數據,那麼只有第一個客戶符合重要客戶的標準,這顯然是不對的。
這時候我們就要用到聚合的功能,簡單說,聚合功能就是一堆數據按照內在特徵的不同進行劃分,不同類的數據之間的差別一般是很大的,這樣就能找到大數據量中的「中心點」,而非平均點。
在FineBI中我們可以直接使用聚合功能,聚合指標選擇「訂單金額「、」時間「、」次數「,聚合數選擇」3「,聚合方式選擇」歐氏距離「,這樣就可以得到最終的聚合結果了,最終可以計算出每個客戶的聚合R值、聚合F值和聚合M值,這就是我們要用到的參考值。
有了參考值,下一步就是將時間、頻次與訂單額與參考值進行比較,這裡我們會用到finebi中的邏輯函數IF,新建一列為R,具體函數為:
- IF(時間<時間中心點,1,0)
其含義為如果時間列中的數據大於聚合之後的時間中心點,如果小於聚合R值,則為1,反之則為0;
同理對其他兩個指標也進行劃分,這樣指標細分工作基本上就完成了。
6、用戶分類
我們將三個指標分別進行劃分後,按照下圖的方式進行組合,就可以得到八個象限,代表8類客戶:
在finebi中我們先新增一列為RFM值,為了方便分組,我們的計算公式為R*100+F*10+M,也就能得出0、1、10、11、100、101、110、111八個不同的值,分別代表八種客戶類型。
這樣我們的用戶細分也就完成了。
7、可視化分析
利用FineBI對客戶進行細分,可以將其製作成可視化數據分析模板,以便我們按照需求進行客戶分析。
- 例如圖中的面積圖,可以顯示出該公司各類客戶的占比,顯而易見一般挽留客戶與一般發展客戶占據多數,說明該公司的用戶結構不是很合理,需要儘快採取措施進行優化;
- 而右側的環形圖則代表著各種類型客戶的購買數量,可以看出復購率越高、願意花大價錢的客戶買的數量越多;
- 左側的儀錶盤代表著某種類型客戶的數量,而下方的詳細圖則詳細展示了某家客戶的類型和對應的R、F、M值。
總結
其實RFM在用戶行為分析中的應用十分廣泛,因為時間原因這裡就只是做一個簡單的教程,FineBI中也有更多的相關數據可供大家練習!
文章來源: https://twgreatdaily.com/zh/QP5-rm8BUQOea5OwtQ-M.html註:finebi下載連結,可以後台私信回復我「數據分析」獲得!