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

相关推荐

  • ACS与PL/SQL的工作情况分析

    技术ACS与PL/SQL的工作情况分析本篇内容主要讲解“ACS与PL/SQL的工作情况分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ACS与PL/SQL的工作情况分析”吧

    攻略 2021年11月15日
  • 没有配置环境变量django可以用吗(创建django时如何选择编译器)

    技术启动uwsgi报错提示找不到django的模块怎么办小编给大家分享一下启动uwsgi报错提示找不到django的模块怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获

    攻略 2021年12月18日
  • 为什么spring使用value注解标红(spring中set注入为什么灵活性好)

    技术如何进行spring@value注入配置文件值失败的原因分析今天就跟大家聊聊有关如何进行spring@value注入配置文件值失败的原因分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大

    攻略 2021年12月18日
  • 树莓派如何使用Kodi播放高清电影

    技术树莓派如何使用Kodi播放高清电影这篇文章将为大家详细讲解有关树莓派如何使用Kodi播放高清电影,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。先说解决办法,再说解决过

    攻略 2021年11月19日
  • Python怎么实现两数相加

    技术Python怎么实现两数相加这篇文章主要讲解了“Python怎么实现两数相加”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现两数相加”吧!两数相加题

    攻略 2021年11月20日
  • Axios中值得学习的核心知识点有哪些

    技术Axios中值得学习的核心知识点有哪些本篇内容介绍了“Axios中值得学习的核心知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年10月27日