案例 客戶RFM值計算

2021-10-16 08:55:32 字數 2599 閱讀 7057

該**計算客戶的rfm值。把客戶價值分成8層,r的權重為100,f的權重為10,m的權重為1。

【重要】原始清洗資料格式為:

訂單id,使用者id,訂單日期,成交金額

(orderid–customerid–dealdatetime–sales)

# -*- coding: utf-8 -*-

import pandas as pd

data= pd.read_csv(r"**檔案位址"

)data[

"dealdatetime"

]= pd.to_datetime(data.dealdatetime,

format

="%y/%m/%d"

)from datetime import datetime

data[

"datediff"]=

(datetime.now(

)- data[

"dealdatetime"])

.dt.days #計算所有訂單的相聚天數

#計算r值

r_agg = data.groupby(by=

["customerid"

],as_index=

false)[

"datediff"

].agg(

"min"

)#統計消費頻次(交易總次數)

f_agg = data.groupby(by=

"customerid"

,as_index=

false)[

"orderid"

].agg(

"count"

)#統計消費金額

m_agg = data.groupby(by=

"customerid"

,as_index=

false)[

"sales"

].agg(

"sum"

)#把上述的r、f、m值連線起來

aggdata = r_agg.merge(f_agg)

.merge(m_agg)

aggdata.columns =

["customerid"

,"r"

,"f"

,"m"

]#計算r值的得分分布

bins = aggdata.r.quantile(q=[0

,0.2

,0.4

,0.6

,0.8,1

],interpolation=

"nearest"

)bins[0]

=0r_s = pd.cut(aggdata.r,bins,labels=[5

,4,3

,2,1

])#計算f值的得分分布

bins_f = aggdata.f.quantile(q=[0

,0.2

,0.4

,0.6

,0.8,1

],interpolation=

"nearest"

)bins_f[0]

=0f_s = pd.cut(aggdata.f,bins_f,labels=[1

,2,3

,4,5

])#計算m值的得分分布

bins_m = aggdata.m.quantile(q=[0

,0.2

,0.4

,0.6

,0.8,1

],interpolation=

"nearest"

)bins_m[0]

=0m_s = pd.cut(aggdata.m,bins_m,labels=[1

,2,3

,4,5

])#把r、f、m值的得分加到aggdata

aggdata[

"r_s"

]= r_s

aggdata[

"f_s"

]= f_s

aggdata[

"m_s"

]= m_s

#計算客戶r、f、m值得分,r值權重100,f值權重10,m值權重1

aggdata[

"rfm"]=

100*aggdata.r_s.astype(

int)+10

*aggdata.f_s.astype(

int)+1

*aggdata.m_s.astype(

int)

#最終客戶rfm值得分分組,分成8組。level值越大,客戶價值越高。

bins_rfm = aggdata.rfm.quantile(q=[0

,0.125

,0.25

,0.375

,0.5

,0.625

,0.75

,0.875,1

],interpolation=

"nearest"

)bins_rfm[0]

=0aggdata[

"level"

]= pd.cut(aggdata.rfm,bins_rfm,labels=[1

,2,3

,4,5

,6,7

,8])

RFM客戶價值分類模型應用

rfm模型廣泛應用於使用者運營之中,是衡量當前使用者價值和和客戶潛在價值的重要工具和手段。rfm模型主要有如下三個指標 r recency 客戶最近一次交易時間的間隔。r值越大,表示客戶交易距今越久,反之則越近 f frequency 客戶在最近一段時間內交易的次數。f值越大,表示客戶交易越頻繁,反...

RFM模型聚類分析客戶價值

import pandas as pd from math import ceil from datetime import datetime from sklearn.cluster import kmeans 讀取資料 df pd.read excel 原始資料.xlsx index col 使...

基於RFM啟發研究客戶購買頻率

先說說rfm模型,主要是三個特徵 最近一次消費 recency 消費頻率 frequency 消費金額 monetary 這個模型可以較好將人群分類。現在資料是一年顧客的購買記錄,特點是購買頻率不穩定,新老使用者混 每次購買金額不高。如果使用rfm模型,消費金額並不會呈現預期的多類化,新使用者可能會...