RFM分析模型广泛应用于识别优质客户,依据RFM模型分析结果可以定制个性化的沟通和服务方案,并为营销决策提供有力支持。
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分析模型的开发:
2.Python代码实现:
3.Python代码解读:
首先进行 数据透视(可以看作SQL的聚合运算,聚合字段为"客户ID"),分别处理好R、F、M指标所需要的原始值,并以"客户ID"进行关联;
针对处理好的数据,进行 数据分箱(数据分成五等分,分别赋予1,2,3,4,5,五个级别分数,数值越大越好,此处R指标需要反向处理),这里就得到了每个客户的R、F、M指标的分值为:R_S、M_S、F_S;
总分的计算为RFM = R_S*100+M_S*10+F_S*1;
4.分析应用
通常我们进行重点营销的判断为 RFM>=500的客户;
或者分别计算R_S、M_S、F_S三列数据的均值,大于等于均值视为“高”,小于均值视为“低”,由此分辨8种不同营销价值的用户