Python实现RFM分析模型

本文介绍了如何使用Python的numpy和pandas库进行RFM(最近一次消费时间Recency、消费频率Frequency、消费金额Monetary)模型分析,以识别高价值客户。通过数据透视、数据分箱计算出每个客户的R、F、M指标得分,进而确定RFM总分,用于制定精准营销策略。此外,还提出了RFM分值大于等于500作为重点营销客户的标准,以及根据各指标均值划分的8种不同营销价值用户的策略。
摘要由CSDN通过智能技术生成

目录

背景知识:   

1.场景与需求

2.Python代码实现:

3.Python代码解读:

4.分析与应用

本文代码与数据集下载方法 :


背景知识:   

RFM分析模型广泛应用于识别优质客户,是进行客户细分、精准营销,最流行、最简单、最有效的方法。依据RFM分析模型的结果可以定制个性化的沟通和服务方案,并为营销决策提供有力支持。

        

        以往进行RFM分析模型,在数据量不多的情况下,我们可以采用SPSS的直销分析模块(如下图),导入数据,逐步点击就完成了。但是当面临个性化的需求时,这种定制化的工具就满足不了啦,并且SPSS作为IBM的收费项目,价格不菲。本文我们仅用numpy和pandas两个包来就能完成它。

         RFM分析模型属于探索性分析方法中的一种,即从海量数据中,依据R、F、M三个指标,获取高价值用户信息。

                R:Recency——用户最近一次交易时间的间隔。

                F:Frequency——客户最近一段时间内的交易次数。

                M:Monetary——客户最近一段时间内的交易金额。

        那么引出如下两个问题:

(1)显而易见,R指标在计算时候需要一些反向处理,因为F与M都是越大越好,R是越小越好。

(2)三个指标在各自维度上仅有高与低两个分类,因此组合出8种情况,也是八种价值类型的客户。

    下面我们带着上面两个问题仅使用Python的numpy和pandas两个包进行RFM分析模型的编写:

1.场景与需求

如下图为近期的交易数据,订单ID为唯一标示,其余三列为客户ID,交易日期,交易金额;据此进行RFM分析模型的开发:

image.png

2.Python代码实现:

image.png

image.png

image.png

image.png

3.Python代码解读:

数据存放于一个Excel文件,读取后进行数据格式的转换、列间的运算。

主体思路如下:

1)首先进行 数据透视(可以看作SQL的聚合运算,聚合字段为"客户ID"),分别处理好R、F、M指标所需要的原始值,并以"客户ID"进行关联;

2)针对处理好的数据,进行 数据分箱(数据分成五等分,分别赋予1,2,3,4,5,五个级别分数,数值越大越好,此处R指标需要反向处理),这里就得到了每个客户的R、F、M指标的分值为:R_S、M_S、F_S;

3)总分的计算为RFM = R_S*100+M_S*10+F_S*1;

4.分析与应用

通常我们进行重点营销的判断为 RFM>=500的客户;

或者分别计算R_S、M_S、F_S三列数据的均值,大于等于均值视为“高”,小于均值视为“低”,由此分辨8种不同营销价值的用户。

image.png

本文代码与数据集下载方法 :

请私信索取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OMax

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值