python做RFM代碼太複雜,使用Tableau多簡單!

↑ 點擊上方 凹凸數據” 關注 + 星標 ~ 

每天更新,大概率是晚9點  


關於RFM模型的介紹和pyhton實現過程見之前發過的文章!

《用python輕鬆實現數據分析中的RFM建模》

本文旨在通過2015-2018的客戶訂單分析,瞭解各大區銷售經營情況、不同偏好,並通過RFM模型來進行客戶價值分類,實現定向營銷。

現在開始手把手教學RFM實戰的軟件操作:

1、數據表的介紹

  數據已經提供了,該數據是2015-2018的客戶訂單經過脫敏後得到的數據,共包含了8987條記錄,該數據的字段很多,但是對於RFM建模,我們只需要“客戶名稱”、“銷售額”、“日期”,就可以完成RFM模型的構建。下面我們只截圖展示表中的部分數據。

2、計算RFM的值(MySQL)

  其實RFM的值,我們這裏利用一個SQL語句就可以解決,但是我們爲了更細緻的講解RFM值的計算過程,這裏分開進行 一一敘述。

① R值的計算

  • R值(近度) = (當前時間-最後一次消費時間)

  • 當前時間:我們指定是“2019-04-01”,因爲這是分析以前的數據,所以當前時間是那個時候的某個時間。

select 
        客戶名稱,
        max(日期) 最後一次消費時間,
        datediff("2019-04-01",max(日期)) R值
from dingdan
group by 客戶名稱;

結果如下:

② F值的計算

  • F值(頻度)  =(客戶購買的頻次)

  • 這裏的購買頻次以天爲單位,即使一天買了多單,這一天的頻次就是1。

select 
        客戶名稱,
        count(distinct(日期)) F值   # 注意這裏的去重操作
from dingdan
group by 客戶名稱;

結果如下:

③ M值的計算

  • M值(額度) = (一段時間的總額或平均額)

select 
        客戶名稱,
        count(distinct(日期)) F值,
        sum(銷售額) 總額,
        round(sum(銷售額)/count(distinct(日期)),2) M值
from dingdan
group by 客戶名稱;

結果如下:

④ 其實RFM值一個SQL語句就可以解決

select 
        客戶名稱,
        datediff("2019-04-01",max(日期)) R值,
        count(distinct(日期)) F值,
        sum(銷售額) 總額,
        round(sum(銷售額)/count(distinct(日期)),2) M值
from dingdan
group by 客戶名稱;

結果如下:

3、Tableau中進行RFM值的計算

① 連接MySQL數據庫

② 新建“自定義SQL”,獲取我們用於分析的數據源

③ 在工作表中,完成如下一系列操作

④ 創建“計算字段”,計算R_SCORE

  注意:我們這裏採用5級打分規則(業內一般都是這樣打分的),但是分段標準是根據實際業務爲驅動,進行討論後得出。  同理,我們可以計算出“F_SCORE”和“M_SCORE”,操作如上,這裏就不詳細進行說明。F_SCORE的計算如下:

M_SCORE的計算如下:

4、用戶分類

① 創建“計算字段”,計算RFM的平均值

R_SCORE的平均值:

F_SCORE的平均值:

M_SCORE的平均值:

② 創建“計算字段”,進行RFM值高低的判斷

  分別將“R_SCORE”、“F_SCORE”、“M_SCORE”和“R平均值”、“F平均值”、“M平均值”進行一一比較,大於平均值就是1,否則爲0。R值高低的判斷

F值高低的判斷

M值高低的判斷

③ 創建“計算字段”,進行客戶價值判斷(最麻煩)

IIF([R值高低的判斷]=1 and [F值高低的判斷]=1 and [M值高低的判斷]=1,'重要價值客戶',
    IIF([R值高低的判斷]=0 and [F值高低的判斷]=1 and [M值高低的判斷]=1,'重要喚回客戶',
    IIF([R值高低的判斷]=1 and [F值高低的判斷]=0 and [M值高低的判斷]=1,'重要深耕客戶',
    IIF([R值高低的判斷]=0 and [F值高低的判斷]=0 and [M值高低的判斷]=1,'重要挽留客戶',
    IIF([R值高低的判斷]=1 and [F值高低的判斷]=1 and [M值高低的判斷]=0,'潛力客戶',
    IIF([R值高低的判斷]=1 and [F值高低的判斷]=0 and [M值高低的判斷]=0,'新客戶',
    IIF([R值高低的判斷]=0 and [F值高低的判斷]=1 and [M值高低的判斷]=0,'一般維持客戶',
    IIF([R值高低的判斷]=0 and [F值高低的判斷]=0 and [M值高低的判斷]=0,'流失客戶','錯誤檢測'))))))))

5、可視化展示

① 用戶清單——文本表的展示

上表由於“客戶”太多,怎麼設置“分頁顯示”呢?(一個牛逼操作)

Ⅰ 創建“計算字段”,爲表添加一個“編號”列

Ⅱ 點擊鼠標右鍵,將“編號”轉換爲離散

Ⅲ 將“編號”拖動到行中

Ⅳ 創建“計算字段”,爲表添加一個“頁碼”

Ⅴ 點擊鼠標右鍵,將“頁碼”轉換爲離散

Ⅵ 當出現如下頁面,完成如下操作

Ⅶ 當出現如下頁面,完成如下操作

Ⅷ 當出現如下頁面,完成如下操作

Ⅸ 效果展示

注意:使用同樣的操作,我們還可以添加一個“客戶名單”篩選器,效果如下。

② 客戶價值分佈

怎麼將上述標籤,改成百分比展示呢?效果如下:

③ 各類型客戶總交易額佔比

怎麼給這個餅圖添加百分比標籤呢?(這個技巧需要注意)

Ⅰ 完成如下1,2,3處的操作

Ⅱ 這一步很關鍵,有點技巧,按住CTRL鍵,將“總和(總額)”拖動到標籤中

怎麼講這個餅圖變爲圓環圖呢?(圓環圖更好看一些),這裏雖然有些難度,但是留給大家自己下去思考一下,實在不會可以問我。

④ 不同類型客戶的人均消費

⑤ RF分佈——M客戶流失

  只要是做RFM分析,業內人士都喜歡拿RF值去看M,或者拿FM值去看R,或者拿RM值去看F,下面我們簡單舉一個例子,通過RF值去看M。

⑥ 忠誠度對比

  這裏說的“忠誠度”,指的就是某個用戶老來買,說明很喜歡這個產品,對該產品忠誠度較高,即“忠誠度”的衡量使用的是“F值(頻度)”。

6、可視化大屏的佈局展示

① 當出現如下界面,完成如下操作

② 給可視化大屏添加一個“背景效果”

③ 給可視化大屏取一個名字

(這裏有一個技巧)

④ 拖動並佈局

最後將之前做好的一個個圖形,按住shift鍵,將其一個個拖動到右側進行佈局。

⑤ 進行多表聯動的操作

Ⅰ 按照下圖,完成如下操作

Ⅱ  接下來就是在下圖中進行操作

Ⅲ  最終的交互效果如下

後臺回覆「進羣」,加入讀者交流羣~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章