如何使用ML.NET实现基于RFM模型的客户价值分析

技术如何使用ML.NET实现基于RFM模型的客户价值分析本篇文章为大家展示了如何使用ML.NET实现基于RFM模型的客户价值分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。RF

本文向您展示了如何利用model实现基于RFM模型的客户价值分析。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。

RFM模型

在众多的客户价值分析模型中,RFM模型的应用非常广泛,尤其是在零售和企业服务领域,是一种经典的分类方法。其核心定义来源于基础交易数据,并借助合适的聚类算法,体现了对客户的直观分类说明。对于没有数据分析和机器学习技术支持的初创公司来说,这是分析客户的简单方法之一。

如何使用ML.NET实现基于RFM模型的客户价值分析

RFM模式有三个主要指标:

最近:最新消费区间

频率:消费频率

货币:消费金额

如果我们根据这三个指标对客户进行评分,总共会有27种可能的组合。通过使用K-Means算法,可以将其减少到指定的有限数量的箱(一般为五类),并可以计算每个客户在箱中的位置,即客户价值。

当然,RFM模式还有更多衍生版本。你可以参考维基:RFM(顾客价值)。

ML.NET和K-Means

ML.NET从v0.2开始提供了K-Means聚类的实现,也是最常见的无监督学习的训练,正好适合机器学习对于RFM模型的分类。

00-1010

动手实践

Visual Studio 2017或Visual Studio代码

DotNet Core 2.0

ML。NET v0.3

基本要求

本案数据来源于UCI:在线零售,这是一个跨国数据集,包含2010年12月1日至2011年12月9日在英国注册的非门店在线零售业务的所有交易。该公司主要为全体观众销售独特的礼物。该公司的许多客户都是批发商。

属性信息:

发票号:发票号。标称值,为每个事务唯一分配的6位整数。如果该代码以字母“c”开头,则表示取消。

代码:产品(项目)代码。标称值,为每个不同产品唯一指定的5位整数。

描述:产品(项目)名称。名义上。

数量:每个交易中每个产品(项目)的数量。数字。

发票日期:发票日期和时间。用于生成每个交易的日期和时间的数字。

单价:单价。数量,单位产品的磅价。

CustomerID:客户编号。标称值,一个唯一分配给每个客户的5位整数。

国家:国家名称。每个客户所在国家的名称。

00-1010 Excel用于在原始数据中增加四个字段,即金额(单价和数量相乘的结果)、日期(发票日期的整数值)、今天(今天日期的整数值)和日期差异(今天和日期的差值)。

如何使用ML.NET实现基于RFM模型的客户价值分析

建立透视图,得到每个客户的金额之和,DateDiff的最大值和最小值,通过计算公式Amount/(DateDiff最大值-DateDiff最小值1)计算频率值。

如何使用ML.NET实现基于RFM模型的客户价值分析

根据以下规则计算RFM的分数

R: (datediff最大值-DateDiff最小值-2000)差值,小于480为3分,480和570之间为2分,570和750之间为1分,大于750为0分。

f:频率值:大于1000时5分,在500到1000之间时4分,在100到500之间时3分,在50到100之间时2分,在0到50之间时1分,小于0时0分。

M:M:金额之和值,大于10000,5分,5000-10000之间4分,2000-5000之间3分,1000-2000之间2分,0-1000。

之间计1分,小于0计0分。

如何使用ML.NET实现基于RFM模型的客户价值分析

有小伙伴可能存在疑问,为什么要这么划分,其实这就是对数据分布合理分段的一种思想,为了减小数据源的不平衡性对机器学习的影响,我们尽量使得数据的分布是自然的。
编码部分

还是熟悉的味道,创建DotNet Core控制台应用程序,通过Nuget添加对ML.NET的引用。

  • 创建用于学习的数据结构

如何使用ML.NET实现基于RFM模型的客户价值分析

训练部分

如何使用ML.NET实现基于RFM模型的客户价值分析

评估部分

如何使用ML.NET实现基于RFM模型的客户价值分析

预测部分

如何使用ML.NET实现基于RFM模型的客户价值分析

调用部分

如何使用ML.NET实现基于RFM模型的客户价值分析

运行结果

如何使用ML.NET实现基于RFM模型的客户价值分析

可以看到,我用于测试的客户,被分到了第2类上面。

尽管完成了聚类的工作,对于学习出来的这5个类别,仍然需要按原始数据集全部遍历预测出对应的分类,根据客户的RFM评分与分类的对应关系,才能够对每个类别的意义进行有效地解释。

这个简单的案例为大家展示了使用ML.NET完成聚类的机器学习。对于想要上手针对自己公司的业务,进行一些门槛较低的客户分析,使用ML.NET将是一个不错的选择。当然ML.NET还在不断迭代中,希望大家持续关注新的特性功能发布。

上述内容就是如何使用ML.NET实现基于RFM模型的客户价值分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/79842.html

(0)

相关推荐

  • 五行属水最吉利的字,5画五行属水的字有哪些

    技术五行属水最吉利的字,5画五行属水的字有哪些5画五行属水的字有: 白:5画五行属水最吉利的字。清秀伶俐,智勇双全,中年成功,有爱情厄,晚年吉祥。 包:5画。清雅伶俐,谋略出众,中年成功隆昌,晚年劳神。

    生活 2021年10月29日
  • 美国云服务器Tiktok直播运营有什么优势

    技术美国云服务器Tiktok直播运营有什么优势做海外tiktok直播带货一般有两种模式,一种是专门利用一台海外服务器做海外直播推流,还有一种就是利用海外服务器做转发,相较于前者后者成本低效果好,因此现在很多用户都会租用美

    礼包 2021年12月14日
  • Java反序列化回显与内存马注入

    技术Java反序列化回显与内存马注入 Java反序列化回显与内存马注入Java反序列化回显与内存马注入
    写在前面
    之前已经对于Tomcat回显链和简单的内存马注入进行了部分的学习,打算先对一个很常见的场

    礼包 2021年12月15日
  • 如何解析ASP.NET1.1、ASP.NET2.0、ASP.NET3.5中验证控件等问题

    技术如何解析ASP.NET1.1、ASP.NET2.0、ASP.NET3.5中验证控件等问题这篇文章将为大家详细讲解有关如何解析ASP.NET1.1、ASP.NET2.0、ASP.NET3.5中验证控件等问题,文章内容质

    攻略 2021年11月26日
  • 微信朋友圈只发文字,朋友圈为什么不能直接发文字

    技术微信朋友圈只发文字,朋友圈为什么不能直接发文字微信朋友圈是可以直接发文字的,步骤如下微信朋友圈只发文字:
    1.登陆微信。
    2.在微信界面当中点击发现选项。
    3.然后在发现界面打开朋友圈。
    4.在朋友圈界面上长按相机图

    生活 2021年10月23日
  • python单元测试怎样开展(pytest如何实现自动化测试)

    技术Pyhon中如何实现单元测试这篇文章将为大家详细讲解有关Pyhon中如何实现单元测试,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文件calculator.py#计算器类
    clas

    攻略 2021年12月17日