计算RFM定向营销

 

FRM方法获取客户消费行为信息,并且计算偏爱打折的客户,进行定向营销

RFM分析方法获取客户的消费行为信息

最近一次消费(Recency), 消费频率(Frequency),消费金融(Monetary)

#FRM提取行为变量
#读取数据
library(sqldf)
setwd("C:\\Users\\Xu\\Desktop\\data")
FRMtable <- read.csv("rfm_trad_flow.csv",stringsAsFactors = F)
#subset()创建子集,选择表中的FRM信息
FRMinformation <- subset(FRMtable,select = c(time,amount,type_label))
#获取重要type的分类
table(FRMtable$type)

#第一步:算出近期购买的时间,并添加到原表上
#rfm_trd_flow$time1 <- as.Date(Sys.Date(),format='%m/%d/%Y')-as.Date(FRMtable$time,format='%m/%d/%Y')

#以系统的时间计算
#FRMtable$time1 <- Sys.Date()-as.Date(FRMtable$time,format='%m/%d/%Y') 

#在这里以2017/05/13的时间去计算
FRMtable$time2 <- as.Date("05/13/2017",format ='%m/%d/%Y')-as.Date(FRMtable$time,format = '%m/%d/%Y')

RMF <- sqldf("select cust_id, min(time2) as Recency,count(*) as Freq,sum(amount) as Monetary
             from FRMtable
             where type='Special_offer' or type ='Normal'
             group by cust_id")


#quantil函数是取分位数,小于50%的为T,
RMF$r_rank <- RMF$Recency < quantile(RMF$Recency,probs = c(0.5))

 

  • reshape包

其中的cast()方法可以对数据进行转置

#数据重组
#计算特别爱买打折商品的客户,将打折商品除以购买金额的总数
#拆分列:根据观察需要将type类别下normal金额,Special_offer金额当成列(需要进行转置),然后将其下进入进行汇总

#先计算客户每种的金额
rfm <- sqldf("select cust_id,type,sum(amount) as Monetary
             from FRMtable
             where type = 'Special_offer' or type='Normal'
             group by cust_id,type")

library(reshape)
rfm_w <- cast(rfm,cust_id~type) #cust_id表示要分组依据,type其值为新变量的名称
#对缺失值进行处理用0替换,否者计算的结果都是NA
rfm_w[is.na(rfm_w$Special_offer),]$Special_offer <- 0
rfm_w$Special_offer_ratio <- rfm_w$Special_offer/(rfm_w$Special_offer + rfm_w$Normal)

 

 

  • cast()方法,拆分列
rfm_w <- cust(rfm,cust_id~type)#cust_id表示要分组依据,type其值为新变量的名称

 

13095901_T9Tj.png

 

  • melt()方法,堆叠列   
rfm_l <- melt(rfm_w, id="cust_id") # id= 是分组的依据

 

13095902_cwo6.png

 

转载于:https://my.oschina.net/u/1785519/blog/1572565

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值