RFM 模型

article/2025/10/22 21:16:55

RFM 模型

    • 顾客价值分析

 


顾客价值分析

由于激烈的市场竞争,各个公司相继推出了多样灵活的优惠方式来吸引更多的客户。

对一个没有购买力的顾客,你打电话推销优惠活动毫无作用,可一个高价值顾客,会说有优惠活动怎么不通知我呢!

为了公司能立足于市场,需要对不同的客户群体提供个性化的客户服务。

这种方法就是 RFM 模型。

RFM 模型是一个传统的数据分析模型,沿用至今约 60 年。

1961 年,乔治·卡利南在顾客的资料库中指出,最近一次消费、消费频率、消费金额三项数据可以较为客观的描绘顾客的轮廓。

企业针对近期有消费的”新客“、消费频率高的”常客“、消费金额高的”贵客“进行精准营销和广告投放,确实收到了意料之外的惊喜。

因此,这三项数据成为了衡量客户价值和客户创利能力的重要工具和手段。也是 RFM 模型的三个重要指标:

  • R(Recency):最近一次消费时间间隔,指用户最近一次消费时间距离现在的时间间隔;

  • F(Frequency):消费频率,指用户一段时间内消费了多少次;

  • M(Monetary):消费金额,指用户一段时间内的消费金额。

RFM 模型多用于精细化运营服务。单看 R、F、M 三个指标,其本身已经具备了一定的参考性:

  • 一般来说,比起许久没有消费的顾客,消费时间间隔短的客户再次购买的几率较高。针对这类客户,可以采取唤醒或者刺激消费,如赠送打折券等。

  • 消费频率高的客户,其忠诚度相对较高,可以规律性地提醒这类客户关于产品的一些优惠信息。

  • 消费金额高的客户,客户价值也越高,可以提供专属该类客户的优惠价格。

RFM 模型分析步骤:

  • 最近一次消费数据 = 当前时间 - 该用户最新一次消费数据
  • 消费频率 = 该用户不重复的订单号数
  • 消费金额 = 该用户的所有消费额进行加和
# 计算时间间隔  
today = '2000-01-01 00:00:00'  # 当前时间
pd.to_datetime(today) - pd.to_datetime(grouped_data['发货日期'])

节奏,确认关键的节点进行划分。比如小学考试中满分 100 分,达到 60 分就算及格;

或者,根据实际经验进行划分。比如一般的用户消费水平在 1w,消费超过 10w 是高净值人群。

# 定义函数按照区间划分 R 值(间隔时间),返回等级越高越重要
def caculate_r(s):if s <= 100:return 5elif s <= 200:return 4elif s <= 300:return 3elif s <= 400:return 2else:return 1# 对 R 值进行评分
rfm_data['R评分'] = rfm_data['时间间隔'].agg(caculate_r)
# 定义函数按照区间划分 F 值(消费频率),返回等级越高越重要
def caculate_f(s):if s <= 5:return 1elif s <= 10:return 2elif s <= 15:return 3elif s <= 20:return 4else:return 5# 对 F 值进行评分
rfm_data['F评分'] = rfm_data['总次数'].agg(caculate_f)
# 定义函数按照区间划分 M 值(消费金额),返回等级越高越重要
def caculate_m(s):if s <= 2000:return 1elif s <= 4000:return 2elif s <= 6000:return 3elif s <= 8000:return 4else:return 5# 对 M 值进行评分
rfm_data['M评分'] = rfm_data['总金额'].agg(caculate_m)
# 计算 R评分、F评分、M评分的平均数
r_avg = rfm_data['R评分'].mean()
f_avg = rfm_data['F评分'].mean()
m_avg = rfm_data['M评分'].mean()

得到 R、F、M 各值的阈值以后,将要为 R、F、M 各值进行高低值的标记。

将获得的阈值与 RFM 分数进行比较,高于阈值记为“高”,低于阈值记为“低”,高低值可暂时用 1 和 0 表示。

# 将R评分、F评分、M评分 的数据分别与对应的平均数做比较
rfm_data['R评分'] = (rfm_data['R评分'] > r_avg) * 1
rfm_data['F评分'] = (rfm_data['F评分'] > f_avg) * 1
rfm_data['M评分'] = (rfm_data['M评分'] > m_avg) * 1# 拼接R评分、F评分、M评分
rfm_score = rfm_data['R评分'].astype(str) + rfm_data['F评分'].astype(str) + rfm_data['M评分'].astype(str)
# 数据已经由三个数字组成,其中 1 代表着高价值,0 代表着低价值。

为了将数字替换为价值的高低,可以使用 replace() 方法对数据进行批量替换。

