100种分析思维模型(5)

article/2025/8/31 3:21:45


公众号后台回复“图书“,了解更多号主新书内容

作者:林骥

来源:林骥

很多分析思维模型,本质上都是在研究人的行为。

下面介绍的 RFM 分析思维模型,本质上也是在研究人的行为。

1. 模型介绍

美国有一个叫 Arthur Hughes 的研究所,从客户数据库中发现了 3 个神奇的要素:

(1)Recency 最近购买时间,离得越近,价值越大。

(2)Frequency 累计购买次数,次数越多,价值越大。

(3)Monetary 累计购买金额,金额越高,价值越大。

将这 3 个要素分别按价值的高、低进行分组,从而得到 8 种不同类型的客户,分别采取不同的营销策略。

运用之前介绍过的矩阵分析模型,把 8 种类型按照 M 的高低分成两个矩阵,一个矩阵是针对重要客户的营销策略:

1重要价值客户:R 高 F 高 M 高,可以提供个性化的 VIP 服务,提升品牌的价值。

2重要发展客户:R 高 F 低 M 高,可以制订客户忠诚度培养计划,帮助他们成为重要价值客户。

3重要保持客户:R 低 F 高 M 高,可以推送个性化的激励活动,以重新建立连接,提高复购率。

4重要挽留客户:R 低 F 低 M 高,可以采取召回策略,调查问题之所在,想办法进行挽留。

另一个矩阵是针对一般客户的营销策略:

5一般价值客户:R 高 F 高 M 低,可以提供优惠活动,以吸引他们提高客单价。

6一般发展客户:R 高 F 低 M 低,可以提供试用活动,以提高客户购买的兴趣。

7一般保持客户:R 低 F 高 M 低,可以改变宣传策略,以刺激客户继续购买。

8一般挽留客户:R 低 F 低 M 低,可以适当减少预算,以降低营销的成本。

2. 应用举例

以我在知识星球分享过的超市数据集为例,用 Python 实现自动读取和处理数据,对客户价值进行分类,并用条形图展现不同类型的客户数量占比。

从图中可以看出,「一般挽留客户」的占比较大,「重要发展客户」的占比较小,说明客户的忠诚度有待提升。

建议制订客户忠诚度培养计划,通过促销活动等形式,激活重要保持客户,深挖重要发展客户,吸引客户重复购买,提升客户的忠诚度,不断产生新的重要价值客户。

假设你的营销预算不多,只能给 20% 的客户提供服务,你是选择服务重要价值客户,还是选择服务一般挽留客户呢?同样的成本,不同的营销策略,带来的收益差异可能是巨大的。

下面是用 Python 进行 RFM 分析的完整代码:

# 导入所需的库
import os
import numpy as np
import pandas as pd
import datetime as dt
import matplotlib.pyplot as plt# 正常显示中文标签和负号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False# 读取 Excel 文件(公众号后台回复:超市)
df_excel = pd.read_excel('../data/超市数据.xlsx')# 最近购买时间
R = df_excel.pivot_table(values=['订单日期'], index='客户 ID', aggfunc=max)# 累计购买次数
F = df_excel.drop_duplicates(subset=['订单 ID', '客户 ID'], keep='first').pivot_table(values=['订单 ID'], index='客户 ID', aggfunc='count')# 累计购买金额
M = df_excel.pivot_table(values=['销售额'], index='客户 ID', aggfunc=sum)# 合并RFM
RFM = R.join(F).join(M)# 定义列名
RFM.columns = ['R', 'F', 'M']# 计算间隔天数
R_date = dt.datetime(2021, 2, 13)
RFM['R_days'] = (R_date - RFM['R']).dt.days# 分类标签
labels = ['高', '低']# 计算 R 分类,间隔天数越少,价值越高
bins = RFM.R_days.quantile(q=np.linspace(0, 1, num=3), interpolation='nearest')
RFM["R_type"] = pd.cut(RFM.R_days, bins=bins, labels=labels, include_lowest=True)# 计算 F 分类,购买次数越多,价值越高
bins = RFM.F.quantile(q=np.linspace(0, 1, num=3), interpolation='nearest')
RFM["F_type"] = pd.cut(RFM.F, bins=bins, labels=labels[::-1], include_lowest=True)# 计算 M 分类,购买金额越大,价值越高
bins = RFM.M.quantile(q=np.linspace(0, 1, num=3), interpolation='nearest')
RFM["M_type"] = pd.cut(RFM.M, bins=bins, labels=labels[::-1], include_lowest=True)# 对客户价值进行分类
RFM['type'] = ''
RFM.loc[(RFM['R_type']=='高') & (RFM['F_type'] == '高') & (RFM['M_type'] == '高'), 'type'] = '1重要价值客户'
RFM.loc[(RFM['R_type']=='高') & (RFM['F_type'] == '低') & (RFM['M_type'] == '高'), 'type'] = '2重要发展客户'
RFM.loc[(RFM['R_type']=='低') & (RFM['F_type'] == '高') & (RFM['M_type'] == '高'), 'type'] = '3重要保持客户'
RFM.loc[(RFM['R_type']=='低') & (RFM['F_type'] == '低') & (RFM['M_type'] == '高'), 'type'] = '4重要挽留客户'
RFM.loc[(RFM['R_type']=='高') & (RFM['F_type'] == '高') & (RFM['M_type'] == '低'), 'type'] = '5一般价值客户'
RFM.loc[(RFM['R_type']=='高') & (RFM['F_type'] == '低') & (RFM['M_type'] == '低'), 'type'] = '6一般发展客户'
RFM.loc[(RFM['R_type']=='低') & (RFM['F_type'] == '高') & (RFM['M_type'] == '低'), 'type'] = '7一般保持客户'
RFM.loc[(RFM['R_type']=='低') & (RFM['F_type'] == '低') & (RFM['M_type'] == '低'), 'type'] = '8一般挽留客户'# 统计各类客户的数量及其占比
df = RFM.pivot_table(values=['R'], index='type', aggfunc='count')
df['占比'] = round(df.R/df.R.sum()*100, 2)# 用条形图展现客户价值的分布
from pyecharts import options as opts 
from pyecharts.charts import Bar 
num = list(df.占比[::-1])
lab = list(df.index[::-1])
bar = (Bar(init_opts=opts.InitOpts(width='900px', height='600px', page_title='RFM')).add_xaxis(lab).add_yaxis('', num).set_colors('#00589F')# 坐标轴翻转.reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position='right')).set_global_opts(title_opts=opts.TitleOpts(title='RFM分析:不同类型的客户数量占比(%)')).render('RFM.html')
)

