所谓的RFM模型,你真的用对了吗?

大家好,我是阿粥。

在上一篇文章中,说句心里话,别轻易把RFM模型写进简历!

和大家聊了聊实际使用RFM会遇到的问题:

a8e2f0e41b1371fc6c103c8bf82ae31f.png

也收到了一些同学的反馈(不少私聊我想知道这些问题的答案)

今天,咱们再聊的深入点。

一、聚焦一个问题

RFM相关的项目,除了上面三个,还有很多深入的问题一问便知真实水平。

这些问题的答案,往往都藏在模型与业务思考中,本质是相似的。

这次,我主要讲清楚其中一个典型的问题:

RFM模型,用平均金额还是累计金额作为M会更合适?

“M既可以是累计金额,也可以是平均金额”。

事实上,目前大多数关于RFM的资料中M用的是累计金额。

累计金额衡量的是每个用户会花多少钱,而平均金额衡量的则是用户平均每次购买会花多少钱。除了在指标计算上不同,两者还有什么差异呢?

二、分类合理性

聚焦到用户身上,我们很容易发现:

累计消费了2000元的用户,大概率比累计消费500元的用户购买频次更高。

而几乎肯定比累计只消费50元的用户买了更多次。

更确切地说,果用累计金额,那么RFM模型中的F和M将具有较高的相关性。

而RFM模型的本质目的是将不同类型的用户分成不同的群组。

两个相关性较强的指标最终的分类效果可能是会打折扣的。

平均金额,则在一定程度上避免了这种问题。

三、业务逻辑

从对业务的价值来看,重要价值用户,即R、F、M最终归为“高、高、高”的用户,一定是需要重点维护的。

07c6d68aa3713a2357a99ef1554e0e33.png

但在累计金额的口径下,很有可能存在不少高频次、低客单的用户。

例如:

A用户最近3天购买过,且历史购买过100次,平均每次只消费40元,总金额达到4000元的水平(假设在模型中累计消费满2000就是M值就是高)。

那么,这名用户会满足R、F、M三高的条件,被打上“重要价值用户”的标签。

合理吗?

在实际业务场景中,对于这类用户,应该通过一些关联推荐、定向优惠等方式促进他们每次购买单价的提升,而不是将他们放在重要价值用户的分类中,没有针对性的维护。

但如果用平均金额作为M的统计标准,这类高频次、低客单的用户是会被分在另一个档位的:

A用户最近活跃,购买频次高,但平均每次的消费金额不高,属于“高、高、低”档的用户,需要重点提升每次购买的单价。

这样分类对于业务人员来说更有的放矢。

当然,不只是重要价值用户,其他用户也会受到口径差异的影响。所以,在不少实际应用场景中,平均金额比累计金额作为M值分类标准,更加合适。

当然,累计金额在一些场景中也有其优势,两者并不是水火不容的关系,重点在于从业务逻辑来思考模型的合理性,切忌生搬硬套。

相信大家可以触类旁通,举一反三~

以上。

最后,我在《Python电商数据分析实战:从电商实际案例出发洞悉数据分析全流程》的第11章『用户分群实战与加强版RFM模型』的理论部分也有聊过这个问题,实战部分提供了几十万的订单源数据与代码,除了经典RFM分类,还有加强版RFM建模的应用。

感兴趣的朋友可以看看:

ec2b27db773250718c6763ad99a2f745.png

d1d0a8cb0cd8ce15bd0dd88f071701b3.png

52492970d808030d2ace24946efb37e0.png

d20c6de4727c1d006a825550337d5b10.png

35317d5d4c8a27a03716f4b0e28fa692.png

6f8c9baff6f61ebd3eefb43e8caf796e.png

11473c779b2f96b6abaad70e30be7b37.png

6e165a1fe36e53328d07a6a0e98d9b43.png

9928b377a5effd709384986bada8212d.png

<<< 点击大图后,右滑查看更多 >>>

附上我专属的粉丝限时5折购书渠道:

3f31c1d733ffa602dae8387ecf0a158a.png

参考资源链接:[利用大数据技术分析用户消费行为:全国大学生数据竞赛优秀论文](https://wenku.csdn.net/doc/2qzh9mjxgj?utm_source=wenku_answer2doc_content) 大数据技术在用户行为分析中扮演着至关重要的角色,而Python作为数据分析的利器,能够有效处理和分析海量用户数据。结合随机森林算法,我们不仅可以预测用户的购买行为,还可以通过RFM模型对用户的价值进行细致分类。为了帮助你更好地掌握这些技术,以下是一套详细的实现步骤和示例代码: 1. **数据预处理**:首先需要使用Python对用户数据进行预处理。这通常包括数据清洗、数据转换和缺失值处理等。例如,我们可以使用pandas库来处理数据: ```python import pandas as pd # 加载数据 visit_info = pd.read_csv('visit_info.csv') login_day = pd.read_csv('login_day.csv') user_info = pd.read_csv('user_info.csv') # 数据合并处理 data_output = pd.merge(visit_info, login_day, on='user_id') data_output = pd.merge(data_output, user_info, on='user_id') data_output.dropna(inplace=True) # 删除含有缺失值的行 ``` 2. **特征工程**:对数据进行必要的特征工程,例如创建时间间隔特征、频率特征和货币值特征,这些都是RFM模型中需要的。 ```python import numpy as np # 计算RFM特征 data_output['distance_day'] = np.busday_count(data_output['last_purchase_day'], data_output['purchase_date']) data_output['login_day'] = data_output['login_day'].astype(int) data_output['camp_num'] = data_output['camp_num'].astype(int) ``` 3. **随机森林模型构建**:使用scikit-learn库构建随机森林模型进行分类。在这个过程中,我们将数据分为训练集和测试集,训练模型,并进行预测。 ```python from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier # 定义特征和标签 X = data_output[['distance_day', 'login_day', 'camp_num']] y = data_output['purchase'] # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # 训练随机森林模型 rf_model = RandomForestClassifier(n_estimators=100) rf_model.fit(X_train, y_train) # 预测测试集 predictions = rf_model.predict(X_test) ``` 4. **RFM模型用**:将用户数据根据RFM值分为不同的价值等级。通过计算RFM得分,可以将用户划分为不同的价值群体。 ```python # 假设已经计算出R, F, M值 rfm_scores = pd.DataFrame({'Recency': data_output['distance_day'], 'Frequency': data_output['login_day'], 'Monetary': data_output['camp_num']}) # 划分价值等级 value_segmentation = pd.cut(rfm_scores['Recency'], bins=3, labels=['high', 'medium', 'low']) ``` 通过以上步骤,你可以有效地利用大数据技术对用户行为进行分析,并通过随机森林算法预测用户的购买行为。同时,利用RFM模型对用户价值进行分类,从而为电子商务平台提供更为精确的市场定位和用户运营策略。为了深入理解并掌握这些方法的精髓,你可以查阅《利用大数据技术分析用户消费行为:全国大学生数据竞赛优秀论文》,其中详细记录了数据分析的过程和结果,为实际用提供了宝贵的经验和参考。 参考资源链接:[利用大数据技术分析用户消费行为:全国大学生数据竞赛优秀论文](https://wenku.csdn.net/doc/2qzh9mjxgj?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值