# 定义字典标记 RFM 评分档对应的用户分类名称
transform_label = {'111':'重要价值用户','101':'重要发展用户','011':'重要保持用户','001':'重要挽留用户','110':'一般价值用户','100':'一般发展用户','010':'一般保持用户','000':'一般挽留用户'
}# 按【客户类型】分组,统计用户的数量
customer_data = rfm_data.groupby('客户类型')['用户 ID'].count()

一般发展用户和一般挽留用户的人数偏多。

对于一般发展用户较多的情况,问题可能在于一般发展用户后续的复购转化不足。可以多通过短信、平台网站等渠道,在一般发展用户首购后的一段时间内可以领取复购券等策略,将这类用户转化为更高价值的用户类型。

对于一般挽留用户较多的情况,问题可能在于平台的产品竞争力或者服务不足。可以多对比竞品公司的产品,对自身的产品进行提升。同时,可以采取赠送优惠券的策略,并收集用户对平台产品以及服务的评价。


http://chatgpt.dhexx.cn/article/bNBICYmK.shtml

相关文章

数据分析八大模型:详解RFM模型

大家好&#xff0c;我是爱学习的小xiong熊妹。 今天跟大家分享的是一个经常被提及&#xff0c;但是价值被严重低估的模型&#xff1a;RFM模型。 一、RFM的基本思路 RFM模型由三个基础指标组成&#xff1a; R&#xff1a;最近一次消费至今的时间 F&#xff1a;一定时间内重复…

线性代数:如何求特征值和特征向量?

一、特征值和特征向量的定义 1 首先让我们来了解一下特征值和特征向量的定义&#xff0c;如下&#xff1a; 2 特征子空间基本定义&#xff0c;如下&#xff1a; END 二、特征多项式 1 特征多项式的定义&#xff0c;如下&#xff1a; 2 推论&#xff1a;n阶方阵A可逆的充…

如何用计算机求特征值特征向量,利用QR算法求解矩阵的特征值和特征向量

利用QR算法求解矩阵的特征值和特征向量 为了求解一般矩阵(不是那种幼稚到shi的2 x 2矩阵)的特征值. 根据定义的话,很可能需要求解高阶方程... 这明显是个坑...高阶方程你肿么破... 折腾了好久 1.我要求特征值和特征向量. 2.找到一种算法QR分解矩阵求解特征值 3.QR矩…

【考研线代】五. 特征值和特征向量

文章目录 第五章 特征值和特征向量5.1 特征值&#xff0c;特征向量5.1.1 概念5.1.2 性质 & 定理 & 推论 ⭐5.1.3 求特征值和特征向量的方法数值型矩阵抽象型矩阵巧解矩阵特征值方法⭐ 5.2 相似矩阵5.2.1 概念5.2.2 性质5.2.3 求可逆矩阵P使得A可相似对角化方法 5.3 实对…

线性代数特征值

特征值的性质&#xff1a; 下面是例题&#xff1a; 要注意单位阵的特征值是替换成1 注意下面两个&#xff1a; 例题5&#xff1a; 仔细看解题过程。 例题6&#xff1a; 运用了特征值相加等于矩阵主对角线元素之和 、特征值相乘等于矩阵的行列式、求特征值的定义。列出以上三…

eigen求特征值和特征向量

Eigen::Matrix2d matrix_22;matrix_22 << 2,3,2,1;cout << "matrix \n"<< matrix_22<<endl;//Eigen::SelfAdjointEigenSolver<Eigen::Matrix2d> eigen_solver1 ( matrix_22 );/这句是啥不清楚Eigen::EigenSolver<Eigen::Matrix2d&…

特征多项式法(characteristic polynomial )求特征值(结合lanczos和householder)(python,数值积分)

第三十四篇 特征多项式法求对称三对角矩阵的特征值 特征多项式 在之前的篇章中介绍过的&#xff0c;一个矩阵的特征值可以形成一个n阶多项式的根&#xff0c;称为“特征多项式”。线性方程的求解方法可以用来求这些根&#xff0c;详情可以翻看我之前写过的文章。但这并不是一…

Matlab求特征值和特征向量 + find函数的基本简单用法

A[1 5 4; 3 2 1;5 6 6] 计算矩阵A的特征值和特征向量的函数是eig&#xff08;A&#xff09;&#xff0c;常用方法为&#xff1a; 1.求矩阵的特征值 每一列有一个特征值&#xff0c;可知A有三个特征值 设矩阵A的全部特征值构成向量E Eeig(A) 执行选中内容命令行窗口如下&…

Eigen求特征值与特征向量

