不到70行Python代码,轻松玩转RFM用户分析模型(附案例数据和代码)(二)

简介: 本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一。

接上文:不到70行Python代码,轻松玩转RFM用户分析模型(附案例数据和代码)(一)


05  客户分层



回顾一下前几步操作,清洗完之后我们确定了打分逻辑,然后分别计算每个用户的R、F、M分值(SCORE),随后,用分值和对应的平均值进行对比,得到了是否大于均值的三列结果。至此,建模所需的所有数据已经准备就绪,剩下的就是客户分层了。


RFM经典的分层会按照R/F/M每一项指标是否高于平均值,把用户划分为8类,我们总结了一下,具体像下面表格这样:


58.png


由于传统的分类,部分名称有些拧巴,像大多数分类前都冠以“重要”,“潜力”和“深耕”到底有什么区别?“唤回”和“挽回”有什么不一样?


本着清晰至上原则,我们对原来的名称做了适当的改进。强调了潜力是针对消费(平均支付金额),深耕是为了提升消费频次,以及重要唤回客户其实和重要价值客户非常相似,只是最近没有回购了而已,应该做流失预警等等。这里只是抛砖引玉,提供一个思路,总之,一切都是为了更易理解。


对于每一类客户的特征,我们也做了简单的诠释,比如重要价值客户,就是最近购买我们的产品,且在整个消费生命周期中购买频次较高,平均每次支付金额也高。其他的分类也是一样逻辑,可以结合诠释来强化理解。下面,我们就用Python来实现这一分类。


先引入一个人群数值的辅助列,把之前判断的R\F\M是否大于均值的三个值给串联起来:


59.png


人群数值是数值类型,所以位于前面的0就自动略过,比如1代表着“001”的高消费唤回客户人群,10对应着“010”的一般客户。


为了得到最终人群标签,再定义一个判断函数,通过判断人群数值的值,来返回对应的分类标签:


60.png


最后把标签分类函数应用到人群数值列:


61.png



客户分类工作的完成,宣告着RFM模型建模的结束,每一位客户都有了属于自己的RFM标签。


RFM模型结果分析



其实到上一步,已经走完了整个建模流程,但是呢,一切模型结果最终都要服务于业务,所以,最后我们基于现有模型结果做一些拓展、探索性分析。


查看各类用户占比情况


62.png


探究不同类型客户消费金额贡献占比:


63.png


结果可视化之(可视化代码留给大家自行尝试)


64.png


从上面结果,我们可以快速得到一些推断:


  • 客户流失情况严峻,高消费唤回客户、流失客户占比超过50%,怎么样制定针对性唤回策略迫在眉睫。
  • 重要价值客户占比仅2.97%,还有三个客户占比甚至不足2%,我们模型打分可能不够科学,可以进一步调整打分区间进行优化。
  • ...


65.png


再结合金额进行分析:


  • 高消费唤回客户人数占比28.87%,金额占比上升到了38.11%,这部分客户是消费的中流砥柱,他们为什么流失,应结合订单和购买行为数据进一步展开挖掘。
  • 频次深耕客户金额占比紧随其后,这部分客户的特征是近期有消费、消费频次低、消费金额高,和高消费唤回客户仅有购买时间上的不同,如何避免这部分客户向高消费唤回客户的流转是我们要思考的主要命题。
  • 流失客户人数占比26.28%,金额占比仅12.66%,这部分客户中有多少是褥羊毛用户,有多少是目标用户,对我们引流策略能够进行怎么样的指导和调整?
  • .....


至此,我们基于订单源数据,按照五步法用Python完成了RFM模型的建立,并对结果进行了简单的分析。最后,只要把上述代码封装成函数,对于新的数据源,只要一个回车就能够撸出模型,So Easy!

相关文章
|
11天前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
136 65
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
6天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
38 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
184 73
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
65 33
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
47 10
|
2月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
89 21
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费模式预测的深度学习模型
使用Python实现智能食品消费模式预测的深度学习模型
66 2
|
5月前
|
人工智能 数据挖掘 数据处理
揭秘Python编程之美:从基础到进阶的代码实践之旅
【9月更文挑战第14天】本文将带领读者深入探索Python编程语言的魅力所在。通过简明扼要的示例,我们将揭示Python如何简化复杂问题,提升编程效率。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编码世界的大门。让我们开始这段充满智慧和乐趣的Python编程之旅吧!
|
3月前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
79 2
|
4月前
|
大数据 Python
Python 高级编程:深入探索高级代码实践
本文深入探讨了Python的四大高级特性:装饰器、生成器、上下文管理器及并发与并行编程。通过装饰器,我们能够在不改动原函数的基础上增添功能;生成器允许按需生成值,优化处理大数据;上下文管理器确保资源被妥善管理和释放;多线程等技术则助力高效完成并发任务。本文通过具体代码实例详细解析这些特性的应用方法,帮助读者提升Python编程水平。
173 5

热门文章

最新文章