0 引言
随着电子商务的发展,企业的产品越来越趋向于同质化,仅仅依靠产品本身很难在日趋激烈的竞争中取胜,所以愈来愈多的先进企业将重点从“以产品为中心”向“以客户为中心”的新型商业模式转移,客户关系管理也就应运而生。客户关系管理为企业经营、决策和管理提供了一种新型商业模式。
当今许多企业的数据库或数据仓库中都搜集和存储了大量关于客户的宝贵数据,这些数据涵盖了从客户基本数据、购买记录及客户反馈的各个环节。充分利用这些数据,深入分析、挖掘隐含在这些数据中的有用信息,将有助于企业更好地管理客户关系,实现CRM的功能和目标。数据挖掘技术的目的是对这些数据进行抽取、转换、分析和模型化处理,从中提取辅助商业决策的关键性数据律。客户关系管理是数据挖掘技术在企业决策支持系统中的重要应用领域。
1 CRM与数据挖掘的基本理论
1.1 CRM的概念
客户关系管理(Customer Relationship Management,简称CRM)是指对企业和客户之间的交互活动进行管理的过程。它是企业为了提高核心竞争力,通过改进对客户的服务水平,提高客户满意度和忠诚度所树立起来的以客户为核心的经营理念;是通过开展系统化的理论研究,优化企业组织体系和业务流程,实施于企业的市场营销、销售、服务、技术支持等与客户相关的领域,旨在改善企业与客户之间关系的新型机制;也是企业通过技术投资,建立能搜集、跟踪和分析客户信息的系统,创造并使用先进的信息技术、软硬件,以及优化的管理方法和解决方案的总和。
1.2 数据挖掘的定义
数据挖掘(或KDD)是从大量数据中提取出可信的、新颖的、有效的并能被人理解的模式的处理过程,这种处理过程是非平凡的过程。
数据挖掘从数据集中识别出的模式来表示的知识的处理过程是一个多步骤的处理过程,多步骤之间相互影响,反复调整,形成一种螺旋式上升过程,挖掘的知识表示为概念(Concepts)、规则(Rules)、规律(Regularities)等形式。
1.3 数据挖掘技术在CRM中的应用
随着信息技术的迅速发展,特别是数据库技术和计算机网络的广泛应用,企业拥有的数据量急剧增大。在大量的数据与信息中,蕴藏着企业运作的利弊得失。若能够对这种海量的数据与信息进行快速有效地深入分析和处理,就能从中找出规律和模式,获取所需知识,帮助企业更好地进行企业运筹决策。数据挖掘技术和产品在这种市场需求中逐渐发展成熟,并使企业获得极高的投资回报。在企业管理客户生命周期的各个阶段都会用到数据挖掘技术。数据挖掘能够帮助企业确定客户的特点,从而可以为客户提供有针对性的服务。
2 数据挖掘中的决策树算法
2.1 决策树的基本理论
所谓决策树就是一个类似流程图的树型结构,其中树的每个内部结点代表对一个属性(取值)的测试,其分支就代表测试的每个结果;而树的每个叶结点就代表一个类别。树的最高层结点就是根结点。为了对未知数据对象进行分类识别,可以根据决策树的结构对数据集中的属性值进行测试,从决策树的根结点到叶结点的一条路径就形成了对相应对象的类别预测。
2.2 决策树的生成
决策树的生成的基本算法是贪心算法。它以自顶向下递归的各个击破方式构造决策树。建立一棵决策树通常分为两个阶段:建树(Tree Building)和剪枝(Tree Pruning)。
2.3 决策树算法
SPRINT算法吸取了SLIQ算法的预排序技术,但它使用不同的数据结构,消除了所有的内存限制,且易于并行化,进一步增强了可伸缩性。所采用的剪枝算法与SLIQ相同。因为决策树算法中的关键问题是建树,而建树阶段与剪枝阶段相比,其所需时间远远大于剪枝所需时间。下面对SPRINT算法中的几个关键步骤加以阐明。
2.3.1 数据结构
属性表(Attribute List):SPRINT算法使用一种新的属性表数据结构,存放类和rid(index of the record)信息。每个属性具有一个属性表,表中每条记录由属性值、类标号和rid组成。初始状态下,对数值型属性按其属性值进行排序。如果内存不够,属性表可以驻留磁盘。最初的根据训练集所创建的属性表均指向树根,随着树的生长,当节点分裂时,属性表被划分,并在结果子女节点分布,当表划分时,表中记录的次序维持不变,因此,划分表不需要重新排序。
直方图(Histograms):SPRINT算法中的直方图是用于计算每一种分裂方案的gini指数值。对于数值型属性,每一个节点,对应两个直方图,分别用Cabove,和Cbelow表示。它们表示属性记录在给定节点上的类分布情况。遍历属性表时,直方图也随之改变,其中:Cabove表示未扫描过的属性记录的类分布情况。Cbelow表示己扫描过的属性记录的类分布情况。对于离散属性,每个节点对应有一个直方图,它包含给定属性上每一个值的类分布情况。
2.3.2 节点的分裂方法
计算最佳分裂:在SPRINT算法中,采用gini指数作为评价节点分裂质量的参数。寻找最佳分裂的方法是:遍历每一个节点的属性表,同时评价每个属性表的分裂价值,完成遍历后,包含gini索引最低的分裂点的属性作为最佳分裂方案。
执行节点分裂:创建节点,执行节点分裂这一步的主要任务是对节点的每一个属性表进行划分。包含分裂属性的属性表的划分十分容易。即通过遍历属性表,应用分裂条件去测试,然后根据测试的结果将记录分别放入每一个子节点的属性表中。
2.3.3 算法的剪枝
SPRINT的剪枝算法MDL属于事后修剪(post pruning)算法。通常的事后剪枝的数据源采用一个Training Set的一个子集或者与Training Set独立的数据集进行操作。MDL(Minimum Description Length)的目标是生成一棵描述长度最小的决策树。MDL原理认为:最优的编码模型是描述数据代价最小的模型。如果模型M对数据集D进行编码,那么描述代价:cost(DIM)=cost(D|M)+cost(M)
其中:cost(M|D)表示表示编码的总代价;cost(D|M)表示用模型M对数据D编码的编码代价,单位bits,cost(M)表示描述模型本身所需的编码长度。
2.3.4 SPRINT算法的评价
SPRINT算法的优点是明显的,它总能够生成一棵最好的树。但是,这种算法在处理数值型属性的时候也有明显的不足:1)它需要对整个训练集进行预先排序;2)对所有的数值型属性的不同值都要进行gini指数的评估。
这种方法工作量很大,特别是对于超大数据集,当属性含有大量的不同取值时,效率非常低。为了减少SPRINT算法的计算量,提高算法的效率,我们的算法主要从处理数值型属性方面对SPRINT算法进行改进。
3 SPRINT算法的改进
3.1 改进算法的描述
在改进的算法中,采用宽度优先的策略来构建决策树和使用gini指数来评估数值型属性。我们改进的主要部分就是在决策树的构建阶段对数值型属性的处理部分,采用了上述提出的纯区间归约的方法来处理数值型属性。改进算法的详细描述如算法3.1所示。
算法3.1改进的SPRINT算法的描述
在算法3.1中,集合T、T1、T2分别代表树中的结点,其中T1和T2是T的两个分支结点。最后生成的决策树是一棵二叉树。
3.2 两种算法的比较分析
由于改进的算法和SPRINT算法的不同之处主要是在构建决策树阶段对数值型属性的处理方法,算法的分析主要是比较两种算法在树的构建阶段的I/O需求和时间代价。我们的比较分为预处理阶段和决策树中每个结点的构建阶段。
在改进的算法中,估算每一个区间边界的gini值的时间代价为O(qc);决定每个非纯区间的记录,建立临时区间属性表需要一次读和一次写操作的时间代价为O(n);对每个非纯区间排序和计算每个非纯区间中的精确gini值的时间代价
在SPRINT算法中,对属性表的全部记录进行排序是整个处理过程的主要时间花销。在改进的算法中有效地避免了全局排序,只是对非纯区间进行局部排序;同时,纯区间进行归约,减小了gini值的计算量。
4 客户分类模型的建立
4.1 建立数据挖掘模型的基本理论
在实施数据挖掘之前,先制定采取什么样的步骤,每一步都做什么,达到什么样的目标是必要的。很多软件供应商和数据挖掘公司都提供了一些数据挖掘过程模型,CRISP-DM(Cross Industry Standard Process for Data Mining)是公认的、最有影响的数据挖掘方法论之一。CRISP-DM将整个挖掘过程分为以下六个阶段:商业理解(Business Understanding),数据理解(Data Understanding),数据准备(Data Preparation),建立模型(Modeling),模型评估(Evaluation)和模型发布(Deployment)。如图1所示。
图1 CRISP-DM数据挖掘过程
在实际项目中,CRISP-DM模型中的数据理解、数据准备、建模、评估并不是单向运作的,而是一个多次反复、多次调整、不断修订完善的过程。
4.2 建立客户分类的模型
按照CRISP-DM的数据挖掘的一般过程模型,对一个客户数据集按照客户持有的客户会员卡进行分类。
4.2.1 商业理解
用作测试分析的数据集Food Mart 2000,是Micro Soft产品SQL Server 2000 Analysis Services提供的示例数据库。在Food Mart 2000数据库中提供了24个表,每一个表都有一定数据量。其中,Customer表中多达27个属性,共有10281个不同客户的记录,每个客户数据记录包含有客户数据:客户姓名、性别、住址、电话、婚姻状况、客户持有的会员卡类型等个人信息。如图2所示。
图2 Customer数据表
4.2.2 数据准备
客户表Customer有多达27个属性,如果全用来进行客户分类,将使所建立的决策树过大、不好理解,并且有些属性明显对客户选用会员卡没有任何贡献。比如姓名、电话号码等。在开始数据挖掘前,用户会可以根据常识、经验等因素通过初选,选出一些主观上认为与分类属性有关的、会比较明显影响分类属性取值的候选属性,也可以用数据挖掘工具提供的相关分析技术,筛选出适合用来进行建模的属性。
下面我们选用Microsoft SQL Server 2005中的Analysis Services工具对Customer表的数据进行相关分析。其中member_card是我们所要的分类属性。相关分析的结果如图3所示:
图3 属性相关分析结果
从图3所示的相关分析的结果可以看到,要进行基于会员卡的分类,我们选择如下的属性:yearly_income、education、Bum_cars_owned、num_children_at_home、occupation等五个属性进行分析。
4.2.3 建立模型和评估
用改进的SPRINT算法解决本章定义的客户分类问题,分两步:第一步,用训练数据集建立决策树模型;第二步,对模型的准确率用测试数据进行测试。
由于模型过分适合训练数据,若使用训练数据评估分类模型,可能导致过于乐观的估计。保持和k-折交叉验证是两种基于给定数据随机取样划分的、常用的评估分类模型准确率的技术。这里采用保持方法。
在保持方法中,给定数据集被随机划分成两个独立的集合:训练集和测试集。通常,三分之二的数据分配到训练集,其他三分之一分配到测试集。从给定数据集中取样,构成训练数据集。训练数据集大小:10281×2/3=6854,测试数据集大小10281×1/3=3427。用某一次随机取样方法得到的训练集和改进的SPRINT算法建立决策树模型。
1)模型的建立
在改进的SPRINT算法中,只考虑了yearly_income(年收入)属性和child_Bum_at_home(在家子女数)属性作为数值型属性,我们在决策树的构建过程中,将yearly_income属性分为8个区间,分别是(0,2]、(2,4]、(4,6]、(6,8]、(8,10]、(10,12]、(12,14]、(14,16]。决策树算法通过剪枝后可以得到如下模型,如图4所示。
图4 决策树图示
2)模型的评估
用包含3427条记录的测试数据集对模型进行测试:对每条客户记录,从图4中决策树根节点0开始,首先用客户yearly-income(年收入)进行属性测试,如果客户的年收入少于“2”,在决策树中到达节点1,如果客户本来持有的会员卡就是Normal,那么模型对该客户分类正确,否则发生分类错误;如果客户的年收入大于等“2”,到达节点2,因为节点2不是叶节点,还要用child_num_at_home(在家子女数)属性继续测试,客户在该属性上的不同取值而到达节点3或节点4,然后对节点3用yearly_income(年收入)进行属性测试,客户在该属性上的不同取值而到达节点5或节点6,最后再用child_Bum_at_home(在家子女数)属性对节点6继续测试,客户在该属性上的不同取值而到达节点7或节点8。
再对原数据集进行四次取样,分别用获得的训练集和测试集建立决策树模型并对模型作测试,每次建立的模型的结构一致、各节点所属类别没有发生变化。
4.2.4 模型发布
模型的发布就是在一个数据挖掘模型建立好以后,将数据挖掘所获得的知识用一种用户可以使用的方式来组织和表示出来。预言模型标记语言PMML(Predictive Model Markup Language)是利用XML描述和存储数据挖掘模型的一种标准。
作为数据挖掘领域事实上的行业标准,为不同数据挖掘系统之间共享模型提供了标准的表示规范,是数据挖掘平台所遵循的模型表示格式,该规范的内容是一份XML DTD文档。
5 结论
随着信息技术的发展和数据挖掘技术的成熟,数据挖掘的研究重点逐渐从算法的研究转向了算法的应用,数据挖掘技术在CRM中的应用是当前的研究热点,基于决策树技术在CRM中有着广泛的应用。
企业通过对客户的分类模型,采取相应的客户服务和客户销售的策略,最大程度地提高客户的价值及客户的忠诚度,使客户管理的资源为整个企业的发展动向和服务策略提供有利的指导。经营决策者一方面可以通过对客户的分类和评估,指导企业决策;另一方面,也可以挖掘潜在的客户和发现客户行为的分类规则,由此达到保持和扩大客户群。从这两方面来看,数据挖掘对企业的经营决策和客户关系管理都具有相当重要的作用和意义。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:数据挖掘技术在CRM中的应用和研究
本文网址:http://www.toberp.com/html/consultation/1083935014.html