RFM是客戶分析及衡量客戶價值的重要模型之一,其中的R表示最近一次消費(Recency),F(xiàn)表示消費頻率(Frequency),M表示消費金額(Monetary)。依據(jù)這三個指標(biāo)RFM可以將客戶動態(tài)分組,并進一步指導(dǎo)客戶運營的下一步工作。本篇文章使用python的聚類算法創(chuàng)建一個粗糙的RFM模型。
1. 開始前的準(zhǔn)備工作
首先是開始前的準(zhǔn)備工作,這里除了常用的numpy和pandas以外,有幾個庫文件單獨說明下,pymysql是python連接mysql進行數(shù)據(jù)提取的庫,cluster用于聚類,此外還有一些庫文件在本篇文章中并沒有使用到,例如DecisionTreeClassifier,grid_search和cross_validation等等。這些會在后面對RFM模型進行進一步分類預(yù)測,模型持久化和依據(jù)RFM模型做內(nèi)容推薦時使用到。因此先一起放在這里,后面的系列文章會進行使用說明。
2. 從mysql提取RFM指標(biāo)數(shù)據(jù)
原始的用戶數(shù)據(jù)存儲在mysql中,因此需要使用python連接mysql進行數(shù)據(jù)提取。下面是具體的代碼和數(shù)據(jù)提取過程。
使用提取的數(shù)據(jù)創(chuàng)建DataFrame數(shù)據(jù)表,取名為rfm。
查看數(shù)據(jù)表的前5行數(shù)據(jù),這里除了創(chuàng)建RFM模型必要的指標(biāo)以外,還保留了用戶ID,年齡等信息,也是為了后面的分類和推薦使用。
3. 使用K-Means進行RFM模型聚類
單獨提取數(shù)據(jù)表中frequency,monetary,和recency三個字段進行聚類。首先轉(zhuǎn)化為數(shù)組。
設(shè)置KMeans模型參數(shù),并代入指標(biāo)數(shù)據(jù)進行擬合。
查看KMeans聚類后的8個質(zhì)心點的值。
在原始數(shù)據(jù)表中對每個用戶進行聚類結(jié)果標(biāo)記。這樣我們就可以知道每個用戶ID在RFM模型中所屬的類別。
查看RFM模型8個類別中的用戶數(shù)量。








暫無數(shù)據(jù)