RFM模型
R:购买时间间隔
F:购买频次
M:客单价
主讲关于RFM模型PYTHON实现
构造虚拟数据表order.xlsx
KEY:关注随机函数的应用
具体代码:
import pandas as pd
df=pd.read_excel(“d:\order.xlsx”)
#剔除未成交订单
df=df.loc[df[“订单状态”]==“成交”,:]
#根据需求取数
df=df[[“姓名”,“购买时间”,“总额”]]
#R:购买时间间隔
r=df.groupby(“姓名”)[“购买时间”].max().reset_index()
r[‘R’]=(pd.datetime.today()-r[“购买时间”]).dt.days
r=r[[‘姓名’,‘R’]]
#F:购买频次
f=df.groupby(“姓名”)[“购买时间”].count().reset_index()
f.columns=[‘姓名’,‘F’]
rf=pd.merge(r,f,on=“姓名”)
#M:客单价
m=df.groupby(“姓名”)[“总额”].sum().reset_index()
m.columns=[“姓名”,“总客价”]
m[‘M’]=m[‘总客价’] / rf[‘F’]
m=m[[‘姓名’,‘M’]]
rfm=pd.merge(rf,m,on=“姓名”)
rfm[“r-score”]=(rfm[‘R’]<rfm[‘R’].mea