基于K-means算法的客户价值分析
2020-06-18
(西安财经大学 陕西 西安 710100)
一、绪论
(一)研究背景
当今社会,不管是方便快捷的第三方支付工具,还是品类齐全的海淘网购,都从根本上改变了人们原有的生活状态。从目前社会发展的状况看,过去以产品价格为中心的策略不再是企业资源的主要投放重心,企业之间的竞争由之前以抢占市场份额的直接竞争逐渐演变为对于优质用户的竞争。企业用户价值管理是企业用户关系管理成功应用的基础和核心,对于现代企业来说,谁能够更好的触达用户,谁就能够能好掌握用户的价值规律,从而将其转变成企业自己的价值,得用户者得天下。用户价值管理的关键问题,则是对用户进行分类,通过系统和科学的方法对用户进行分类,分类出不同价值类型的用户,然后针对他们制定个性化服务,采取分层的营销策略,力求将有限营销资源最大化的集中于高价值用户,从而为实现企业利润的最大化目标提供有力保障。
(二)本文的研究思路、目的
本论文主要研究的是某电商平台客户价值分析,应用机器学习分类算法中的K-means算法结合用户管理RFM模型对客户进行分类。
研究思路:本文依据在某电商平台爬取的用户交易数据,从用户价值管理的角度进行该平台用户价值分析,目的在于对该平台用户关系进行细分,以帮助平台维护现有用户关系,有效管理平台用户网,从而对平台用户进行个性化营销服务。通过提取一定时间区间内用户交易数据并对其进行处理和分析,建立合理的用户价值评估模型,将用户分为不同的群体,然后通过分析比较不同用户群的价值特征,提取出相应的行为偏好,平台针对这些行为偏好采取相对应的营销策略,从而增加用户的粘性和各类型用户的价值。
研究框架:
(1)提取一定时间段内的该电商平台用户交易数据作为原始数据进行分析研究。
(2)在原始数据的基础上,进行数据清洗、属性规约、数据变换等处理,并进行标准化处理。
(3)在用户关系管理RFM模型的基础上,对该平台的用户进行价值分析。
(4)运用聚类分析算法对用户行为数据进行聚类,将用户分为不同价值的群体。
(5)对于不同用户群的价值特征进行分析,为该平台制定分层的营销策略提供参考意见。
二、理论基础
(一)聚类分析
聚类分析是数据挖掘中的一项重要技术,是分析数据并从中发现有用信息的一种有效手段。聚类是按照事物的某些属性,将数据对象分类,即与“物以聚类”相似。聚类分析就是使用聚类算法来发现有意义的类,将未标记的样本自动划分成由类似的对象组成的多个类簇,用于对未知类别的样本进行划分,将它们按照一定的规则划分成若干个类族,把相似的样本聚在同一个类簇中,把不相似的样本分为不同类簇,从而揭示样本之间内在的性质以及相互之间的联系规律。
(二)k-means算法
1.k-means算法思想
k-means聚类算法是基于原型的聚类算法,即假设聚类结构可以通过一组样本空间中具有代表性的点来刻画,是目前最简单、最常用的方法,这类算法就是对样本空间中具有代表性的点进行初始化,然后对原型进行迭代更新求解。通过将对象划分为互斥的簇进行聚类,每个对象属于且仅属于一个簇,划分结果旨在使簇之间的相似性低,簇内部的相似度高,该算法通过计算样本点与类簇质心的距离,与类簇质心相近的样本点划分为同一类簇。k-means算法通过样本间的距离来衡量它们之间的相似度,两个样本距离越远,则相似度越低,否则相似度越高。其中选用不同的原型表示,不同的求解方式,产生的算法不同。k-means是聚类算法中常见的一种,其中k表示所要聚的类别数,means表示均值。通常我们预先定好类别数k,然后再确定每个类别初始的聚类中心,再通过每个类别的初始聚类中心对相似的样本数据点进行分类,最后通过不断重新优化聚类中心来达到对聚类结果的优化。
k值决定了初始聚类中心的数量。在初始阶段,选择合适的聚类中心是算法训练到好结果的关键。常见的方法是随机选取初始聚类中心,这样往往会使形成的类别质量不高,对聚类结果会产生一定的影响。目前最简单的选取初始聚类中心的方法是产生多组随机初始聚类中心,然后根据每组聚类中心分别计算他们的误差平方和,在结果中选取最小的那一个分类作为初始聚类中心。这种方法执行起来简单,但是误差可能较大。另一种选择初始聚类中心的方法是首先随机产生第一个聚类中心或者选取所有样本点作为初始聚类中心,然后选择离上一个聚类中心最远的点作为新的聚类中心。这种方法不仅使初始聚类中心随机产生,而且还保证了不同聚类中心之间是相互分散的。这种方法的问题是有可能选中离群点作为聚类中心,所以该方法通常用作求点样本的初始聚类中心,原因是点样本的离群点很少,大多数情况下不会出现在随机样本中。因此k-means聚类算法难点是随机选择聚类中心位置、个数。
2.k-means算法步骤
首先随机选取k个类簇的质心,然后对剩余的每个样本点,计算它们到各个质心的欧式距离,并将其归入到相互间距离最小的质心所在的簇,计算各个新簇的质心。其次在所有样本点都划分完毕后,根据划分情况重新计算各个簇的质心所在位置,然后迭代计算各个样本点到各簇质心的距离,对所有样本点重新进行划分。最后重复以上过程,直到迭代计算后,所有样本点的划分情况保持不变,此时说明k-means算法得到了最优解,将运行结果返回。
3.k-means算法优缺点
k-means算法原理简单、容易实现且运行效率比较高;k-means算法聚类结果容易解释,适用于高维数据的聚类。k-means算法采用贪心策略,导致容易局部收敛,在大规模数据集上求解较慢;该算法对离群点和噪声点非常敏感,少量的离群点和噪声点可能对算法求平均值产生极大影响,从而影响聚类结果;k-means算法中初始聚类中心的选取对算法结果影响很大,不同的初始中心可能会导致不同的聚类结果;k-means只能处理数值型数据或者凸型数据分布的样本。
三、基于RFM模型的客户价值分析
客户关系管理已成为企业管理战略转变的关键部分,而客户关系管理的核心问题是对不同类型的客户进行价值分类,采用不同的定制化营销策略,更好地服务顾客,以最大限度地实现企业的效益。客户细分是20世纪50年代中期由美国学者温德尔史密斯提出的,其理论依据是顾客需求的异质性和企业需要在有限资源的基础上进行有效的市场竞争,是指企业在明确的战略业务模式和特定的市场中,根据客户的属性、行为、需求、偏好以及价值等因素对客户进行分类,并提供有针对性的产品,服务和营销模式。
(一)RFM模型简介
1.RFM模型思想
RFM(Recency,Frequency,Monetary)模型是上世纪90年代提出的一种从企业角度考虑的可较全面分析客户购买行为的客户价值模型。模型包括3个指标:近度(Recency)R、频率(Frequency)F及额度(Monetary)M,分别表示最近的上次消费时间离样本数据截止日的时间距离、研究期限内(样本的时间跨度)的消费次数和消费总金额。消费近度越小,表示客户在近段时间内有消费行为,并且消费近度越小和消费频率越大,表示客户忠诚度较高,下一次消费可能性较大;额度是企业衡量客户利益价值的直接标准,额度越大说明客户价值越高。RFM模型计算所需的客户消费数据简单易得且模型计算方便,因此,企业可以使用RFM模型衡量客户价值,并使用RFM模型指标对客户进行分类。RFM模型是最典型的衡量用户价值和用户创利能力的重要工具与手段,是用于评估客户已有价值和用户潜在价值的一套重要方法,企业通过对用户群体分层能够更准确地将成本和精力花在更精确的用户层次身上,该模型早被广泛应用在各个行业中。
RFM模型计算客户价值公式如下所示:
其中:CRFMi指客户i的综合RFM值;
ωR、ωF、ωM分别是R、F、M在计算客户价值的权重;
在大多数的RFM模型应用时,识别客户价值时各指标的权重相同,评估模型的关键在指标和权重两个方面。
2.RFM模型指标含义
R(Recency):客户最近一次交易时间的间隔。R值越大,表示客户交易发生的日期越久,反之则表示客户交易发生的日期越近。
F(Frequency):客户在最近一段时间内交易的次数。F值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。
M(Monetary):客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。
R、F、M三个值,R与效果成反比,其他两个均成正比。根据R、F、M指标值以及企业自身需求可以将客户类型灵活划分为4类或8类等。本文以将用户划分为4个类别为例。
表1 RFM模型指标客户分类表
(二)RFM聚类分析
RFM模型是计算客户价值并进行客户细分的重要方法,使企业和客户能够相互进行个性化与精准化的管理服务,并且RFM模型能够使企业快速的计算出客户的潜在价值及客户的生命周期价值。聚类分析方法是一种属于非监督型机器学习的数据挖掘方法,适用于大数据样本和多变量分析任务。聚类分析是进行客户细分的重要手段,在使用RFM模型时,有必要进行聚类分析。聚类可作为独立的工具获得数据分布情况,作为其他算法的预处理步骤,简化计算工作,提高分析效率,其中K-means聚类算法常于客户细分。综上,本文在基于RFM模型的基础上利用K-means聚类算法对某电商平台交易数据对客户价值进行细分识别。
(三)RFM模型建立
本文以在某电商平台爬取的200条用户交易数据为例,首先清洗出用户首次投资时间、最近一次投资时间、投资总金额、投资总次数等数据,然后使用Python数据分析软件构造R、F、M三个核心指标为维度进行聚类分析,其次利用K-means聚类算法将用户分为4个类别,根据这4个类别的R、F、M指标值,对用户进行标注。
RFM模型不需要任何的算法支撑,与数据建模中的逻辑回归、聚类分析等是完全不同的概念。本文所有实现过程用Python代码实现,RFM模型的核心就是将三个指标进行标签化,然后根据实际场景业务需求进行分层即可。
1.数据抽取
本文数据来源于爬取的某电商平台交易数据。数据以2019年7月20日为结束时间并作为提数日,选取从2019年6月至7月20为时间段作为分析观测窗口,期间所有用户的详细交易数据形成原始数据。从数据结果来看,这一时间段内有过交易用户数据总共有200条记录。其中清洗出所需要的用户ID、用户首次投资时间、最近一次投资时间、投资总金额、投资总次数等属性数据。
2.数据预处理
数据预处理主要包括三个步骤,第一是数据清洗,第二是属性规约,第三是数据变换。
(1)数据清洗
通过观察发现,数据中存在部分缺失值,由于这部分数据在原始数据中占比较小,对分析研究没有太大的影响,因此对其进行删除。
(2)属性规约
由于原始数据中的属性太多,其中有些属性对于分析研究并没有太大的意义,所以需要对其进行筛选。根据需要选取用户ID、用户首次投资时间、最近一次投资时间、投资总金额、投资总次数等属性,删除其他不相关、弱相关或者冗余的属性,例如:性别、年龄、交易方式等属性。
(3)数据变换
数据变换是指需要将数据转换成“适当的”格式,以适应挖掘任务及算法的需要。首先,由于原始数据中并没有直接给出用户交易的在投时长,只给出了用户首次的交易时间,所以需要通过数据变换得出用户在投时长这一指标。由于选取的分析观测窗口为2019年6月1日到2019年7月20日,所以用户在投时长指标可以表示为:
用户在投时长=提数日-首次交易时间
其次,得出用户在投时长后需要构造RFM模型的三个指标值,其计算方式如下:
R(最近一次投资时间距提数日的天数)=提数日-最近一次投资时间
F(月均投资次数)=投资总次数/用户在投时长
M(月均投资金额)=投资总金额/用户在投时长
最后,从数据中可以发现,R指标、F指标及M指标取值范围数据差异较大,在利用k-means聚类算法分析数据之前,需要将数据进行标准化变换,上述指标数据标准化处理之后,将原始数据均转换为无量纲化指标评估值,即各指标值都处于相同的数量级别,进行综合评估分析。考虑到RFM模型各特征的计量单位对聚类分析产生差异化影响,为消除数量级带来的影响,因此对RFM模型中各指标进行取对数log10标准化变换。
3.基于RFM模型的K-means聚类
首先利用机器学习中k-means聚类算法将用户分为4个类别;其次根据这4个类别的R、F、M指标,对所有用户的进行标注,标注出哪些是超价值客户、哪些是高价值客户、哪些是一般价值客户、哪些是低价值客户。K-means聚类算法流程:
(1)首先,从N个样本数据范围中,随机选择K个样本,将它们作为初始的聚类中心;
(2)然后分别计算每个样本到各个聚类中心的距离,将对象归到离它们距离最近的那个聚类中心所属的类别中;
(3)所有对象分配到相应的类别完成后,再一次重新计算K个聚类的中心;
(4)将(3)新得到的K个聚类中心与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,转向过程(2),否则转向过程(5);
(5)当所有聚类中心不发生变化时,算法停止,并将聚类结果输出。
采用K-means聚类算法对抽取的用户群体进行分层,选取聚类中心为4个,获得部分用户类别标签结果如下表:
表2 用户类别标签
按照用户类别标签分组统计R、F、M指标的均值,结果如下表所示:
表3 用户聚类价值表
最后将4个类别用户的三个指标值进行标准化均值处理,便于可视化观察。
依据K-means聚类算法将200个用户分为4类,分组计算出每个类别的R、F、M指标均值,根据得到的各指标均值可将200个用户分为4类分别为超级用户、高价值用户、一般价值用户、低价值用户(如表3)。
4.客户价值结果分析
对于本文基于RFM模型聚类得到的4类用户分析如下:
超级用户:这类用户投资总金额(M)非常高,是该平台最应该保持和持续发展的优质用户。然而虽然该类用户贡献大,但这类用户占比很小,该平台应该优先将优势资源集中投放到该类用户身上,对他们进行差异化管理和一对一营销,提高这类客户的粘性。
高价值用户:该类用户的投资金额(M)、投资次数(F)相对较高,且投资时间(R)相对较低,说明是该平台的老顾客,需要尽可能在维持该类用户现有价值的基础上,通过不同的引导消费提升其自身价值。
一般价值用户:该类用户的投资金额(M)、投资次数(F)相对较低,且投资时间(R)相对较长,该类用户可能是该平台的新用户,对于平台商品投资程度不高。应该给予他们适当关注,引导他们增加投资次数和金额。
低价值用户:该类用户的投资金额(M)、投资次数(F)最低,且投资时间(R)较长,可能该类用户对平台商品不太认可,可能造成用户流失,总体表现为用户价值较低。
当然,根据企业或者平台需要,可以聚类为多个类别,进而依据聚类分析结果,为用户提供个性化服务,或者精准营销方式,提高客户粘性,提升客户的自身价值。
四、结论
本文依据爬取的某电商平台某商品一段时间内的交易数据,基于用户关系管理中的RFM模型以及机器学习K-means聚类算法,使用Python数据分析软件对该平台200位用户交易数据进行聚类分析,将用户分为超级用户、高价值用户、一般价值用户、低价值用户4个价值群,并对每一类用户进行特征分析,对该平台分析用户的不同价值特征,增加客户粘性,从而针对不同用户层设计不同的分层营销策略提供参考意见。
从聚类结果看,具有较高价值的重要保持用户占该平台用户比例较小,而低价值用户和一般价值用户占比较高,说明该平台用户整体价值较低,可以根据用户群体特征为不同用户群提供不同的营销方案以及商品推荐,达到最大化提升平台利益。