如何使用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)

相关推荐

  • 三个向造句,用“向”“向”“向”三个词造句

    技术三个向造句,用“向”“向”“向”三个词造句在大会上我们向英雄致敬,向英雄献花,还宣誓要向英雄学习三个向造句。花儿向太阳微笑,向风儿点头,向蜜蜂问好。我向小猫学喵喵叫,向袋鼠学跳跃,向猴子学爬树。向前、向前,向前,我们

    生活 2021年10月21日
  • CF1167G Low Budget Inception 题解

    技术CF1167G Low Budget Inception 题解 CF1167G Low Budget Inception 题解Link.
    Codeforces
    Luogu
    Description.

    礼包 2021年10月28日
  • 软件设计-模板方法模式

    技术软件设计-模板方法模式 软件设计-模板方法模式数据库连接对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、clos

    礼包 2021年12月14日
  • mysql中的语句注释方法有哪些

    技术mysql中的语句注释方法有哪些这篇文章给大家分享的是有关mysql中的语句注释方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 mysql> SELE

    攻略 2021年11月1日
  • 润肺的食物,清肺化痰,吃哪些食物比较好

    技术润肺的食物,清肺化痰,吃哪些食物比较好感谢邀请润肺的食物!!
    我们众所周知,肺在人体的器官当中,可以说是非常重要的。
    肺,它的主要作用是呼吸,因为肺是气体交换的场所,所以通过肺的呼吸作用,才能够不断的吸进新鲜空气过滤

    生活 2021年10月26日
  • 如何用JAVA源码解析hashcode方法

    技术如何用JAVA源码解析hashcode方法这期内容当中小编将会给大家带来有关如何用JAVA源码解析hashcode方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在开发过程中我们

    攻略 2021年10月23日