学习目标
掌握数据仓库、联机分析处理和数据挖掘的基本概念;了解商业智能技术在CRM系统中的应用;掌握商务智能的定义以及客户知识与客户智能的生成。
主要解决的问题
客户数据仓库的体系结构以及功能;联机分析处理对多维数据的操作方式;数据挖掘的常见算法、实施步骤以及在CRM中的应用。
在客户关系管理系统结构中,很重要的模块就是完成客户数据分析的商业功能。通过商业智能及其重要技术——数据仓库、OLAP(联机分析处理)、数据挖掘等技术来构建具备分析功能的CRM系统,是实现客户数据分析的关键。CRM分析系统运用OLAP和数据挖掘等技术来对数据仓库中的客户数据进行分析,并分析相关规律、模型和趋势,让客户信息和知识在整个企业内部得到有效的流转和共享,并进一步转化为企业的战略规划,作为科学决策的辅助支持,用于提高在各种渠道上同客户交互的有效性和针对性,把合适的产品和服务,通过合适的渠道,在合适的时候,提供给合适的客户,从而实现企业利润的最大化。本章在讲解商业智能基本概念的同时,详细介绍了商业智能中的数据仓库技术、联机分析处理和数据挖掘技术以及它们在CRM系统中的应用。
7.1 数据仓库概述
随着数据库技术的广泛应用,企业拥有了越来越多的数据。为了快速、高效地使用这些数据,企业建立了企业级数据库,而企业的各个部门针对自己关心的问题,又在企业级数据库中抽取相关的数据组成部门级数据库。随着数据的逐层抽取,数据访问变得错综复杂。由于各部门分别抽取数据,针对同一问题抽取的数据也不尽相同,若它们均以自己抽取的数据进行分析,得到的结论会产生差异,甚至截然相反。可见,传统的关系型数据库无法满足分析数据、支持决策的需求,这势必要求分析型数据环境的产生。数据仓库就是在此时产生的。
7.1.1 数据仓库的定义
1)数据仓库的定义著名的数据仓库专家W。H。Inmon在书中给数据仓库的定义是:
“数据仓库是一个面向主题的、集成的、非易失的、随时间变化的数据集合,用于支持管理决策。”该定义指出了数据仓库的四个特征:
(1)面向主题
在数据仓库中,所有的数据都是围绕一定的主题进行组织的。在关系型数据库中,针对同一主题的数据分布在相关的各个数据表中,而在数据仓库中,针对同一主题的数据存放在同一数据表中。
(2)集成性
数据仓库中的数据都是经过清洗、过滤、转换的。它们有统一的格式、表示方式、代码含义,并用相同的单位表示,消除了源数据中结构、表示方式、含义的不一致性,数据仓库中的数据具有集成性。
(3)非易失性
对于支持决策,历史数据是非常重要的。数据仓库中的数据一旦写入,几乎就不再更改了,除非数据有错误,而对数据仓库进行的主要操作也只是数据追加。因此说数据仓库中的数据是非易失的,或者说是稳定的。
(4)时变性
数据仓库中的数据是只增不删的,所以它记录了从开始使用数据仓库起的所有数据。它能反映企业各个时期的信息,也可以说它反映的是企业随时间动态变化的数据。
2)数据仓库中两个重要的概念
在数据仓库中涉及两个非常重要的概念,即数据粒度和数据分割。
(1)数据粒度
数据粒度有两种形式。第一种形式的数据粒度是面向OLAP的。粒度的大小反映了数据仓库中数据的综合程度。粒度越小,数据越详细,数据量也就越大(见)。
数据粒度的相关指标粒度级别综合程度数据量数据细节(详细度)高高小低低低大高数据粒度的划分是数据仓库设计中最重要的一项工作。在数据仓库中确立数据粒度要考虑数据仓库可接受的分析类型、可接受的数据最低粒度以及能存储的数据量。选择一个合适的数据粒度是一个复杂的过程,由于在数据仓库中进行的数据分析在不同方面是不用要求的,一般数据仓库都选择多重粒度的结构。
第二种形式的数据粒度是面向数据挖掘的,它反映的是抽样率。在进行数据挖掘时,如果数据量很大,执行挖掘算法的代价太大,一般从数据中抽取样本进行挖掘。这就需要规定一个抽样率。抽样率的确定取决于源数据量的大小和数据挖掘的具体要求。一般来说,源数据量越大,抽样率就越低。
样本数据库的抽取按照数据重要程度的不同来进行,利用数据样本数据库采集重要数据进行分析既可提高分析效率,又有助于抓住主要因素和主要矛盾。
(2)数据分割
数据分割就是将大量数据分成独立的、较小的单元进行存储,以提高数据处理的效率。在逻辑模型设计好以后,必须进行数据分割才能为物理实施提供依据。在进行分割时要考虑数据量、数据对象和粒度划分策略等几个方面。
常见的数据分割有以下几种形式:
垂直分割,即把一个表垂直分成两部分。这种类型的分割有助于把一个大表分成两个表,这两个表之间通过一个关键字段相关联。
水平分割,即把表按行分成两部分。水平分割的表被用来存储用户联系紧密的本地重要数据,从而减少网络查询。
图解分割,即经过多个分布系统把一个图分解成两个部分,可以从指定的服务器或在多个服务器之间建立连接而得到一个表所需要的全部数据。这种类型的分割被用来把小的、静止的表从不稳定的、越变越大的表中分割出来。
确定数据粒度以及根据粒度进行数据分割都是设计数据仓库时十分重要的环节,是成功建立数据仓库的必要保证。
7.1.2 数据仓库与数据库的区别
数据仓库与数据库在许多方面存在区别。通过对数据仓库和数据库的对比也更容易理解数据仓库的含义。体现了数据仓库和数据库的区别。从中我们可以看到,数据库只存储当前数据,而数据仓库存放历史数据;数据库主要面向业务操作,而数据仓库面向数据分析和决策支持;数据库中的数据是动态变化、随时刷新的,而数据仓库中的数据是静态的,一般不会改变;数据库的使用频率比数据仓库的使用频率高,数据访问量少,且要求的响应时间短。
数据库和数据仓库的区别特性数据库数据仓库数据当前数据历史数据面向业务操作数据分析存储读写操作多为只读使用频率高较低数据访问量少多要求的响应时间较短可以很长7.1.3数据仓库的体系结构数据仓库的体系结构可以用来表示。由于数据库和数据仓库应用的出发点不同,因此数据仓库与业务数据库系统是相互独立的,但是数据仓库又同业务数据库系统密切相关。
从中可以看到,数据仓库是将业务操作型系统提取出来,辅以企业外部数据,这些数据经过清洗和转换,存储在数据仓库中。数据仓库不只存储业务数据,还存储记录数据信息的元数据。
数据仓库中还可以抽取部门型数据仓库,即数据集市。数据最终传送给数据挖掘系统或数据展现系统,以供数据分析或展现给用户。所以,数据仓库不是简单地对数据进行存储,而是对数据进行“再组织”。
7.1.4 操作数据存储ODS是用于支持企业日常的、全局应用的数据集合。ODS解决的是“日常”性问题,因而具有引入数据是可变的、数据是当前的或近期的两个特点。由于ODS是面向全局应用的,使得ODS中的数据需要面向主题来组织,并且应当是实时集成的。
ODS中的数据按照主题来组织,在企业级上要求保持一致,因此进入ODS的数据必须经过清洗和整理,才能达到集成性和一致性的目的,这也是ODS与传统数据库系统的区别。
ODS只存放当前的和近期的数据。同数据库类似,ODS中的数据可以进行增加、删除和更新等操作,而数据仓库中的数据具有稳定性,只增不删,因此与数据仓库也是不同的。
ODS的应用一般体现在以下两个方面:
(1)企业级的联机事务处理。由于ODS提供的是集成的、企业级一致的数据,因此它使企业级的OLTP成为可能。企业级的OLTP是指在实际的事务处理中常常涉及多个部门的数据,需要通过多个部门的数据协同才能更好地完成任务。建立ODS实际上是建立了一个全局数据库,它通过ODS中的记录系统和参数表来建立一系列数据库与ODS记录间的双向联系,以实现与企业级数据的同步。
ODS的记录系统用于说明如何从数据库向ODS抽取数据。有了ODS的记录系统,数据库中的数据项发生变化都会反映到相应的ODS记录中。参数表用于建立ODS中的记录向数据库的反向映射。
当ODS中的记录发生改变时,将通过参数表修改数据库中的相应项。
(2)近期的联机分析处理。数据仓库主要解决企业的长期战略问题,因此在数据仓库中主要进行较长时间段数据的OLAP分析。由于ODS中的数据量远远小于数据仓库中的数据量,因此使用ODS进行近期的OLAP分析非常有效。但ODS中提供的OLAP功能常常没有在数据仓库中实现得那么全面。
随着ODS的引入,原来的DB—DW两层体系结构逐步转化成DB—ODS—DW三层体系结构。
ODS作为一个中间层,一方面它包含企业全局一致的、细节的、当前的或近期的数据,可以进行全局联机分析处理;另一方面,它又是一种面向主题的、集成的数据环境,而且数据量较小,适合于辅助企业完成日常决策的数据分析处理。
7.2 OLAP在数据仓库中的应用
企业建立数据仓库的目的是为了支持管理中的决策制定过程,OLAP作为一种多维查询和分析的工具,是数据仓库功能的自然扩展,也是数据仓库中的大容量数据得以有效利用的重要保障。随着数据仓库的发展,OLAP也得到了迅猛发展。数据仓库侧重于存储和管理面向决策主题的数据,而OLAP的一个主要特点是多维数据分析,这与数据仓库的多维数据组织正好形成相互结合、相互补充的关系。
在CRM中进行OLAP分析,企业的决策者能从多方面、多角度来观察企业的状态、分析客户的数据,使企业在提高效率、预测市场、保留客户等方面大大改进,提升企业的竞争优势。
7.2.1 ,联机分析处理的概念
联机分析处理是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。它通过对信息的多种可能的观察形式进行快速、稳定、一致和交互性的存取,允许管理决策人员对数据进行深入观察。以下是OLAP中相关的几个逻辑概念:
(1)变量。变量是分析数据时要考察的属性。比如,企业要考察过去一段时间其产品在全国各地的销售量情况,这里时间和地理位置都是维度,销售量是变量。
(2)维。用户分析问题的角度或决策分析的出发点构成了数据仓库中的维。比如,在分析销售量的时候,可以从商品种类、时间、地区等几个角度考虑,在这个多维数据库中也就包含了产品维、时间维和地理维。
(3)维的层次性。数据仓库中的维是具有层次性的。比如,地理维可以分为地区维、省维,进而还可以细分为市维、县维等层次。在数据表中,地理维可以用地区维、省维、市维等层次来代替。
其中,同一层次的字段具有相同的级别。层次由上到下是逐步细化的。时间维、产品维等所有其他的维也同样具有层次性。
(4)维成员。维成员是维的一个取值,如果维分成了几个层次,那么维成员就是不同维层次取值的组合。
(5)事实。每一个维都取一个维成员,则可得到唯一确定的变量值。各维度的取值和变量值构成了事实。
(6)多维数据立方体。多维数据立方体对应的是一个多维数组,在多维数据立方体中可以用(维1,维2,维3……维n,变量值)表示。
7.2.2 ,多维数据模型上的OLAP操作
OLAP技术的核心是多维分析。OLAP通过对多维数据进行切片、切块、钻取、聚集和旋转等方式分析数据,使用户能够从多种角度观察、分析数据仓库中的数据。下面我们具体介绍OLAP的分析方法。
(1)数据切片
对多维数据集(维1,维2,维3……维n,变量值)在维度i上选定一个维成员,得到一个n-1维多维数据集,称得到的这个n-1维多维数据集为原数据集在第i维上的数据切片。
(2)数据切块
在多维数据立方体中,确定某些维度的取值范围,得到一个原立方体的子立方体的过程被称为数据切块。数据切块与数据切片得到的多维数组都是原多维立方体的子集,不同的是数据切片使多维立方体降低了一个维度,而数据切块得到的多维立方体与原立方体的维度是相同的。
(3)数据钻取
数据钻取也叫数据下钻,是由概括的数据到详细的数据的过程。数据钻取对应于维的层次,它是由维的高层次展开到低层次的一个动作。比如,我们由“年”数据下钻到“季度”数据,这无疑会增加数据细节和数据量,得到更详细的数据。数据钻取的具体操作参见中的数据钻取部分。
(4)数据聚集
数据聚集也叫数据上卷,是数据钻取的逆过程。数据聚集是将详细的数据聚集为较概括的数据,是一个综合数据的动作。
显示了一个数据立方体的钻取和聚集的过程。原数据立方体包含了时间(年)、城市、产品三个维度,其中a1,a2为产品名。钻取过程是按时间下钻,由年数据得到季度数据,如所示,数据由原来的两行展为八行。聚集过程是按地区维度上卷,将城市维上卷为国家维,即将北京、上海两城市数据统计为中国的数据,将东京、大阪两城市的数据统计为日本的数据。数据聚集和数据钻取为用户提供了不同层次观察数据的方法。
(5)数据旋转
数据旋转即变换维度的位置,也就是转动数据的视角,给用户提供一个从不同的角度观察数据的方法。具体方法如所示。
是数据旋转的一个简单示例,只体现了二维表的旋转。当数据是三维或是三维以上的多维数据时,数据旋转将更有意义,每进行一次数据旋转就可以从一个新的视角观察数据。
7.2.3 ,OLAP的特点
联机分析处理的用户是企业中的专业分析人员及管理决策人员,他们在分析业务经营的数据时,数据钻取与聚集数据旋转从不同的角度来审视业务的衡量指标是一种很自然的思考模式。比如,分析销售数据时,可能会综合时间周期、产品类别、分销渠道、地理分布、客户群类等多种因素来衡量。这些分析角度虽然可以通过报表来反映,但每一个分析角度都可以生成一张报表,各个分析角度的不同组合又可以生成不同的报表,使得IT人员的工作量相当大,而且往往难以跟上管理决策人员思考的步伐。
联机分析处理的主要特点是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型。
一旦多维数据模型建立完成,用户便可以快速地从各个分析角度获取数据,也能动态地在各个角度之间切换或者进行多角度综合分析,具有极大的分析灵活性。这也是联机分析处理近年来被广泛关注的根本原因,它从设计理念和真正实现上都与旧的管理信息系统有着本质的区别。
7.2.4 ,OLAP的应用
随着数据仓库理论的发展,数据仓库系统已逐步成为新型的决策管理信息系统的解决方案。数据仓库系统的核心是联机分析处理,但数据仓库包括更为广泛的内容。从应用的角度来说,数据仓库系统除了联机分析处理外,还可以采用传统的报表,或者采用数理统计和人工智能等数据挖掘手段,涵盖的范围更广;就应用的范围来说,联机分析处理往往根据用户分析的主题进行应用分割,如销售分析、市场推广分析、客户利润率分析等,每一个分析的主题形成一个OLAP应用,而所有的OLAP应用实际上只是数据仓库系统的一部分。
下面以某家电企业为例介绍OLAP的应用。家电的多维分析涉及产品、销售数量、地区和时间4个维。所有抽查的数据都是第1季度的。负责冰箱销售的副总裁提出了以下3个问题:
2007年第1季度,冰箱在哪个地区的销售情况最好?
2007年第1季度,在冰箱畅销的地区中,哪个省份的冰箱销售量处于领先地位?
2007年第1季度,在冰箱销售领先的省份中,哪个城市的冰箱销售量最高?
要回答这3个问题,需要用到OLAP的两种多维分析方法,即数据切片/切块和数据钻取,其他的分析方法还有数据旋转和数据聚集等。
如所示,首先使用数据切片方法来对第一个问题进行分析。在的数据立方体中,时间、地区和产品分别是3个维度,销售额是度量变量。在产品维上选定“冰箱”则形成在产品维上的数据切片,显示了冰箱在各地区和各月份的销售情况。
运用数据切片来进行数据分析通过模型驱动工具来查询数据仓库的数据,得到。
按地区划分的销售数据单位:台2007年1季度2007年1季度2007年1季度项目电视数量冰箱数量空调数量西北360334489935621华东859357995495526东北460613604023312数据钻取会改变维的层次,变换分析的粒度,包括向上钻取和向下钻取。向上钻取是在某一维上将低层次的细节数据概括为高层次的汇总数据,或者减少维数;而向下钻取则相反,它从汇总数据深入到细节数据进行观察,或者增加新维。在家电企业的例子中,必须用联机分析处理工具深入到地区维中,通过向下钻取来查看某地区维中更细节的数据。
运用数据钻取的方法进行数据分析表示的是对地区维向下钻取的第一步,即显示了该家电企业按地区划分的各省份的冰箱销售量;更深一步的钻取可以显示出各城市的销售情况。
7.3 数据仓库在CRM中的应用
7.3.1 数据仓库的用户
从数据仓库的最终用户看,可以将用户分为信息使用者和知识挖掘者两类。
1)信息使用者
信息使用者使用数据仓库是经常性的、重复性的,他们知道要了解什么,而且只访问很少的一部分数据。事实上,信息使用者的需求是在数据仓库设计前就已经确定的,数据仓库开发人员按照用户的需求确定主题、进行数据处理,以满足此类用户对信息查询的需求。
信息使用者每次查询的也许是相同的几个指标,他们要经常性地掌握这些固定指标的信息,运用数据仓库可以快速、准确地得到他们所需要的信息。可以说,信息使用者是操作型用户。
2)知识挖掘者
知识挖掘者对数据仓库的应用就更为复杂了。他们不止是查询数据仓库目前能够提供的信息,而且通过数据分析找到其中隐含的信息,用以发现更深层次的知识来指导决策。如果说信息使用者想了解的是“怎么样”,那么知识挖掘者想知道的就是“为什么会这样”。因此可以说,知识挖掘者是分析型用户。知识挖掘者在使用数据仓库时,先对数据进行概括分析,然后根据需要从数据仓库中抽取数据,对抽取出来的数据选择合适的数据挖掘算法进行建模分析,最后,根据建模分析得到的知识对数据仓库进行分类处理。
知识挖掘不同于信息使用,并不是每次都是有结果的。知识挖掘过程相对复杂,用到的数据量也相对要大。但知识挖掘得到的知识对企业提高竞争力、保持竞争优势都有十分重要的意义。知识挖掘的应用也是数据仓库作用的真正体现。
7.3.2 客户数据仓库的功能
一个内容详尽、功能强大的客户数据仓库对CRM系统是不可缺少的。在实施CRM中建立的客户数据仓库对于保持良好的客户关系、维系客户忠诚,发挥着不可替代的作用。美国1994年的商业调查就显示出:56%的零售商和制造商拥有强大的营销数据库;85%的零售商和制造商认为在20世纪末客户数据库必不可少。
在客户关系管理环境下,客户数据仓库应当具有如下的功能:
1)动态、整合的客户数据管理和查询功能
CRM的数据仓库必须是动态的、整合的数据库系统。动态的要求是指数据库能够实时地提供客户的基本资料和历史交易行为等信息,并在客户每次交易完成后,能够自动补充新的信息;整合的要求则是指客户数据库与企业其他资源和信息系统要综合、统一,各业务部门及人员可根据职能、权限的不同实施信息查询和更新功能,客户数据仓库与企业的各交易渠道和联络中心必须紧密结合等。
2)基于数据库的客户关系结构和忠诚客户识别功能
基于数据库支持的及时识别客户的功能是十分重要的。实施忠诚客户管理的企业需要制定一套合理的建立和保持客户关系的格式或结构。简单地说,企业要像建立雇员的提升计划一样,建立一套把新客户提升为老客户的计划和方法。例如,航空公司的里程积累计划——客户飞行了一定的里程数,便可以获得相应的免费里程,或根据客户要求提升舱位等级等。这种方式或结构建立了一套吸引客户多次消费和提高购买量的机制。在客户发生交易行为时,能及时地识别客户的特殊身份,依此给予相应的产品和服务,从而有效地吸引客户为获得较高级别的待遇和服务而反复购买。
3)基于数据库支持的客户购买行为参考功能
企业运用客户数据仓库,可以使每一个服务人员在为客户提供产品和服务时,明确客户的偏好和习惯,从而提供更具有针对性的个性化服务。例如,现在各地的读者俱乐部都有定制寄送服务,它们能根据会员最后一次的选择和购买记录,以及它们最近一次与会员交流获得的有关的个人生活信息,向会员推荐不同的书籍。这样做使客户感到企业尊重、理解他们。企业知道他们喜欢什么,并且知道他们在什么时候对什么感兴趣。这种个性化的服务对培养客户忠诚度无疑是非常有益的。
4)基于数据库支持的客户流失警示功能
企业的客户数据仓库将通过对客户历史交易行为的观察和分析,发挥警示客户异常购买行为的功能。如一位客户的购买周期或购买量出现显著萎缩变化时,就是潜在客户流失的迹象。客户数据库通过自动监视客户的交易资料,对客户的潜在流失现象作出警示。
5)基于Web数据仓库的信息共享功能
Web数据仓库将成为企业信息共享的基础架构。客户数据仓库应拥有可以通过浏览器使用的接口,以成为支持客户关系管理的基本架构,并且数据仓库要能够通过用户的简单点击就可以获得分析结果。用户对数据仓库的这种要求,正在改变着数据仓库的设计与实现方法。新兴的Web数据仓库已经不仅仅被单个用户独享,在多个用户之间共享已经渐成趋势,甚至连企业供应链之中的商业合作伙伴也运用Web数据仓库充当最适合于信息共享的媒介。CRM环境下连接分散单位的数据中心将会建成,在Web数据仓库的不同部分为实际数据的描述制定基于空间模型的统一标准结构,其关键在于Web数据仓库构造之初就为其所有部分确立一致的数据元,并通过一致的数据元实现数据仓库的总线体系结构。
7.3.3 客户数据仓库的系统结构
在CRM系统中实现数据仓库系统,是CRM系统成功的关键之一。在CRM系统中,客户数据仓库的系统结构如所示。
数据主要有四个方面的来源:客户信息、客户行为、生产系统和其他相关数据。这些数据通过抽取、转换和装载,形成数据仓库,并通过OLAP和报表,将客户的整体行为结果分析和企业运营分析等结果传递给数据仓库用户。
在数据仓库中,利用数据仓库的ETL工具,针对行为分组和寻找重点客户的需要,产生相应的数据集市。最后,将分析的结果与数据仓库结合起来,将分析结果与性能评价等传递给CRM用户。监控和调度系统负责调度行为分组系统和重点客户发现系统的运行更新。虽然数据仓库与CRM密不可分,但是CRM除了市场分析功能之外,还有销售和服务等方面的功能。不同的企业应该根据自己的实际情况,选择实现销售、服务和市场的策略。但无论如何,对于客户量巨大、市场策略对企业影响较大的企业,CRM要以数据仓库为核心。
7.3.4 客户数据仓库的设计
数据仓库的建立是一个复杂的、逐步完成的过程。数据仓库的模型设计包括分析建立企业模型、概念模型设计、逻辑模型设计、物理模型设计、数据仓库生成等5个步骤。
1)分析建立
企业模型企业模型是从企业的各个视点对企业数据需求以及数据间关系的抽象。通过将企业模型映射到(对应到)数据库系统,可以很快地了解现有数据库系统完成了企业模型中的哪些部分,还缺少哪些部分。然后我们再将企业模型映射到数据仓库系统,发现企业需要的(或可以构造的)主题。通过这样的过程完成对企业数据需求和现有数据的了解,达到明了原有系统和需要建设的主域间共性的目的。
2)概念模型设计
数据仓库概念模型设计首先应该通过对原有数据库系统的设计文档以及在数据字典中的数据库关系模式,获得对原有数据库系统的一个完整而深刻的理解。概念模型设计需要确定以下两点:
(1)系统的边界及主题域。从建立CRM数据仓库的初衷看来,决策者要进行的CRM分析主要有:客户特征分析、客户行为分析、客户信任程度分析、交易分析。要进行以上的分析,所需数据应包括:客户固定信息、产品销售信息、客户接触信息(客户服务信息)。于是,我们可以将系统的边界划分为包含客服子系统、产品销售子系统的集合。在系统边界划分的基础上,确定CRM数据仓库的三个基本主题:客户、产品、客服。
(2)技术准备工作。这一阶段的工作包括技术评估和技术环境准备。工作成果是技术评估报告、软硬件配置方案、系统总体设计方案。
3)逻辑模型设计
逻辑模型设计需要对概念模型中的每一个主题进行设计。逻辑模型实际上就是关系模型,它具有严格的数学基础——关系数据理论,概念简单、清晰,需要完成的任务就是将概念模型映射到关系模型。在关系模型中,基本的概念包括关系表、元组(关系表的一行)、属性(关系表的一列)、域(属性的取值范围)、主键(能够唯一表示一个数据行的键或键的组合)等。
4)物理模型设计数据仓库的物理模型就是逻辑模型在数据仓库中的实现模式。为了确定数据仓库的物理模型,设计人员必须做这样几个方面的工作:
(1)确定数据的存储结构。数据库管理系统往往都提供多种存储结构以供设计人员选用,不同的存储结构有不同的实现方式,各有各的适用范围和优缺点。由于目前数据仓库是以传统的数据库技术作为存储数据和管理资源的基本手段,每个主题在数据仓库中都是由一组关系表实现的,因此确定数据的存储结构主要是确定面向主题的数据表和对表的分割,适当引入冗余、细分数据等。
(2)确定数据的存放位置。同一个主题的数据并不要求存放在相同的介质上。在物理设计时,常常要按数据的重要程度、使用频率以及对响应时间的要求进行分类,并将不同类的数据分别存储在不同的存储设备中。重要程度高、经常存取并对响应时间要求高的数据就存放在高速存储设备上,如硬盘;存取频率低或对存取响应时间要求低的数据则可以放在低速存储设备上。
(3)确定存储分配。确定存储分配主要是对数据库管理系统提供的一些存储分配的参数进行处理,如块的尺寸、缓冲区的大小和个数等,一般要在对服务器和系统软件进行实际调试后才能确定出来。
5)数据仓库生成
这一阶段的工作是数据装载接口设计和数据装入。它解决的是从哪些地方如何进行数据抽取、数据清洗、统一数据格式以达到数据集成的目的等问题。
7.3.5 客户数据仓库的建设
在实施CRM系统的过程中,客户数据库或数据仓库占有重要的地位。客户数据仓库的价值所在,实际上也是客户关系管理的价值所在,就是客户数据仓库把分散在企业内外的关于客户的数据集成起来,向企业及其员工提供关于客户的总体的、统一的看法。数据仓库建设是一项有挑战性的工作,而客户数据仓库的建立不仅要遵循建立数据库的一般规律,而且要根据CRM的特征和要求特别注意以下几个方面:
1)数据信息收集和集成
在企业中,客户数据可能存在于各个环节或部门,客户数据仓库的建立必须把这些信息集成起来。为了更进一步地了解客户身份及其需求,并且对在恰当的时间、地点、价格下他们可能产生的需求做出预测,企业需要花费一些精力进行分析,因此产生了数据信息收集。成功地使用数据信息收集是CRM的重要步骤。
CRM的客户数据仓库需要把企业内外的客户数据集成起来。就客户数据集成来讲,企业需要对客户进行匹配和合并。来自不同信息源的客户数据的客户标识是不同的,造成了对同一客户进行匹配的困难。这时,常用模糊匹配的算法和方法寻找相同的记录,进行客户匹配。有时,还要利用其他的客户信息片段,如为了判断某客户的地址是否发生了变化,需要比较进行匹配的客户记录的信用卡号码、出生日期和地址。通过聚类和匹配,如果发现了几个匹配的记录,就需要对这些记录进行合并。
实际上,这也是实行客户关系管理的初衷,也就是把不同来源的信息合并在一起,产生对客户的总的看法,如账户信息、信用等级、投资活动、对直接营销的反应等。记录的匹配和合并的完整性与准确性是很重要的。如果没有对相同的客户进行匹配,企业就会把一个客户当作两个甚至更多的客户对待,企业的客户数量就被夸大了。另外,在建立客户数据仓库时,有时还要录入企业以外的数据,如人口统计数据、客户信用数据等,使得客户数据仓库的信息更加完整。
2)确保数据的质量
客户数据的收集和集成要对来自不同的信息源的客户数据进行匹配、合并和整理,因此是一项非常困难的工作。正因为如此,在客户数据仓库中确保数据的质量才显得更加重要。首先,在建立CRM数据库时,一定要确认由应用程序所生成的客户编码的唯一性;其次,对于客户匹配和建立完整、准确的客户数据仓库来讲,姓名和地址这两个信息片段是很重要的,一定要进行分解和规范化;最后,对那些企业想收集,但又没有一定结构且信息量比较大的数据一定要非常慎重,比如文本信息。即使来自各信息源的信息都是完整、准确的,而由于各信息源的数据格式可能并不相同,也需要对这些信息进行清理。对姓名和地址的解析和清理会提高客户匹配的质量,使得遗漏和错误匹配的几率大大减少。
3)按规则更新客户数据,保持对已有客户的统一看法
客户数据仓库的维护是逐渐更新而不是一次性完全更新的。这主要是因为数据仓库所利用的信息源中的历史数据经过一段时间后可能被擦掉,而如果每次更新都重新进行客户记录匹配和重新建立数据仓库则工作量太大。这就要求按照一定的规则进行客户数据的更新,同时保持对原有客户的统一看法。比较合理的做法是,在保留已有数据的基础上,每次更新时都加入新的数据。因此,在客户数据仓库的数据更新中,要首先识别新数据是关于新客户的还是关于数据仓库中已有客户的。如果是新客户的数据,那么就要给这个客户一个独立的标识,在数据仓库中插入一条新的记录;如果是已有客户的数据,那么就要对这些客户记录的相关信息片段进行更新。数据更新要求同步化是CRM数据仓库的特点之一。
4)数据仓库统一共享,以发挥最大作用
统一共享的客户数据仓库把销售、市场营销和客户服务的所有信息连接起来。如果不能结合与集成这些功能,CRM将不能达到理想的效果。横跨整个企业集成客户互动信息将会使企业从部门化的客户联络转向所有的客户互动行为都协调一致。如果一个企业的信息来源互相独立,那么这些信息会不可避免地出现重复、互相冲突等现象,这对企业的整体运作效率将产生消极的影响。为了使企业业务的运作保持协调一致,需要建立集成的CRM解决方案以使后台应用系统与前台以及电子商务的策略互相协调。而一旦建立了客户数据仓库,下一步便要使它们发挥最大价值,要保证让企业各类工作人员都能方便、快捷地得到相关数据。对于每个进入客户关系管理系统的客户资料,客户服务、销售和营销等部门都应很容易得到其数据,而企业管理决策者能够随时得到关于企业业务情况的分析和相关报告。
7.3.6 数据仓库应用的效益
分析数据仓库的设计开发是一个复杂的过程,需要投入大量的时间和巨额资金,同时还要承担很大的风险。那么在数据仓库应用之后,我们如何分析它的应用效益呢?对于数据仓库的应用效益,一般有两种分析方法:定性方法和定量方法。
1)实施数据仓库效益分析的定性方法
数据仓库给企业带来的收益无疑是多方面的和巨大的,其中很重要的一点是为决策者解决商业流程中存在的问题提供了良好的技术手段,管理决策人员可以用它获取信息。对数据仓库应用效益的定性分析需要考虑以下几个方面:
(1)是否能够提高产品质量、降低产品的生产成本?
提高产品质量、降低生产成本是企业最为关心的问题之一。因此,数据仓库的应用给产品质量和生产成本带来的变化是反映数据仓库应用效果的一个重要指标,但并不是所有实施数据仓库的企业都生产产品,对于自己不生产产品只是作为销售商或只是提供服务的企业,这个评价指标就不需要了。
(2)是否为客户提供了更好的服务?
数据仓库中记录了详细的客户资料,通过对客户资料的分析,可以针对不同的用户提供更恰当的服务,同时,可以达到保留客户、增加利润的目的。因此,是否为客户提供了更好的服务也是数据仓库实施效果好坏的评价标准。特别是对于销售型企业,客户服务质量的提高是建设数据仓库的一个最基本的目标。
(3)是否建立了企业内部的合作关系?
数据仓库还应该具备协调企业内部合作关系的效果。数据仓库为企业内部各个部门的协同合作提供了基础。各部门都能通过数据仓库了解自己在企业中的角色,以及自己的工作任务与同事的工作任务之间的关系,这样有助于员工的积极合作。因此,员工之间合作关系的改善情况也是评价数据仓库优劣的因素之一。
(4)是否能加快企业对市场的反应能力?
数据仓库中的历史数据能反映市场变化的过程,数据仓库的预测功能就是通过这些历史数据对未来的趋势作出估计。企业越早地掌握、了解预测信息,就越会对市场变化作出快速、及时的反应。因此,一个成功的数据仓库应用应该明显地提高企业的市场变化反应能力。
(5)是否能够改善管理能力?
数据仓库应该能提供更强的分析数据能力,而之前已经拥有这些数据的管理人员却无法直观地从数据中得到信息。有了数据仓库这一决策辅助工具,势必要提高管理人员的管理能力。那么,数据仓库的应用在多大程度上改善了管理人员的管理能力也就反映了数据仓库的性能及使用效果。
(6)是否既能管理细节数据又能管理概括数据?
数据仓库的数据管理应该是两方面的,因为数据仓库是在大量的细节数据基础上建立的,同时又将数据综合为不同级别的概括数据。相应地,利用细节数据可以辅助短期决策,利用概括数据可以辅助长期决策。因此,数据仓库对两种数据的管理程度以及对决策分析的帮助程度直接反映了数据仓库的应用效果。
2)实施数据仓库效益分析的定量方法
定性分析数据仓库系统成本和其给企业带来的效益,可以使决策者们从宏观的角度衡量数据仓库项目实施的成本和效益。但在微观角度,对数据仓库项目进行具体的、详细的、有效的定量分析同样是必须要做的一项工作。
评估投资回报的方法很多,这里主要介绍投资收益率ROI分析法。其中,收益现值为从数据仓库投入使用起每年的收益折成现值后的和。成本现值为从数据仓库投入使用起每年的投资成本折成现值后的和。也就是说,将总收益除以总成本,其中收益和成本统一为同一时期的价值标准。
对数据仓库进行ROI分析能反映出数据仓库的使用是否带来了价值。当ROI结果很高时,数据仓库的信息能够有效地用于制定决策。在这种情况下,管理人员往往以数据仓库中的信息作为赖以制定决策的唯一依据;如果没有数据仓库的支持,他们就无法进行决策,而且数据仓库给他们带来的好处并不是一次性的,而是会长期延续下去。定量计算的方法除了计算投资收益率外,还有回报周期、内部回报率和净现值等计算方法,可以根据不同的需要进行选择。
以上评价数据仓库应用效果的指标是通用的,不同的企业可以根据自己的情况增加新的评价标准,或者赋予不同的指标不同的权重,以突出其重要性。将定量分析和定性分析结合起来,可以较全面地分析数据仓库应用的效益和效果。
7.4 数据挖掘的基本概念
7.4.1 数据挖掘的定义
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取人们感兴趣的知识,这些知识是隐含的、事先未知的、潜在有用的信息。它是通过分析数据,发现数据内部的信息和知识的过程。随着数据库的广泛应用,数据挖掘的应用领域也越来越广泛。
数据挖掘的定义首先强调了数据挖掘的基础是大量数据,所以数据挖掘应该具有高效处理大量数据的能力。这也是目前数据挖掘技术的一个难题,一些算法在小数据集上效果很好,但数据量增加到一定程度,算法的实现代价过大、效率太低,甚至无法实现。同时,从定义中可以看出,数据挖掘处理的数据,特点是不完全的、有噪声的、模糊的、随机的。
数据挖掘是一个交叉学科,它涉及了多个学科的思想和方法,如数据库系统、数理统计学、人工智能、可视化和信息学科等。
7.4.2 数据挖掘的数据来源
数据挖掘常和数据仓库的概念同时出现,事实上数据挖掘并不是只能在数据仓库中进行。数据挖掘的数据来源是非常广泛的,可以是关系数据库、数据仓库、事务数据库以及高级数据库等。
1)关系数据库
关系数据库中的数据是最丰富、最详细的。因此,数据挖掘可以从关系数据库中找到大量的数据。基于关系数据库中数据的特点,在进行数据挖掘之前也要对数据进行清洗和转换。数据的真实性和一致性是进行数据挖掘的前提和保证。
2)数据仓库
数据仓库中的数据已经进行了清洗和转换,数据中不存在错误和不一致的情况,因此数据挖掘从数据仓库中获取数据后就不需要再进行这些数据处理工作了。尽管数据仓库工具对于支持数据分析是有帮助的,但仍需要数据挖掘工具进行更深入的自动分析。数据仓库、数据挖掘和联机分析处理共同构成了系统的决策支持模块。
3)事务数据
库数据仓库的工程是巨大的,对于企业来说也是不需要的。如果只是想进行数据挖掘,没有必要专门建立数据仓库。数据挖掘可以从事务数据库中提取数据。事务数据库中的每条记录代表一个事务。
在进行数据挖掘时,可以只将一个或几个事务数据库集中到数据挖掘库中进行挖掘。
4)高级数据
库随着数据库技术的不断发展,各种面向特殊应用的高级数据库系统已经出现。这些高级数据库包括了面向对象的数据库、空间数据库、时间和时间序列数据库、文本和多媒体数据库等新的数据库。
这些结构更为复杂的数据库为数据挖掘提供了更加全面、更加多元化的数据,也为数据挖掘技术提出了更大的挑战。
7.4.3 CRM中常用的数据挖掘算法
每一种数据挖掘方法都有多种算法来实现。现在,越来越多的人在从事数据挖掘算法的研究。如果没有挖掘算法将数据挖掘原理加以实现,那么所提出的所有方法和思想都将变得没有意义。下面将针对几种方法及其涉及的数据挖掘算法做详细的说明。
1)关联分析
要了解关联规则挖掘,首先要了解两个概念,即支持度和置信度。对于关联规则A=>B(表示如果A,那么B),支持度反映的是有足够多的数据可能支持这一规则,置信度反映的是这一规则的可信程度。
关联规则挖掘就是寻找强规则的过程。关联规则可以是单维的也可以是多维的,可以是单层的也可以是多层的,可以是布尔的也可以是量化的。下面我们将介绍一种典型的关联规则挖掘算法——Apriori算法。
Apriori算法是一个关于单维、单层、布尔规则的方法,因此它也是关联规则挖掘中形式最简单的方法。Apriori算法是一个逐层迭代寻找频繁集的方法。Apriori算法的性质是频繁项集的所有非空子集必须是频繁的。
关联规则挖掘不止可以处理单维、单层的简单模式,还可以进行多维规则、多层规则的挖掘,或者是基于约束的复杂挖掘等。关联规则可以发现数据库中不同商品的联系,进而反映顾客的购买习惯。关联规则是目前应用十分广泛的一种方法。
2)序列模式分析
序列模式分析和关联分析相似,其目的也是为了挖掘出数据间的联系,但序列模式分析的侧重点在于分析数据间的前后(因果)关系。以一个零售商的实例说明,如果数据挖掘系统在分析时按客户号而不是按交易号分组,并进一步将每组按时间分类,就得到。
3)分类分析
在这种情况下,决策树算法将用“EmploymentType”作为第二条判断条件。EmploymentType处分支得到两个叶子。它显示受雇于自己的人有较高的信用风险。当然这只是一个理想状况下的范例,但它演示了决策树如何利用已知的属性进行信用风险测试。事实上,对于每个信用申请者都有远远多过于此的属性,并且申请者的数量是庞大的。当一个实用问题的规模发展到如此地步,用人力去寻找判断好坏的标准将非常困难。
然而,分类分析则可以判断成百的属性、数以百万的记录,以建立描述规则的决策树。
4)聚类分析
将一组对象的集合分组成为由类似的对象组成的多个类的过程称为聚类。分组后得到的相同类中的对象相似,而不同类中的对象相异。聚类分析的应用十分广泛,在商务上,聚类可以通过顾客数据将顾客信息分组,并对顾客的购买模式进行描述;在生物上,聚类可以通过对基因排列的分类,发现特定的基因组合导致怎样的特征或病症。同时,聚类分析也常常作为数据挖掘的第一步,对数据进行预处理,然后用其他算法对得到的类进行进一步分析。
聚类分析主要有基于划分的方法、基于层次的方法、基于密度的方法、基于网格的方法、基于模型的方法等几种方法。还有一些算法是将几种方法结合起来应用的。
基于层次的聚类
基于层次的聚类分为凝聚的层次聚类和分裂的层次聚类两类。凝聚的层次聚类是对于给定的数据集合,将每个对象作为一个簇,然后根据某些准则(比如平均距离最小准则)被一步步合并,直至所有的对象最终合并成一个簇。分裂的层次聚类是凝聚的层次聚类的逆过程。对于给定的数据集合,将所有对象作为一个簇,然后根据某些准则被一步步分裂,直至每个对象成为独立的一个簇。是两种层次聚类方法的示例。
层次聚类层次聚类的方法原理和执行都较为简单,但结点一旦凝聚或分裂就不能取消。因此一步错误的凝聚会导致整个聚类结果质量的下降。层次聚类的方法也有许多改进算法,比如BIRCH(利用层次方法的平衡迭代归约和聚类)、Chameleon(变色龙)、CURE、DBSCAN等。
对聚类分析方法的评价需要考虑以下几个方面:算法的可伸缩性,即处理大量数据的能力;处理不同类型属性的能力,因为数据属性并非都是数值型;处理孤立点的能力,好的聚类算法对孤立点应当是不敏感的;发现聚类形状的能力,聚类得到的簇应该可以是任意形状的,而有些算法是将簇的形状假设为球状的;处理高维数据的能力;聚类算法的可解释性等。
针对数据特性的不同,在进行聚类分析时应根据算法的特点选择合适的聚类算法,并没有万能的最优算法。因此,根据需要对现有算法进行改进也是一项挑战。
5)孤立点分析
孤立点又叫噪声,是数据库中与数据的一般模式不一致的数据对象。孤立点的存在有很多原因,比如收集数据的设备出现故障、人为输入时的输入错误、数据传输中的错误等,但数据挖掘前会对数据进行清理、转换,解决数据的错误和不一致,所以孤立点更多的时候表现的是一种特殊的、与众不同的对象或模式。这时孤立点的信息就显得十分重要了。如果一味地在算法中将孤立点去掉或忽略有可能失去重要的信息。孤立点分析就是专门挖掘这些特殊信息的方法。
孤立点分析主要包括了基于统计的孤立点检测、基于距离的孤立点检测等多种方法。基于统计的孤立点检测是运用统计学知识进行假设检验找到孤立点的方法,但数据的分布函数并不总是已知的或可以假设的,而且统计的方法只能用于一个属性,对于多维数据的孤立点分析就不合适了。
基于距离的孤立点检测是找到在周围的一定范围内没有足够多的点的对象。首先要给定对象数目和邻域半径,然后搜索每个点,如果存在一点,在给定半径的邻域内没有足够多的点(也就是点的数目小于给定的对象数目),则称这一点为孤立点。
孤立点检测的目的是找到特殊的点,进而发现特殊的行为模式,因此被广泛应用于信用卡诈骗、电话盗用等诈骗活动的发现中。
7.4.4 数据挖掘与联机分析处理的比较
数据挖掘与OLAP都是数据仓库的分析工具,但两者之间有着明显的区别。前者是挖掘型的,后者是验证型的。前者建立在各种数据源的基础上,重在发现隐藏在数据深层次的对人们有用的模式,并做出有效的预测性分析,一般并不过多考虑执行效率和响应速度;后者建立在多维视图的基础之上,强调执行效率和对用户命令的及时响应,而且其直接数据源一般是数据仓库。
数据挖掘能自动地发现隐藏在大量数据中的隐含模式,它与其他分析型工具最大的不同在于它的分析过程是自动的。一个成熟的数据挖掘系统除了具有良好的核心技术外,还应该具有开放型的结构,友好的用户接口。数据挖掘的用户不必提出确切的问题,而只需利用挖掘工具去挖掘隐藏的模式并预测未来的趋势,这样更有利于发现未知的事实。
OLAP是一种自上而下、不断深入的分析工具,由用户提出问题或假设,OLAP负责从上至下深入地提取出关于该问题的详细信息,并以可视化的方式呈现给用户。与数据挖掘相比,OLAP更多地依靠用户输入问题和假设,但用户先入为主的局限性可能会限制问题和假设的范围,从而影响最终的结论。因此,作为验证型的分析工具,OLAP更需要对用户需求有全面而深入的了解。
显然,从对数据分析的深度来看,OLAP位于较浅的层次,而数据挖掘所处的层次则较深,数据挖掘可以发现OLAP所不能发现的更为复杂而细致的信息。尽管数据挖掘与OLAP存在着上面的差异,但作为数据仓库系统工具层的组成部分,两者是相辅相成的。
7.4.5 数据挖掘的基本步骤
数据挖掘包括确定分析和预测目标、建立数据挖掘库、分析数据、建立模型、模型评估与验证、模型实施等几个基本步骤。具体过程如所示。
1)确定分析和预测目标
这是数据挖掘的第一步,确定分析和预测目标相当于需求分析,主要是明确业务目标。只有确定了分析目标才能提取数据、选择方法,因此,确定分析和预测目标是数据挖掘的基础条件。数据挖掘的实施过程也都是围绕着这个目标进行的。同时,定义了数据挖掘的分析目标也就定义了评价这一挖掘模型的标准。比如,数据挖掘的目标是找到高价值客户,根据数据挖掘得到的规则能否正确发现高价值客户,或者说,挖掘出来的高价值客户中有多少是真正的高价值客户就成为评价挖掘模型的最重要的标准。
2)建立数据挖掘库
建立数据挖掘库是数据挖掘过程中较为复杂的一步。首先要进行数据收集,在前面我们介绍了数数据挖掘的基本步骤据挖掘的数据来源,数据挖掘可以从关系数据库、数据仓库、事务数据库或高级数据库中收集数据。
对于收集到的数据,应对数据的来源、大小、存储位置和数据在使用上的限制等进行详细的记录。完成数据收集后,要对数据进行描述,比如数据包含哪些属性、共有多少条记录、属性名称、有多少不完整的记录和不完整的记录缺少的是哪些属性等。数据挖掘库可以是一个单独的数据库,也可以和数据仓库建立在相同的物理介质上。数据挖掘库中还应包括数据的元数据。
3)分析数据分析
数据即对数据挖掘库中的数据进行分析,比如计算数据的平均值、标准差等统计信息,以便发现数据的分布情况。对数据有了全面、细致的了解以后,就可以针对数据挖掘分析目标选择合适的变量和记录。对于变量的选择,首先要考虑对结果有影响、可以反映结果的变量。
4)建立模型
建立模型是选择合适的方法和算法对数据进行分析,得到一个数据挖掘模型的过程。建立模型时选择正确的方法和算法是必需的。建立模型是一个反复进行的过程,它需要不断地改进或更换算法以寻找对目标分析作用最明显的模型,最后得到一个最合理、最适用的模型。
5)模型评估与验证
为了验证模型的有效性,选择最优的模型,一般会将数据集分为两部分,一部分用于建立模型,另一部分则用于测试模型。因为如果用相同的数据对模型进行建立和测试,可信度就不高了。为了保证模型的有效性和可用性,对模型的测试也是一个反复进行的过程。对模型的验证主要需要考虑以下几个方面:
(1)模型的准确性。对数据挖掘模型来说,模型的准确性是最重要的。利用各种验证方式对模型进行测试的主要目的也是为了验证模型的准确性。
(2)模型的可理解性。模型在准确的基础上还应该容易理解,比如数据挖掘人员了解不同的输入对结果的影响,预测成功或失败的原因等。同时,挖掘结果也应该具有可理解性。如果挖掘算法将数据进行了分组,或预测了数值,但这些分组和预测的数值没有任何作用,或不容易理解分组后数据的关系,这样的模型都缺乏可理解性。
(3)模型的性能。模型的性能主要是指运行的速度、输入结果的速度、实现代价、复杂度等。
运用不同的算法,产生的模型的性能也是不同的。对于数据挖掘模型来说最好的模型是在准确和可理解的基础上,追求模型的高性能。
模型建立和模型检验是一个反复的过程。如果模型检验后发现模型效果不是很好,就要对模型进行修改甚至重新建模,直到建立的模型通过验证和评估为止。
6)模型实施
模型建立并通过验证以后就是具体实施了。模型的实施有两种情况:一种是将数据挖掘模型得到的结果提供给信息需求者或者管理者,以辅助管理者的决策分析;还有一种情况就是保留模型,以后每遇到类似问题就用这个模型进行分析,或者将模型用于不同的数据集上(这些数据分析需要采用相同的方法)进行分析。
在模型的使用过程中,随时间及环境的变化,还应对模型进行重新测试,并对模型进行相应的修改,这就是模型维护的过程。
7.5 数据挖掘在CRM中的应用
7.5.1 数据挖掘在客户分类中的应用
客户分类是指将所有的客户分成不同的类的过程。对客户进行分类有利于针对不同类型的客户进行客户分析,分别制定客户服务策略。
客户分类可以采用分类的方法也可以采用聚类的方法。分类的方法是预先给定类别,比如将客户分为高价值客户和低价值客户,或者分为长期固定客户和短期偶然客户等。然后确定对分类有影响的因素,将拥有相关属性的客户数据提取出来,选择合适的算法(如决策树、神经网络等)对数据进行处理得到分类规则。经过评估和验证后就可将规则应用在未知类型客户上,对客户进行分类。聚类的方法则是一种自然聚类的方式,在数据挖掘之前并不知道客户可以分为哪几个类,只是根据要求确定分成几类(有些算法需要人为确定输出簇的数目)。将数据聚类以后,再对每个簇中的数据进行分析,归纳出相同簇中客户的相似性或共性。
比如,银行在长期的金融服务中,积累了大量的数据信息,包括对客户的服务历史、对客户的销售历史和收入,以及客户的人口统计学资料和生活方式等。银行必须将这些众多的信息资源综合起来,以便在数据库里建立起一个完整的客户背景。在客户背景信息中,大批客户可能在存款、贷款或使用其他金融服务上具有极高的相似性,因而形成了具有共性的客户群体。经过聚类分析,可以发现他们的共性,掌握他们的投资理念,提供有针对性的服务,进而引导他们的投资行为,提高银行的综合服务水平,并可以降低业务服务成本,取得更高的收益。通过客户细分,可以使银行准确地把握现有客户的状况,采取不同的服务、推销和价格策略来稳定有价值的客户,转化低价值的客户,消除没有价值的客户。
客户分类可以对客户的消费行为进行分析,也可以对顾客的消费心理进行分析。企业可以针对不同行为模式的客户提供不同的产品内容,针对不同消费心理的客户提供不同的促销手段等。客户分类也是其他客户分析的基础,在分类后的数据中进行挖掘更有针对性,可以得到更有意义的结果。
7.5.2 数据挖掘在客户识别和客户保留中的应用
1)数据挖掘在客户识别中的应用
识别客户是企业发现潜在客户、获取新客户的过程。新客户包括以前没听过或没使用过企业产品的人、以前不需要企业产品的人甚至是竞争对手的客户。由于新客户的信息企业掌握的并不多,所以企业应采取一些必要的手段(如在实行广告宣传的同时进行调查问卷或网上调查等)来获取潜在客户的信息,这些信息应该包括地址、年龄、收入范围、职业、教育程度和购买习惯等。
在得到这些相关信息后,企业应该通过一些小规模的实验观察潜在客户对企业产品的不同反应。
根据反馈结果建立数据挖掘预测模型,找到对产品最感兴趣的客户群,挖掘结果会显示潜在客户的名单,同时可根据潜在客户的信息分析出哪种类型的人最可能是潜在客户。得到了这样的分析结果后,在寻找潜在客户时就有了指导方向。比如,分析结果表明大多数潜在客户都是年龄在25~35岁之间的外企职员,那在下一步宣传和获取客户阶段就应该有针对性地设计广告和确定宣传地点。同时,还可以根据潜在客户的特点分析企业产品的优势。
2)数据挖掘在客户保留中的应用
客户识别是获取新客户的过程,而客户保留则是留住老客户、防止客户流失的过程。由于企业对老客户的信息掌握得比较详细,而对潜在客户的信息掌握得很少,所以对于企业来说获取一个新客户的成本远比保留一个老客户的成本高得多。而且在目前开放的商业环境下,企业间竞争越来越激烈,客户保留也就成为企业面临的一个重要的难题。
在客户保留过程中,首先要对已经流失的客户数据进行分析,找到流失客户的行为模式,同时分析客户流失的原因。比如,一家超市的大量流失客户都居住在同一地区,那么可能的情况是公交车线路的改变使客户选择了其他交通更方便的超市,如果住在那个地区的客户足够多,针对这种情况,超市就应该增加一辆免费购物车,这样不但会挽留原有客户还有可能获取新客户。还有的可能是因为那个地区附近新开了一家超市,此时就应该在该地区发布更有吸引力的广告以达到保留客户的目的。
根据已经流失的客户的特点还可以预测现有客户中有流失倾向的客户。对于这些客户企业应该及时调整服务策略,针对用户分类时得到的用户特点采取相应的措施挽留客户。挽留一个老客户,竞争对手就减少了一个新客户,同时流失一个客户就为竞争对手带来了一个新客户。因此,客户保留是客户关系管理中极为重要的一个部分。
在客户识别和客户保留过程中可以运用关联分析和序列模型分析等方法进行决策分析。
7.5.3 数据挖掘在客户忠诚度分析中的应用
客户忠诚度是提高企业客户关系管理的一个重要目标。忠诚度高的客户会不断地购买企业产品或服务,不论产品或服务的质量是不是最好,价格是否有折扣。企业获得一个忠诚客户无疑会大大降低成本(广告成本、折扣成本等),同时会提高企业的竞争力(因为忠诚客户只购买你的产品而排斥你的竞争对手的产品)。
数据挖掘在客户忠诚度分析中主要是对客户持久性、牢固性和稳定性进行分析。客户持久性反映的是客户在企业连续消费的时间。客户牢固性反映的是客户受各种因素(如价格、广告宣传等)的影响程度。牢固性高的客户受各种因素的影响较小,始终购买同一企业的产品或服务,而有些顾客只在促销、打折或大规模宣传时才购买该企业的产品或服务,他们的牢固性相对较低。客户稳定性是客户消费周期和频率的表现,每隔一段时间就购买一次该企业产品的客户被认为是稳定的,而那些偶尔购买、购买时间随机的客户被认为是不稳定的。这三个指标综合起来可以反映客户的忠诚度。
比如,零售企业经常通过办理会员卡、建立顾客会员制度的方式来跟踪顾客的消费行为。通过对顾客会员卡信息进行数据挖掘,可以记录顾客的购买序列,将同一顾客在不同时期和不同营销活动中购买的商品分组为序列,对序列模式进行数据挖掘可用于分析顾客的购买趋势,从而对顾客的忠诚度进行区分,同时可以预测出顾客忠诚度的变化,据此对价格、商品的种类以及销售策略加以调整和更新,以便留住老客户,吸引新客户。
对客户持久性、牢固性和稳定性的分析主要是运用时间序列模型中的趋势分析方法。趋势分析包含了趋势走向、周期走向与变化、季节性走向与变化、不规则的随机走向几个方面的分析。通过趋势分析可以了解客户在过去一段时间内的消费趋势。结合数据的分析结果和预测结果就可以判断一个客户的持久性、牢固性和稳定性,继而确定客户的忠诚度。
7.5.4 数据挖掘在客户盈利率分析中的应用
客户盈利率是一个定量评价客户价值的指标。它是根据规定的评价尺度,通过对客户数据计算得到一个确定结果的过程,因此客户盈利率的计算并不需要数据挖掘。数据挖掘技术在客户盈利率分析中的应用主要体现在“分析”。企业可以运用数据挖掘技术预测在不同的市场竞争环境和市场活动环境下客户盈利率的变化。客户盈利率分析的目的是找到那些“高价值”的客户,并针对这些高价值的客户进行更深层、更细致的客户关系管理。客户盈利率分析中,数据挖掘的应用目的是找到最合适的市场环境,使企业的客户盈利达到最优。
客户盈利率的概念否定了“给企业带来的总收入越高的客户价值越大”的观点。高价值客户是那些企业投入较少成本就可以获得高收益的客户。这个概念同时反映了提高客户忠诚度的重要意义。
研究表明,一个企业80%的利润是由只占其客户总数20%的客户创造的,这部分客户就是有价值的优质客户。为了弄清谁才是有价值的客户,就需要按照客户的创利能力来划分顾客,进而改进客户关系管理。应用数据挖掘技术来解决这个客户分类问题是相当有用的。
就银行业来说,客户数量并不是越多越好,并不是所有的客户都是有价值的,即不是所有的客户都会给银行带来利润,有些客户只会增加银行的成本,而不会给银行带来利润。为了识别出最有价值的客户,银行可以选取客户为银行带来的净收入和风险值作为输入变量,分别确定收入和风险的分割值,即高、低收入和高、低风险的分界值,运用决策树方法,将客户分为四类:(1)低风险高收入客户,这是最有利润的客户,也是各行业争夺的对象,要好好把握住;(2)高风险高收入客户,这仍是有利润的客户,但具有高风险性,可以通过提高定价,把他们转变成最有利润的客户;(3)低风险低收入客户,这是具有挑战性的客户,可以对其采取收取年费等措施来使银行获利;(4)高风险低收入客户,这是最没有价值的客户,银行应该识别出这些客户,并采取措施将其从客户关系中排除。
对于忠诚度高的客户,企业不必花费额外的成本吸引客户,而他们给企业带来的效益是很高的(因为他们不会只选择促销产品,或在产品打折时消费)。因此,客户忠诚度越高,企业的客户盈利率也越高。所以,数据挖掘在分析客户忠诚度的过程中也对客户盈利率的提高有一定的影响。
7.5.5 数据挖掘在个性化营销中的应用
个性化营销是面向客户的营销,也是客户关系管理的重要组成部分。个性化营销是在客户分类的基础上进行的。针对不同类型的客户,企业可以采用不同的政策和销售方式。交叉销售也是个性化营销的一种形式。交叉销售和购物篮分析不同,购物篮分析是对客户已经购买的产品进行分析,找到产品之间的联系,而交叉销售是根据客户已经购买的产品预测他将要或可能要购买的新产品。数据挖掘技术的应用目标是建立预测模型,找到适合交叉销售的商品。比如,保险公司的交叉营销策略——保险公司对已购买某险种的客户推荐其他保险产品和和服务。这种策略成功的关键是要确保推销的保险险种是用户所感兴趣的,否则会造成用户的反感。有几种挖掘方法可以应用于此问题,关联规则分析能够发现顾客倾向于关联购买哪些险种,聚类分析能够发现对特定产品感兴趣的用户群,神经网络、回归等方法能够预测顾客购买该产品的可能性。
通过对CRM中数据挖掘的应用的介绍可以看出,在CRM中的各个方面几乎都要用到数据挖掘技术。CRM要求对大量的客户数据进行分析和管理,而数据挖掘技术刚好提供了这样一个分析工具。
因此,数据挖掘技术的正确应用对CRM系统功能的全面实现具有重要的意义。
7.5.6 数据挖掘工具及其选择
1)数据挖掘工具
要进行数据挖掘,当然需要工具。但若靠传统的自我编程来实现,未免有些费时费力,而且其性能也不一定比商业工具强和稳定。目前,世界上已经有很多商业公司和研究机构开发出了各自的数据挖掘产品,而且功能和使用简易性也在日益提高,如SAS公司的Enterprise Miner以及IBM公司的Intelligent Miner等。直接采用商业数据挖掘工具来帮助项目实施是一个很好的选择,它既节省了大量的开发费用,又可以节约维护和升级的开销。
数据挖掘工具包括数据挖掘工具和文本挖掘工具。数据挖掘工具主要是用来进行预测、聚类分析、关联分析、时间序列分析以及统计分析等。文本挖掘工具主要是应用在市场调研报告中或呼叫中心的客户报怨定级、专利的分类、网页的分类以及电子邮件的分类等。一般而言,目前市场上这些数据挖掘工具又可分成两类:企业型工具以及小型工具。
2)数据挖掘工具的选择
一般说来,对数据挖掘工具的选择可从以下几点着眼:
(1)公司的数据挖掘需求是短期行为还是长期使用如果是短期行为,就购买那些能解决特定问题的软件包或外包给咨询公司;如果是长期使用,就需要购买功能比较丰富、使用比较方便、维护升级比较好的企业型数据挖掘工具。
(2)公司的数据挖掘经验和水平公司应该根据内部数据挖掘团队的经验和水平,选取一些经过基本培训后就能掌握的工具,而不要盲目求好,最终导致因不会使用工具而将其束之高阁,从而造成资源的浪费。
(3)公司的数据状态在挑选数据挖掘工具前,公司必须对现有的数据进行评估。如果没有具备进行业务主题数据挖掘(如风险预测)的数据或者现有格式不能满足数据挖掘工具的需求,那就需要等数据具备了,才可考虑购买工具。
(4)公司的预算当然,在评估数据挖掘工具时,公司也要结合自身的财务预算来决定。
(5)工具的性能好的工具可以更有效地挖掘出准确和高价值的信息,所以工具性能的评估也是相当重要的。
7.6 商业智能
7.6.1 商业智能的定义
商业智能是从大量的数据和信息中挖掘有用的知识,并用于决策以增加商业利润,是一个从数据到信息再到知识的处理过程。商业智能用来辅助商业活动做出快速反应,加快知识的获取速度,减少企业不确定性因素的影响,因此能更好地满足管理层和决策层对信息知识的时间性和准确性的要求。
商业智能系统可以说是一个智能决策支持系统,它不是一种产品或服务。从某种意义上讲,商业智能是一种概念或者说是一种商业理念,它是在企业数据仓库的基础上,利用数据挖掘和信息挖掘工具获取商业信息,以辅助和支持商业决策的全过程。通过商业智能技术,用户可以更充分地了解他们的产品、服务、客户以及销售趋势。目前在国外,商业智能软件与办公软件、浏览器一起已经成为企业必不可少的桌面办公软件之一。商业智能在我国尚处于起步阶段,商业智能系统适合应用的行业依次是:零售、保险、银行、通信、离散制造、政府、医疗、分销、流程制造、教育。然而,从各种资料上看,商业智能、数据仓库和客户关系管理在我国只在少数的银行、保险、电信行业有实施的案例。
商业智能是提高企业运营性能而采用的一系列方法、技术和软件的总和,是帮助企业提高决策能力和运营能力的概念、方法、过程以及软件的集合。
7.6.2 商业智能系统的构成
商业智能系统由业务数据仓库系统、决策支持系统等部分构成,如所示。决策支持系统即DSS由3个层次的内容组成:数据仓库、联机分析处理和数据挖掘。各个业务数据库的数据通过提取、清洗和转化整理之后按照不同的主题存放在数据仓库中,原先存放在多个业务系统中的反映企业局部情况的数据经过整理后转化成反映企业整体情况的信息,这样就完成了“数据→信息”的转变。
商业智能系统的数据处理循环存放在数据仓库中的信息通过OLAP和DM处理后,形成带有规律性的、能够对企业运营提供指导意义的知识,从而完成“信息→知识”的转变。企业的决策层可以利用OLAP和DM处理得到的知识制定相应的策略,并反馈到业务系统中,最终改善企业的运营。比如,超市通过分析近期畅销的商品制订近期的采购计划,确保超市采购的商品能够适销对路。
7.6.3 商业智能与DSS、EIS(经理信息系统)的区别
商业智能作为一种新兴的决策支持体系,与传统的DSS、EIS相比,在以下方面存在明显的优势:
(1)使用对象范围:商业智能的使用对象不再像DSS、EIS那样仅仅局限于企业的领导与决策分析人员,而是扩展到了企业组织内外的各类人员,为他们提供决策支持服务,既有企业经理一类的企业领导和高层决策者,又有企业内部各部门的职能人员,还包括客户、供应商、合作伙伴等企业外部用户。
(2)具有的功能:从以上分析看出,商业智能具有传统DSS、EIS所不具有的强大的数据管理、数据分析与知识发现能力。
(3)知识库状态:传统的DSS、EIS中的知识库是在建立的系统中设置好的,库中的知识很少发生变化。即使发生变化,也采用定期认为更新的方法修改。而商业智能系统是一个闭合循环的动态系统。
当然商业智能也存在不足。商业智能的目标与DSS一样,是为了提高企业决策的效率和准确性。
但商业智能是通过数据分析和知识发现工具提供有价值的、辅助决策的信息和知识,用户必须根据这些信息和知识,运用现有的知识和经验进行判断,做出决定,极少数具备智能决策的能力,不像专门的决策支持系统那样提供方案生成、方案协调、方案评估等功能,更不具备群体决策的能力。
7.6.4 商业智能的发展
随着应用的不断深入,市场需求对BI提出了新的挑战,Internet、IT技术以及人工智能的不断发展,则为BI的不断完善提供了强大的技术支持。未来,BI有望进一步获得长足发展,从根本上改变决策方式。具体来说,BI未来的发展将集中于以下几点:
1)支撑技术
基于关系对象数据库的数据仓库将是未来的一个发展方向,数据仓库的平台性能将得到很大改善。数据挖掘方法和算法研究将更加深入,专门用于知识发现的数据挖掘语言有望进一步向标准化发展。基于数据仓库的数据挖掘与OLAP将实现融合和互补,从而使分析操作智能化,使挖掘操作目标化。信息可视化进程将进一步发展,以提供更优的洞察力。对非结构化数据的处理和分析,比如文本挖掘和Web挖掘的能力将大大增强。
2)体系结构
BI方案的协同性和开放性将进一步提高。企业能够利用合作伙伴的数据仓库或Intranet系统中的多维数据集进行决策分析活动,并且OLAP及其他BI的应用以Web服务形式提供,以XML形式发放BI应用的分析结果是新的发展趋势。
3)应用系统
BI系统将更具专业化和行业化的特点,笼统的BI系统渐渐成为概念,BI根据每个领域关注的重点和分析模型,提供针对具体企业进行扩展的解决方案。各种商业分析模型、数据挖掘算法将集成到BI软件和分析应用之中,从而能够集中解决不同部门的需要。同时,BI应用与企业门户、企业应用集成紧密相联,新的BI系统不再是一个孤立的应用。
7.6.5 客户智能
1)客户智能的定义
客户智能是创新和使用客户知识,帮助企业提高优化客户关系的决策能力和整体运营能力的概念、方法、过程以及软件的集合。客户智能可以从以下5个方面进行理解:
(1)理论基础,是企业对客户采取决策的指导依据,这既包括企业分析和对待客户的理论和方法,也包括分别从客户和企业角度进行的价值分析。通过客户分类、客户行为分析、市场预测分析等达到决策科学化、合理化的目的。
(2)信息系统层面,又称为客户智能系统的物理基础,表现为具有强大决策分析功能的软件工具和面向CRM的信息系统平台。
(3)数据分析层面,是一系列算法、工具或模型。首先获取与所关心主题有关的高质量的数据或信息,然后自动或人工参与使用具有分析功能的算法、工具或模型,帮助企业分析信息、得出结论、形成假设、验证假设。
(4)知识发现层面,与数据分析层面一样,是一系列算法、工具或模型。将数据转变成信息,而后通过发现功能,将信息转变成知识,或者直接将信息转变成知识。
(5)战略层面,将信息或知识应用于提高决策能力和运营能力、企业建模等。客户智能的战略层面是利用多个数据源的信息以及应用经验和假设来提高企业决策能力的一组概念、方法和过程的集合。它通过对数据的获取、管理和分析,为贯穿企业组织的各种人员提供知识,以提高企业的战略决策和战术决策能力。
总之,客户智能的目标是将企业所掌握的信息转换成竞争优势,提高企业决策能力、决策效率、决策准确性。为完成这一目标,客户智能必须具有实现数据分析到知识发现的算法、模型和过程,决策的主题具有广泛的普遍性。
2)客户知识
客户知识,顾名思义,是有关客户的知识。客户知识包括客户的消费偏好、喜欢选用的接触渠道、消费特征等许多描述客户的知识。客户知识是人们通过实践认识到的、与客户有关的规律性,而客户智能是获得客户知识并使用客户知识求解问题的能力。客户智能是对企业战略决策真正有价值的事物和行动。生成客户知识的过程称为客户知识的加工处理过程,客户智能不仅包括了客户知识的生成,而且强调了客户知识在企业中的分发、使用,直到产生客户智能。
客户智能的生成、分发、使用
(1)客户知识的生成:使用商业智能提供的OLAP分析工具、数据挖掘工具或两种工具的组合,发现存在于客户数据中的模式、规则、概念、规律的整个过程,称为客户知识的生成。
相比较而言,数据挖掘工具的使用难度较大,包括确定任务、选择合适的挖掘工具(数据准备、挖掘算法、结果解释等),以及明确哪部分任务必须有营销专家参与,哪部分可以自动执行。
(2)客户知识的分发:客户知识必须到达组织内每一个需要客户知识的部分,将客户知识存储于动态知识库,借助CRM的系统平台,将客户知识分发到需要的终端。
(3)客户知识的使用:将客户信息和知识投入使用是CRM的最后一个环节。许多CRM和知识发现没有成功,很大程度上在于产生的与客户有关的信息和知识不能投入使用。CRM通过营销、销售、客户服务和支持与客户打交道,客户知识通过它们的使用与集成,作用于客户。这些工作不单是一个合理的信息结构所能完成的,需要与之整合的工作流技术做支撑。
小知识7—1
商业智能正处于蓬勃发展时期据
IDC最新研究:目前商业智能解决方案在中国的市场价值将达到约4.38亿美元,增幅达41%,超出业界平均水平的3倍,这说明了中国商业智能正处于蓬勃发展的时期。预计在2008年,亚太地区(日本除外)商业智能解决方案市场有望增长到12亿美元。
目前,已经有越来越多的企业开始高度关注商业智能。这不仅包括IBM、Oracle、BO、SAS、Sibel等商业智能平台厂商,还包括各种行业用户,特别是银行、证券、信托、保险等具有大量用户信息的金融行业用户。商业智能不是一种普通的软件应用平台,而是一项智能决策系统,是一项相对专业的技术。
本章小结
数据仓库是一个面向主题的、集成的、非易失的、随时间变化的数据集合,用于支持管理决策,通过数据抽取、数据清理、数据转化等过程将源数据转化为一致性数据存储在数据仓库中。目前,数据仓库在证券业、银行业、保险业、税务等领域的贡献尤其突出。联机分析处理具有灵活的分析功能、直观的数据操作和分析结果可视化表示等突出优点,从而使用户对基于大量复杂数据的分析变得轻松而高效,以利于迅速做出正确判断。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取人们感兴趣的知识,这些知识是隐含的、事先未知的、潜在有用的信息。
CRM中的客户分类、客户盈利率分析和客户识别与客户保留等功能都需要数据挖掘的应用来实现。
复习思考题
7.1 数据仓库的定义是什么?分别介绍数据仓库的四个特点。
7.2 客户数据仓库的功能有那些?
7.3 数据挖掘的定义是什么?数据来源有那些?
技能实训题
7.1 数据仓库与数据库有何区别?
7.2 简述数据挖掘与OLAP的区别。
7.3 简述商业智能系统的构成。