如果把微信通讯录中的联系人当作客户,那么也可以运用 RFM 分析模型,管理我们的重要人脉资源,按照最近联系时间间隔 R、联系次数 F、联系深度 M 进行分类,我们可以重点关注前 4 类人:

1重要价值的人:联系多间隔短,包括亲密的家人、很好的朋友、重要的客户、领导、同事等,与他们保持良好的关系。

2重要发展的人:联系少间隔短,包括联系次数不多的朋友等,增加与他们的互动,增进感情。

3重要保持的人:联系多间隔长,包括很久没有联系过的朋友等,跟他们主动联络,保持沟通。

4重要挽留的人:联系少间隔短,包括联系次数不多,且很久没有联系过的朋友等,分析疏远的原因,并想办法努力挽回。

保持对爱的热忱,学会关心那些对你很重要的人,不要让他们变成像陌生的路人一样。

小结

RFM 分析模型,是一种客户细分的技术,原理简单易懂,几乎不用任何专业的知识,就能快速对客户进行分类,并针对不同类型的客户,制定差异化的营销策略,从而做出更加明智的决策,这反过来又能提升客户的忠诚度。

RFM 分析模型实现起来也很方便,用 Excel 就可以做,用 Python 也能做,其他分析工具基本也都可以做。

学习 RFM 分析模型,我得到的一点启发是:要重点维护好那些对自己很重要的人,这比学会用 Python 建模更重要。

点击????链接

100种分析思维模型(004号)

100种分析思维模型(003号)

100种分析思维模型(002号)

◆ ◆ ◆  ◆ ◆麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 卧槽!原来爬取B站弹幕这么简单● 厉害了!麟哥新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗

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

相关文章

100种分析思维模型(003号)

公众号后台回复“图书“,了解更多号主新书内容 作者:林骥 来源:林骥 一个分析思维模型的背后,可能涉及很多相关的背景知识,但对于使用模型的人来讲,真正关心的是如何应用模型去解决实际的问题,而…

15种顶级分析思维模型。

内容来源 :博雅人文 作者:博雅君 今天给大家分享几个思维模型,无论是数分还是其他岗位,都会有所启发。 查理芒格认为,每个学科都是从一个独特的角度去切入了解这个世界,都是一个摸象的瞎子。 要超越普通人的…

思维模型:建立高品质思维的30种模型

第一章 如何快速而全面地做出决策 思维模型1:关注“重要”任务,忽略“紧急”任务 用于区分真正的优先事项和冒牌货。 重要任务和紧急任务区分开: 把活动和需求分类,整理出最重要的任务,并找出为了实现这些重要任务需…

16个顶级思维模型,数据分析师必备 !

思维模型会给你提供一种视角或思维框架,从而决定你观察事物和看待世界的视角。顶级的思维模型能提高你成功的可能性,并帮你避免失败。 打造多元思维模型想法来自查理芒格,而查理芒格是沃伦巴菲特的得力助手。Farnam Street曾这样描述思维模型…

40种顶级思维模型,学会任何1种都让你受用无穷,赶紧点赞收藏

