数据获取
数据来源于CDNow,链接:http://www.brucehardie.com/datasets/
数据预处理
打开Power BI软件,点击获取数据,选择文本/CSV获取数据。
数据集一共包含5个字段,点击转化数据进行数据预处理。
数据清洗后,在主页里点击关闭并应用。
计算R、F、M值
计算R值
因order_dt列的数据无法自动转换成日期格式,点击数据页面,新建列order_dt2,DAX函数如下:
order_dt2=LEFT([order_dt],4)&“/”&MID([order_dt],5,2)&“/”&RIGHT([order_dt],2)
将order_dt2列的数据类型改为日期格式,并将日期格式自定义为(yyyy/mm/dd)的格式。
新建列,写入DAX函数,计算最后一个交易日期:
最后一个交易日期 = MAXX(FILTER(CDNow_master,EARLIER(CDNow_master[user_id])=CDNow_master[user_id]),CDNow_master[order_dt2])
设置当前的交易日期为度量值:
lastdate = LASTDATE(ALLSELECTED(CDNow_master[最后一个交易日期]))
新建列计算R值,并将其转化为整数,计算交易的间隔天数:
R = [lastdate]- CDNow_master[最后一个交易日期].[Date]
计算F值
选择新建度量值,计算每一单的交易频次:
F = COUNT(‘CDNow_master’[user_id])
计算M值
选择新建度量值,计算每一单的交易金额:
M = SUM(CDNow_master[order_amount])
计算R、F、M综合分值
将R、F、M值各自按照平均值划分为高、低两类,高于平均值的赋值为1,低于平均值的赋值为0,在建模中选择新建表,用函数将用户ID、R、F、M的值组成一张新表。
新建列,使用AVERAGE函数,分别计算R、F、M的平均值。
算出R、F、M的得分:
R得分 = IF(‘RFM’[R]<=RFM[AVG_R],1,0)
F得分 = IF(‘RFM’[F]>=RFM[AVG_F],1,0)
M得分 = IF(‘RFM’[M]>=RFM[AVG_M],1,0)
合并RFM值:
RFM = ‘RFM’[R得分]&‘RFM’[F得分]&‘RFM’[M得分]
RFM分层模型
根据RFM的综合分值对用户进行分层,使用SWITCH函数将其分为8类:
客户分层 = SWITCH(RFM[RFM], “111”,“重要价值客户”,
“011”,“重要保持客户”,
“101”,“重要挽留客户”,
“001”,“重要发展客户”,
“110”,“一般价值客户”,
“010”,“一般保持客户”,
“100”,“一般挽留客户”,
“000”,“一般发展客户”)
数据可视化
数据建模后,将CDNow_master表和RFM表连接起来。
制作Dashboard,根据用户RFM分层添加图表及筛选器,数据可视化结果如下图所示。
分析结论
从用户分层结果可知:
- 一般发展客户占较大比重,占比58%,该部分客户质量较低,购买金额和次数较少,且为消费时点较远,回购的可能性低,非重点客户;
- 重要价值客户约4600人,占比排第二,占比20%,该部分老客户忠诚度较高,业绩贡献度稳定在20%,需重点维护,保持客户粘性;
- 其他类型客户占比较小,其中一般价值客户占比8.35%,约2000人,该类客户交易频次多且近期活跃,但交易金额小,可以对该部分客户主动增加营销活动,推出优惠措施,采取积极手段鼓励用户再次消费或者推荐价值更高的产品。
原文地址:https://www.jb51.cc/wenti/3280273.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。