項目介紹:
現(xiàn)在我們手上有一份來自美國的電商數(shù)據(jù)蛮原,下載自Kaggle,我們需要對其中的用戶進行分層,對其使用RFM方法劃分等級寓盗,采取不同用戶采取不同運營策略
首先我們需要導(dǎo)入需要的包
之后我們需要讀取數(shù)據(jù)
之后我們需要進行數(shù)據(jù)清洗,首先檢查數(shù)據(jù)中是否有空值,可以發(fā)現(xiàn)·有空值的只有郵政編碼這一列傀蚌,對于我們進行的操作屬于無關(guān)變量基显,可以不去處理
接著我們?nèi)z查重復(fù)值,發(fā)現(xiàn)數(shù)據(jù)里并沒有重復(fù)值
之后我們就可以進行RFM用戶分層了善炫,首先我們先定義先定義RFM中的R列撩幽,其內(nèi)容代表最近一次消費時間,我們應(yīng)當使用一個日期減去每一個訂單的日期的天數(shù)作為其R值的判別標準箩艺,將最近一次的消費日期命名為end_time摸航,減去每一個訂單日期,由于一個用戶有多個訂單舅桩,所以我們采用最近一次的訂單作為R值酱虎,代碼如下所示:
F值為消費品頻率,其值為去重后的訂單ID數(shù)擂涛,M則為每個用戶各自的所有銷售額的聚合读串,代碼如下所示:
之后應(yīng)該以R,F,M的順序從左到右將其合并為一張表格,代碼如下所示:
不要忘了細節(jié)處理撒妈,將F恢暖,M的名字改過來
接著,我們將RFM中的R值繪制成直方圖狰右,觀察其數(shù)據(jù)結(jié)構(gòu)杰捂,發(fā)現(xiàn)絕大部分數(shù)據(jù)都靠左,這種情況下選擇中位數(shù)作為判別點的話會不準確棋蚌,所以這里選擇了均值作為R_score的判別點
我們將小于判別點的值定為1嫁佳,并將其命名為R_score
接下來我們來看F值的直方圖,由于其數(shù)據(jù)大體呈正態(tài)分布谷暮,我們就選擇中位數(shù)作為本次的判別點
我們將大于判別點的值定為1蒿往,并將其命名為F_score
接下來我們來看M值的直方圖,其情況相似于R值湿弦,我們?nèi)【底鳛榕袆e點
我們將大于判別點的值定為1瓤漏,并將其命名為M_score
可以得到別表格如下所示
于是我們創(chuàng)造Total_score列來作為RFM的值的判別標準
RFM的分類標準如下(高為1,低為0)
我們在Python中制定好標準颊埃,再通過Total_score映射到RFM表格中蔬充,取名為用戶等級,其代碼和表格如下所示
我們將表格存為excel文件,
這樣我們就得到了一份RFM用戶分層效果表格班利,以便對不同的用戶采取不同價值的用戶的運營方式
本數(shù)據(jù)為Kaggle下載饥漫,如需數(shù)據(jù)請私信我。