这里列举三种方式求矩阵的特征值与特征向量 #include <stdio.h> #include <stdlib.h> #include<Eigen/Eigen>using namespace std; using namespace Eigen;void main() {MatrixXd m(3, 3);m << 1,-2,2,-2,-2,4,2,4,-2;cout << m << endl …

matlab 求特征值的命令,matlab怎么求特征值

matlab怎么求特征值&#xff1f; 求矩阵的特征值和特征向量方法 方法/步骤 第一步我们首先需要知道计算矩阵的特征值和特征向量要用eig函数&#xff0c;可以在命令行窗口中输入help eig&#xff0c;查看一下eig函数的用法&#xff0c;如下图所示&#xff1a; 第二步在命令行窗口…

转: 特征值和特征向量--1

转&#xff1a;https://jingyan.baidu.com/article/27fa7326afb4c146f8271ff3.html 一、特征值和特征向量的定义 1 首先让我们来了解一下特征值和特征向量的定义&#xff0c;如下&#xff1a; 2 特征子空间基本定义&#xff0c;如下&#xff1a; END 二、特征多项式 1 特征多项…

线性代数(8):特征值、特征向量和相似矩阵

一、特征值和特征向量 &#xff08;2&#xff09;定义 有矩阵 A 为 n 阶矩阵&#xff0c;Ax λx &#xff08; λ 为一个实数&#xff0c;x为 n 维非零列向量 &#xff09;&#xff0c;则称 λ 为方阵 A 的特征值&#xff0c; x 为特征向量&#xff1b; &#xff08;2&#x…

mosquitto入门教程

参考大神的博客&#xff1a; http://mqtt.org/ MQTT 是一个轻型协议&#xff0c;使用基于 TCP/IP 协议的发布/订阅消息转发模式&#xff0c;专门用于机器对机器 (M2M) 通信。 MQTT 协议的中心是 MQTT 服务器或代理 (broker) &#xff0c;支持发布程序和订阅程序进行访问&…

mosquitto源码分析(一)

关于mqtt、mosquito的技术交流&#xff0c;可入群&#xff1a;221779856 本文由逍遥子撰写&#xff0c;转发请标注原址&#xff1a; http://blog.csdn.net/houjixin/article/details/21461225 一、 Mosquitto简介 mosquitto是一款实现了消息推送协议MQTT v3.1 的开源消息代理…

mosquitto安装与使用

Eclipse Mosquitto 是实现MQTT协议版本5.0、3.1.1和3.1的开源消息代理&#xff08;经EPL / EDL许可&#xff09;。mosquitto 是一个开源的轻量级的C实现&#xff0c;适合在从低功耗单板计算机到完整服务器的所有设备上使用。mosquitto包括服务端和客户端。官网&#xff1a;http…

NMOS和PMOS管

这里我先说一下我自己分辨MOS管的方法 对于NMOS我们看下图中的箭头&#xff0c;都是远离源头。 对于PMOS我们看箭头&#xff0c;都是指向源头 P&#xff1a;POSITIVE积极的寻找自己的起源 N&#xff1a;NEGTIVE消极的远离自己的源头 首先明确一点&#xff0c;S是源极&#xff…

mosquitto接口流程图

接口流程图 1、mosquitto_new2、mosquitto_reinitialise3、mosquitto_connect_async4、mosquitto_loop5、mosquitto_loop_start6、mosquitto_loop_stop7、mosquitto_loop_forever8、mosquitto client自定义开发流程 1、mosquitto_new 2、mosquitto_reinitialise 3、mosquitto_c…

Mosquitto常用命令

1 mosquitto服务器的搭建 服务器这里使用了阿里云的服务器&#xff0c;mosquitto默认需要1883的TCP入端口。需要在安全策略里设置一下。端口当然也可以选其他端口进行配置。 服务安装 # 服务器终端安装mosquitto和mosquitto-clients&#xff0c;后者是一些客户端&#xff0c;…

mosquitto 在 Windows 上的安装

文章目录 第一步&#xff1a;准备安装文件第二步&#xff1a;安装Mosquitto第三步&#xff1a;安装OpenSSL第四步&#xff1a;将要求的DLL放置Mosquitto安装目录下第五步&#xff1a;添加环境变量第六步&#xff1a;验证 第一步&#xff1a;准备安装文件 安装文件点此下载 注…

Mosquitto --topic

订阅树的概念 Mosquitto通过订阅树的方式来管理所有的topic以及客户端的订阅关系&#xff0c;它首先将所有的topic按照/分割并组织成一棵树结构&#xff0c;从根节点到树中的每个节点即组成该节点所对应的一个topic&#xff0c;每个topic都保存一个订阅列表&#xff0c;…