“思维模型是你大脑中做决策的工具箱,你的工具箱越多,你就越能快速做出最正确的决策” 从100个思维模型里,整理出40个工作中最常会用到的思维模型,主要分为八大模块(学习力、思考力、创造力、设计力、共情力、故事力、…

通过Dump文件分析OOM产生的原因

起笔: 文章的源起在于本人想向道哥(导演)拿一份公司Dump文件。 问题描述 本地模拟可能产生OOM的几十种不同的方法(自由发挥),然后通过类随机去调用方法,通过Dump文件分析是哪个方法导致程序的…

IBM heapAnalyzer分析dump文件

项目在生产环境中内存溢出时多数会生成dump 文件 IBM开发的强大的内存dump分析工具,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到可能!!!泄露的点。(注意&#xff1a…

JVM调优--04---dump文件分析 、arthas在线排查工具

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 dump文件java堆转储快照 1. dump文件内容2. 获取dump文件的方法指令jvisualvm 工具 3. dump文件分析工具3.1 jhat 命令3.2 使用 jvisualvm 工具3.3 使用 MAT 工具 a…

Dump文件生成,内容,以及分析

​​​​​​​本文用到的工具只是简单介绍,让你有个感官认识,重点是核查思路的熟悉 为啥需要dump内存文件 服务器CPU,内存占用空间飙升,或者GC频繁,首先需要排除的就是内存泄露,即内存中没有的对象的空间…

java dump可视化在线内存分析工具

方便分析内存、线程使用情况、死锁等情况的在线可视化分析dump工具 一般也可以自己装MAT,JProfiler等工具,但是这个在线可视化HeapHero分析dump非常全面,总之,非常nice。 HeapHero https://heaphero.io/index.jsp 导出dump并上传…

mac pro m1:安装dump文件内存分析工具——MAT

0. 引言 本文主要针对mac m1下安装Jprofiler进行讲解,安装核心步骤同样适用于其他系统 1. 安装 如果使用的是eclipse可以在插件中直接安装MAT,因为我使用的是idea开发,所以选择独立安装MAT工具 1、下载地址:https://www.eclip…

使用WinDbg分析Windows dump文件方法

需要使用WinDbg工具来分析windows系统产生的dump文件,此工具属于Windows SDK的一个组件,在微软官方网站可以下载(链接)。 在安装Windows SDK的过程中,可以选择只安装WinDbg(Debugging Tools for Windows&a…

jvm mat分析dump文件

jvm调优中,经常使用dump来分析是否存在大对象导致频繁full gc,以下为使用步骤: 一、获得服务进程 二、生成dump文件 jmap -dump:formatb,filexxx.dump pid 三、下载mat工具 地址:https://www.eclipse.org/mat/downloads.php 注意,…

jvm---6.1、dump 文件分析工具 IBM HeapAnalyzer

IBM HeapAnalyzer 工具 官网: https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid4544bafe-c7a2-455f-9d43-eb866ea60091 官网翻译如下; HeapAnalyzer允许通过启发式搜索引擎查找可能的Java™堆泄漏区域…

linux dump 分析工具,使用 Crash 工具分析 Linux dump 文件

与具有众多的内存转储机制一样,Linux 下也有众多的内存转储分析工具,下面将会逐一做简单介绍。 Lcrash 是随 LKCD 一起发布的一个内内存储分析工具。随着 LKCD 开发的停止,lcrash 的开发也同时停止了。目前它的代码已经被合并进入 Crash 工具…

.NET -- 使用Dump文件分析异常

目录 1. Dump文件 2. 程序崩溃时自动生成Dump文件 2.1 注册表生成 2.2 代码生成 3. 手动生成Dump文件 3.1 任务管理器生成 3.2 VS生成 4. Dump文件调试分析 4.1 简易崩溃测试代码 4.2 VS2022调试 4.3 非本机测试 1. Dump文件 Dump文件是进程的内存镜像。可以把程序…

java heapdump 分析工具_heapdump分析工具

heapdump分析工具是一款强大的数据分析工具,它可以用图表的形式来展现相应的分析结果,在使用heapdump分析工具之前请先安装JDK1.6。 运行环境 1.运行环境要求JDK 1.6或以上 如果JDK版本过低,报错如下: Exception in thread "…

php中dump是什么文件怎么打开,Win8/Win10 dump文件怎么打开?dump文件分析工具下载及使用教程...

从Win8系统开始到Win10,蓝屏界面大变脸,不再显示详细的代码错误文件,看起来是友好多了不过对用户查找回题原因来说就麻烦不少了~好在Win8/win10 在蓝屏时会生成dump文件,我们可以使用专用工具进行分析解读查找到问题所在。下面小编…

Dump文件分析工具 - MAT图文解析

/ 前言 / 在讲解Mat工具之前我们先来看下几个关于Dump/文件的问题 Dump文件是什么 Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中 我们拿到Dump文件有什么用的? 假如JVM因为内存溢出的原因宕机了, 而程序的日志里面并没有关于溢出所在对象的信息…

【华为云技术分享】干货分享丨jvm系列:dump文件深度分析

摘要:java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因。那么dump文件的内容是什么样的呢? JVM dump java内存dump是…