背景:算法
一個會員服務的企業,有近1年約1200個會員客戶的收銀數據。因爲公司想針對不一樣類別不活躍客戶進行激活促銷;同時,爲回饋重點客戶,也計劃推出一系列針對重點客戶的優惠活動,但願保留這些客戶,維持其活躍度。所以但願利用該數據進行客戶分類研究。數據庫
分析:函數
根據客戶的需求,RFM模型相對簡單而且直接,按照R(Recency-近度)、F(Frequency-頻度)和M(Monetary-額度)三個維度進行細分客戶羣體。因爲該客戶的數量較少(約1200個),因此,採用3x3x3=27個魔方(1200/27=44左右)較爲合適,雖然平均每類客戶數量較少,考慮到集中度分佈狀況,數量多的分類也可以有200-300左右,適合針對會員客戶進行短時間的電話、短信營銷或者信函營銷的數量。工具
RFM模型原理:spa
RFM模型是一個簡單的根據客戶的活躍程度和交易金額貢獻所作的分類。由於操做簡單,因此,較爲經常使用。3d
近度R:R表明客戶最近的活躍時間距離數據採集點的時間距離,R越大,表示客戶越久未發生交易,R越小,表示客戶越近有交易發生。R越大則客戶越可能會「沉睡」,流失的可能性越大。在這部分客戶中,可能有些優質客戶,值得公司經過必定的營銷手段進行激活。視頻
頻度F:F表明客戶過去某段時間內的活躍頻率。F越大,則表示客戶同本公司的交易越頻繁,不只僅給公司帶來人氣,也帶來穩定的現金流,是很是忠誠的客戶;F越小,則表示客戶不夠活躍,且多是競爭對手的常客。針對F較小、且消費額較大的客戶,須要推出必定的競爭策略,將這批客戶從競爭對手中爭取過來。blog
額度M:表示客戶每次消費金額的多少,能夠用最近一次消費金額,也能夠用過去的平均消費金額,根據分析的目的不一樣,能夠有不一樣的標識方法。通常來說,單次交易金額較大的客戶,支付能力強,價格敏感度低,是較爲優質的客戶,而每次交易金額很小的客戶,可能在支付能力和支付意願上較低。固然,也不是絕對的。教程
RFM的分析工具備不少,可使用SPSS或者SAS進行建模分析,而後深度挖掘。IBM SPSS還有個Modeler,有專門的RFM挖掘算法供使用。本文爲了普及,介紹使用Excel(2007版)作初步的RFM分析。數據分析
操做步驟:
第一步:數據的清洗
原始數據集:數據請參考附件Excel(模擬數據.xlsx)。你們能夠下載練習。該數據集共有26600多條數據,包含記錄ID(數據庫的primarykey)、客戶編號、收銀時間、銷售金額、銷售類型共5個字段
經過簡單的篩選,能夠看到,在交易金額中有0消費額,有負數消費額,繼續查看交易類型,發現爲「贈送」和「退貨」所形成。這些數據在本次分析中用不到,因此在數據處理時須要經過篩選除去。
Excel操做:
鼠標點擊第一行的行標「1」以選中第一行
菜單欄點擊「數據」,快捷按鈕欄點選「篩選」
鼠標點擊「銷售類型」篩選下拉按鈕,能夠看到全部數據集中有的銷售類型
點選「銷售金額」字段的小角標也能夠看到有負數出現。
第二步:數據處理
根據分析須要,R用客戶最後成交時間跟數據採集點時間的時間差(天數)做爲計量標準;F根據數據集中每一個會員客戶的交易次數做爲計量標準(1年的交易次數);M以客戶平均的交易額爲計量標準。經過Excel的透視表便可計算以上RFM數據。
Excel操做:
菜單欄點擊「插入」
快捷按鈕欄點擊「透視表」
選擇數據區域,確認全部的數據都被選擇
選擇在「新工做表」中插入數據,而後點擊「肯定」
將「客戶編號」拖入「行標籤」欄
將「收銀時間」、「記錄ID」、「交易金額」拖入數值計算欄
點擊「收銀時間」數值計算欄按鈕,選擇「值字段設置」
在「計算類型」中選擇「最大值」
在對話框左下角,點擊「數字格式」,設定時間格式爲:yyyy-mm-dd,而後「肯定」
點擊「銷售金額」數值計算欄按鈕,選擇「值字段設置」
在「計算類型」中選擇「平均值」,而後「肯定」
在「記錄ID」數值計算按鈕欄,選擇「值字段設置」
在「計算類型」中選擇「計數」,而後「肯定」
在透視表頂部篩選項「銷售類型」處,點擊下拉按鈕小角標,在「選擇多項」前的小方框中打勾,而後點掉「退貨」和「贈送」前的勾,而後「肯定」會獲得以下結果。
以上咱們獲得了:
1)F值:客戶這1年共消費了多少次
2)M值:客戶每次交易的平均消費金額
可是,R值還須要作些處理。目前R值只獲得的是客戶最近一次消費日期,須要計算距離數據採集日期的天數。
Excel操做:
鼠標拉選列標籤ABCD,選中透視表所在的四列
按ctrl^C(複製),點擊「開始」菜單欄下,快捷按鈕欄「粘帖」下的小下拉三角標,選擇「粘帖值」【或者點「選擇性粘帖」,而後選擇粘帖值】,用單純的數據形式覆蓋原有透視表。
在C1單元格中輸入數據採集日期2010-09-27,格式爲yyyy-mm-dd
而後選中C1單元格,複製其中內容
選中B5:B1204【快捷操做:點中B5,同時按住Shift^Ctrl後點擊向下箭頭,鬆開ctrl鍵,繼續按住shift鍵,按一次向上箭頭,取消數據最後一行的彙總數據】
點擊「開始」菜單欄下快捷按鈕欄上的「粘帖」按鈕下方的下拉箭頭,選擇「選擇性粘帖」,在對話框中勾選「減」,而後「肯定」
在不取消目前選擇的狀況下,選擇「開始」菜單欄下快捷按鈕欄上的格式化下拉菜單,選擇「數字」
由於獲得的數據爲最後交易日期減去數據採集日期的天數,是負值,因此,還須要處理。
在D1單元格中輸入-1
而後ctrl^C複製D1單元格中的值(-1)
而後選中B5:B1204【快捷操做同上】
「開始」-「粘帖」下拉按鈕-「選擇性粘帖」-在計算部分選擇「乘」,而後點擊「肯定」
最後獲得:
到此,咱們獲得R,F,M針對每一個客戶編號的值
第三步:數據分析
R-score, F-score, M-score的值,爲了對客戶根據R,F,M進行三等分,咱們須要計算數據的極差(最大值和最小值的差),經過對比R(或者F,M)值和極差三等分距,來肯定R(或者F,M)的R-score, F-score, M-score。
因此先計算R、F、M的最大值、最小值、極差三等分距
Excel操做:
F1到H1表明R\F\M的最大值,利用公式「=max(B5:B1204)」計算,(計算F時B換成C,M時B換成D便可)
F2到H2表明R\F\M的最小值,利用公式「=min(B5:B1204)」計算(計算F時B換成C,M時B換成D便可)
F3到H3表明R\F\M的極差三等分距,利用公式「=(F1-F2)/3」計算(計算F時F換成G,M時F換成H便可)
【以上快捷操做可用,先輸入F1,F2,F3單元格里的公式,選擇F1:F3三個單元格,而後拉動右下角的黑色小十字叉,向右拖動複製F列公式到G和H列便可】
R-score的計算公式爲:
E5單元格內輸入:「=IF(ROUNDUP((B5-$F$2)/$F$3,0)=0,1,ROUNDUP((B5-$F$2)/$F$3,0)) 」
之因此使用IF判斷函數,主要是考慮到當R值爲最小值時,roundup(B5,0)爲0,用if函數判斷若是爲0,則強制爲1。
之因此用$F$2鎖定引用的單元格,是爲了後續的公式複製,最小值和極差三等分距不會發生相對引用而變化位置【鎖定引用單元格除了手工添加$符號外,快捷方式是選中引用的單元格按F4快捷鍵,此處都比較麻煩,手工輸入$符號還快些】
【另一種簡單的處理方式就是直接用公式「=ROUNDUP((B5-$F$2)/$F$3,0)」,而後用ctrl^H快捷操做,將0值替換成1便可,這個替換須要將公式複製-快捷粘帖爲數值後進行】
F-score和M-score如法炮製。
F5單元格公式爲:=IF(ROUNDUP((C5-$G$2)/$G$3,0)=0,1,ROUNDUP((C5-$G$2)/$G$3,0))
G5單元格公式爲:=IF(ROUNDUP((D5-$H$2)/$H$3,0)=0,1,ROUNDUP((D5-$H$2)/$H$3,0))
RFM-score的計算,利用分別乘以100-10-1而後相加的方式,讓R、F、M分別爲一個三位數字的三個百分位、十分位和個位表達,該三位數的三個位表明了3x3x3=27魔方三個維度上的座標。
H5單元格的公式爲: =E5*100+F5*10+G5
選中E4到H4區域,雙擊右下角小黑色十字叉,複製E4到H4公式到全部客戶數據中
獲得結果以下:
接下來的步驟就是統計各個魔方上的客戶數量
再次利用透視表造成統計結果
Excel操做:
「插入」菜單欄下快捷按鈕欄按「透視表」,在數據表區域中選擇A4:H1204【確認這個選擇,自動跳出來的區域要改一下的哦】,而後點擊「肯定」
將RFM-Score拖入「行標籤」中,將「客戶編號」拖入「數值計算」欄中,點擊「數值計算」欄中的「客戶編號」項,選擇「字段數值設置」,選擇計算方法爲「計數」,獲得處理結果以下:
第四步:數據分析結果解讀和可視化
獲得這個分析結果,利用Excel的條件格式功能能夠對獲得的數據分析結果作簡單的視覺化。
Excel操做:
將透視表中B列拉寬(如上圖)
選中B5:B22列
「開始」菜單欄下快捷按鈕欄點擊「條件格式」下拉菜單中選擇「數據條」,而後選擇一個顏色便可
經過條形圖的視覺化,能夠直觀地對比哪類客戶數量較多。
隨後會附上該操做步驟的視頻教程,敬請期待;