本文实例讲述了Python pandas RFM模型应用。分享给大家供大家参考,具体如下:
成都创新互联公司是一家集网站建设,荥经企业网站建设,荥经品牌网站建设,网站定制,荥经网站建设报价,网络营销,网络优化,荥经网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。什么是RFM模型根据美国数据库营销研究所Arthur Hughes的研究,客户数据库中有3个神奇的要素,这3个要素构成了数据分析最好的指标:
RFM模型的应用是有前提假设的,即R、F、M值越大价值越大,客户未来的为企业带来的价值越大。这个前提假
设其实已经经过大量的研究和实证,假设是成立的。不过为了更加严谨,确保RFM模型对于特殊案例是有效的,
本文还进行了前提假设验证:
ps:Frequency、Monetary均为近6个月内的数据,即1-6月数据;
利用相关性检验,验证假设:
简单的做法,RFM三个指标以均值来划分,高于均值的为高价值、低于均值的为低价值,如此可以将客户划分为8大类:
本文采取的方法是将三个指标进行标准化,然后按照分为数划分为5个等级,数值越大代表价值越高;当然最终划分的规则还是要结合业务来定。划分为5个等级后,客户可以细分为125种。
#读取数据 rfm<-read.csv('~/desktop/rfm1_7.csv',header=TRUE) summary(rfm) #数据分布 par(mfrow=c(1,3)) boxplot(rfm$rankR1) boxplot(rfm$rankF1) boxplot(rfm$rankM1) #rfm分级 breaks1<-quantile(rfm$Recency, probs = seq(0, 1, 0.2),names = FALSE) breaks1<-c(1,14,30,57,111,181) #以流失用户的定义来设置分级 30天以上为流失用户 breaks2<-quantile(rfm$Frequency, probs = seq(0, 1, 0.2),names = FALSE) breaks2<-c(1,2,3,6,14,164) breaks3<-quantile(rfm$Monetary, probs = seq(0, 1, 0.2),names = FALSE) rfm$rankR1<- cut(rfm$Recency,breaks1, 5,labels=F) rfm$rankR1<- 6-rfm$rankR1 rfm$rankF1<- cut(rfm$Frequency,breaks2, 5,labels=F) rfm$rankM1<- cut(rfm$Monetary,breaks3, 5,labels=F)