基于K―means算法的电子商务客户细分研究

一、引言

在竞争日益激烈的网络商业时代,电子商务企业越来越强烈的感觉到客户资源是企业获胜的法宝之一。因此企业开始从以产品为中心的模式向以客户为中心的模式转变,主要围绕保留现有顾客和挖掘潜在顾客展开,预测出客户未来的购买趋势,制定相应的营销策略。但是随着企业产品的个性多样化,客户的需求日益增加,传统的应用统计学的方法对客户进行细分显得力不从心。采用聚类挖掘算法可以处理几个甚至上百个变量,通过收集整理客户相关信息,发现存在于客户整体内部具有不同需求特点、购买行为、浏览兴趣等特征的客户群体,分析出具有相似浏览或购买行为的客户群,进而对客户进行细分,帮助电子商务企业深入了解自己的客户,为客户群体提供更加全面的个性化服务,提高客户的满意度和忠诚度,为企业创造更多的价值。

二、客户细分相关理论

客户细分是20世纪50年代中期由美国学者温德尔?史密斯(Wendell R.Smith)提出的,他认为“客户细分是基于某一时期市场中个体需求的不同特点而做出的产品决策,而产品差异策略则仅定位于市场竞争者,不考虑需求的复杂性[1]。”其理论依据在于顾客需求的异质性和企业需要在有限资源的基础上进行有效地市场竞争。简单地说,客户细分是指在明确的战略业务模式和特定的市场中,根据客户的属性,行为,需求,偏好以及价值等因素对客户进行分类,并提供有针对性的产品,服务和销售模式。

三、聚类分析

聚类(clustering)是一个将数据集划分为若干组(class)或类(cluster)的过程,并使得同一个组内的数据对象具有较高的相似度,而不同组内的数据对象则是不相似的。一个聚类(cluster)就是由彼此相似的一组对象所构成的集合,不同聚类中的对象通常是不相似的。相似或不相似的度量是基于数据对象描述属性的取值来确定的。聚类源于很多领域,包括数学,计算机科学,统计学,生物学和经济学。在不同的应用领域(如商业、地理、保险业、因特网、电子商务),很多聚类技术都得到了发展,这些技术方法被用作描述数据,衡量不同数据源间的相似性,以及把数据源分类到不同的簇中。聚类分析的结果不仅可以揭示数据间的内在联系与区别,同时也为进一步的数据分析与知识发现提供了重要的依据,如数据间的关联规则,分类模式以及数据的变化趋势等。

目前在文献中存在大量的聚类算法,算法的选择取决于数据的类型以及聚类的目的和应用。图1展示了常用聚类算法之间的层次关系[2]。本文即采用K-means聚类算法。

四、K-means算法

(一)K-means算法的基本原理

K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。给定一个包含n个数据对象的数据库,以及要生成簇的数目k,随机选取k个对象作为初始的k个聚类中心;然后计算剩余各个样本到每一个聚类中心的距离,把该样本归到离它最近的那个聚类中心所在的类,对调整后的新类使用平均值的方法计算新的聚类中心;如果相邻两次的聚类中心没有任何变化,说明样本调整结束且聚类平均误差准则函数已经收敛。本算法在每次迭代中都要考察每个样本的分类是否正确,若不正确,就要调整。在全部样本调整完成后修改聚类中心,进入下一次迭代。如果在一次迭代算法中,所有的样本被正确分类,则不会有调整,聚类中心不会有变化。在算法迭代中值在不断减小,最终收敛至一个固定的值。该准则也是衡量算法是否正确的依据之一。

(二)K-means算法的步骤

1.给定一个包含n个数据的数据集D,给定聚类个数k和k个初始聚类中心Zj(I),j=1,2,…k;

2.计算每个数据到聚类中心的距离D(xi,Zj)(I),i=1,2,…k,若满足

D(xi,Zk(I))=min{D(xi,Zj(I),j=1,2,3,…n)},xi∈wk (3-1)

并根据距离最小将每个对象分派到最相近的聚类;

3.重新计算每个聚类的均值并确定新的聚类中心;计算误差平方和准则函数J;

5.输出k个聚类集合。

五、K-means算法在电子商务客户细分中的应用

(一)K-means算法在客户细分中的步骤

通常我们根据电子商务网站中的访客日志或者CRM中的相关信息,先进行数据预处理,然后建立相关模型,用聚类的方法把客户进行细分,并为企业做出决策提供依据。

K-means算法应用于客户细分的步骤:

1.从电子商务网站获取相关的数据;

2.判断所获取的数据是否可以进行分类,如有明显的聚类趋势就进行聚类,否则取消聚类;

3.将K-Means算法结合SpSS软件应用与所获取的客户数据集中,并将客户分为C1、C2、C3......等类。

4.根据分类的结果,总结出每一类的规则。

5.评价聚类结果。若聚类结果可信,则可应用于实际当中,企业可以据此制定相应的营销策略,如若不可信,则需要重新聚类。

(二)数据获取

本文采用的数据来自淘宝网的某服装网店。由于web日中记录了客户相当齐全的信息,这些海量数据(客户ID、姓名、注册日期、年龄、性别、电话、通讯地址)我们没必要全部提取,在这里我们仅仅提取一些代表性的信息,如客户ID,年龄,受教育程度,通讯地址,收入。由于这个网店是专门做女装的,所以性别对我们分类的意义不大,在这里不再提取。 对于表中数据的具体解释:

1.年龄段(age)。根据分析结果中客户年龄段的统计,把客户年龄分为四个阶段:A-小于20岁;B-20岁至30岁;C-30岁至40岁;D-40岁以上。

2.受教育程度。根据客户受教育的程度分为高学历、一般、低学历。

3.通讯地址。全国不同城市的统计,分为一线城市、二线城市、三线城市。

4.根据电子商务中统计的数据集合,把客户收入划分为高收入、中等收入、低收入。

此外,我们需要根据客户ID、商品ID、商品价格、购买数量、每次的消费总价、交易日期计算出每个客户在一段时间的平均购买次数和平均购买价格。

(三)数据处理

1.数据清理。数据清理是补充缺失数据、平滑噪声数据、识别或删除离群点,解决不一致的数据。在本实验中,客户的数据并不一定是完整的,尤其是客户的受教育程度和收入较难获取。此时我们需要采用人工处理法、估计填充法对其进行补充。噪声数据是包含错误或存在偏离期望的离群值。比如年龄在90岁以上就是噪声数据。对于这类数据需要剔除,不在考虑范围内。

2.数据转换。在聚类时,SpSS对数值型的数据较为敏感,因此我们应该尽量将字符型的数据转换为数值型数据。比如将受教育程度,小学、初中、高中、学士、硕士、博士分别转换成0、1、2、3、4、5;将收入高、中、低转换成1、2、3;将不同的通讯地址一线、二线、三线转换成1、2、3。对于年龄这样的连续变量,我们需要采用等宽离散化,客户属于哪个年龄段就将那个年龄段标记为1,其余的年龄段为0。

(四)运用K-means算法进行客户细分

我们使用SpSS软件对客户进行细分,选取淘宝平台上的某一家服装网店。从中选取了150个数据作为样本,将客户平均购买次数和平均购买金额作为客户细分变量,数据经过预处理和标准化后,应用k-means算法对其进行细分。

(五)客户细分结果分析

从表中我们可以看出,4类客户购买人数较多,平均购买次数较少,平均购买金额最少,这类客户年龄和地址分布不均,大多是低学历,低收入的;3类客户人数比4类人数较少,这类客户平均购买次数最多,平均购买金额较少,他们大多处于30岁左右,学历和收入一般,多来自二三线城市;2类客户人数和平均购买次数最少,但这类客户的平均购买金额最多,他们大多学历高,收入高,聚集在北京、上海等一线城市,年龄在25到35岁;1类客户平均购买次数和平均购买金额都较多,年龄集中在35岁到45岁,他们经常光顾本店。

根据表6客户级别的划分,我们可以得出如下结论:一类客户人数虽不多,但企业大部分的利润由他们创造,因此称他们为白金客户,企业应当不遗余力的去保护和维持他们;2类客户人数最少,却创造了较高的价值,属于潜在客户,企业应当重点投入,高水平的维护,使他们尽可能的成为白金客户;3类客户的人数一般,为企业创造的价值一般,因此企业可以关系再造,使他们向2类客户靠拢;4类客户人数最多,这部分客户对企业的价值不大,企业不需要投入太多的资源。

六、结论

在网络和电子商务快速发展的今天,企业的数据库中存储了大量的商业信息,电子商务企业要想盈利,在竞争中立于不败之地,就必须对自己的客户深入了解,挖掘客户的潜在的价值,从而制定相应的营销策略。本文采用K-Means方法对某电子商务网站的客户细分,运用SpSS软件,最终取得了可行性的结果,为企业做出合理的决策提供了有力的帮助。