R语言用RFM、决策树模型顾客购书行为的数据预测

2022-11-15 17:17:28 浏览数 (2)

全文链接:http://tecdat.cn/?p=30330

原文出处:拓端数据部落公众号

团队需要分析一个来自在线零售商的数据。该数据集包含了78周的购买历史。该数据文件中的每条记录包括四个字段。 客户的ID(从1到2357不等),交易日期,购买的书籍数量,以及价值。 我们被要求建立一个模型来预测消费者每周的购买频率、书籍的购买单位和购买价值。

RFM模型

RFM是一个用于营销分析的模型,它通过购买模式或习惯来细分公司的消费者群体。特别是,它评估了客户的回顾性(他们多久前进行过一次购买)、频率(他们购买的频率)和价值(他们花多少钱)。

然后,通过测量和分析消费习惯,RFM被用来识别一个公司或组织的最佳客户,以改善低分客户并保持高分客户。

关键要点

经常性、频率、价值(RFM)是一种营销分析工具,用于根据客户消费习惯的性质来确定公司的最佳客户。 一个RFM分析通过对客户和顾客的三个类别进行打分来评估他们:他们最近有多大的购买行为,他们购买的频率,以及他们购买的规模。 RFM模型为这三个类别中的每一个客户打出1-5分(从最差到最好)的分数。 RFM分析帮助企业合理地预测哪些客户有可能再次购买他们的产品,有多少收入来自于新客户(相对于老客户),以及如何将偶尔购买的买家变成习惯购买的买家。

代码语言:javascript复制
####计算用户最近一次的购买


R_table$R <- as.numeric(NOW - ParsedDate)

###计算用户的购买频率
aggregate(FUN=length) # Calculate F

###计算用户的购买金额
aggregate(FUN=sum) # Calculate M

得到每个用户的RFM值,利用RFM三个值的四分位数来对用户进行分类

多元线性回归模型

查看回归模型结果

得到对r值的线性拟合模型的结果,可以看到RFM三个分类值都与r值有显著的关系,Rsquare值达到了0.8以上,说明拟合效果较好。

得到对r值的线性拟合模型的结果,可以看到RFM三个分类值都与f值有显著的关系,Rsquare值达到早0.4左右,说明拟合效果一般。

得到对r值的线性拟合模型的结果,可以看到出了M分类值以外,FM的分类值都与f值有显著的关系,Rsquare值达到了0.4左右,说明拟合效果一般。

对测试集做预测

线性回归模型预测值和拟合值比较

预测拟合值的图中,红点表示实际样本点,可以看到F和M值的预测相对接近实际样本点,预测效果较好。然而,误差仍然比较大,因此尝试采用决策树模型进行预测。

决策树模型预测

代码语言:javascript复制
ct <- rpart.control(xval=10, minsplit=20, cp=0.1)

绘制决策树

代码语言:javascript复制
rpart.plot(fitR, branch=1, branch.type=2, type=1, 



           border.col="blue", split.col="red",

从结果图来看,决策树对f值和m值的拟合程度更好。

从三个模型的结果里来看,rel error和xerror都较小,因此模型预测拟合效果较好。

因此,模型的整体效果相对线性模型得到了提升。


最受欢迎的见解

1.PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯模型和KMEANS聚类用户画像

2.R语言基于树的方法:决策树,随机森林

3.python中使用scikit-learn和pandas决策树

4.机器学习:在SAS中运行随机森林数据分析报告

5.R语言用随机森林和文本挖掘提高航空公司客户满意度

6.机器学习助推快时尚精准销售时间序列

7.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用

8.python机器学习:推荐系统实现(以矩阵分解来协同过滤)

9.python中用pytorch机器学习分类预测银行客户流失

0 人点赞