[转载]商业智能的三个层次
商业智能的三个层次
一、什么是BI?
经过几年的积累,大部分中大型的企事业单位已经建立了比较完善的基础信息化系统。例如我们常说的CRM、ERP、OA等(图二pic2.jpg)。这些系统的统一特点都是:通过业务人员或者用户的操作,最终对数据库进行增加、修改、删除等操作。有一个术语:OLTP(Online Transaction Process)在线事务处理,指的就是这类系统。
OLTP的系统运行了一段时间以后,必然的结果就是:帮助企事业单位收集大量的历史数据。但是,在数据库中分散、独立存在的大量数据对于业务人员来说,只是一些无法看懂的天书,没有人会去拿放大镜分析数据库服务器硬盘上的磁轨。业务人员所需要的是信息,是他们能够看懂、理解并从中受益的抽象信息。此时,如何把数据转化为信息、使得业务人员(包括管理者)能够充分掌握、利用这些信息,并且辅助决策,成为了近年来非常受关注的话题。这就是商业智能主要解决的问题。
我们可以这样理解:商业智能(Business Intelligence)是一种解决方案,它从OLTP业务系统中抽取历史数据、进行分析、挖掘,从中提取出业务人员可以理解的信息,此后,把这些信息提供给业务人员,辅助决策。
我与很多朋友讨论时提及“商业智能”这个术语,很多朋友没有听说过。但是,当我说起“数据整合、数据分析、决策支持”时,大家就都很有感触地找到共同话题了。实际上,商业智能就是数据整合、数据分析、决策支持的总称:
Business Intelligence = Data à Information
商业智能 = 数据 à 信息
二、BI的三个层面
不管你是否听说过商业智能这个术语,实际上,你已经用过它了。而且已经用了很久了。
我们刚才提过,数据库中存在的是数据,对于业务人员来说,只是一些无法看懂的天书,没有人会去拿放大镜分析数据库服务器硬盘上的磁轨。他们需要的是信息。那么,我们以前如何解决这个矛盾的呢?大部分的答案是报表系统。简单说,业务人员看到的是美观的界面,便捷的操作,鼠标点击后,报表系统生成一种叫做SQL语句的编码,数据库服务器收到以后,返回所需要的信息。不错,报表系统已经可以称作是BI了,它是BI的低端实现。
现在国外的企业,大部分已经进入了中端BI,叫做数据分析,有一些企业已经开始进入高端BI,叫做数据挖掘。而我国的企业,目前大部分还停留在报表阶段。这是一个差距,同时也是一个机会。
数据报表、数据分析和数据挖掘是BI的三个层次。(图三:pic3.jpg)
三、数据报表:Data Reporting
传统的报表系统技术上已经相当成熟,大家熟悉的Excel,水晶报表,Reporting Service等都已经被广泛使用。因此本文不准备过多讨论报表技术。
但是,随着数据的增多、需求的提高,传统报表系统面临的挑战也越来越多,例如:
1、数据太多、信息太少
密密麻麻的表格堆砌了大量数据,到底有多少业务人员仔细看着每一个数据?到底这些数据代表了什么信息,什么趋势?越高级别的领导,越需要简明的信息。如果我是董事长,我可能只需要一句话:目前我们的情况是好、中还是差?
2、难以交互分析、了解各种组合
定制好的报表过于死板,例如,我们可以在一张表中列出不同地区、不同产品的销量,另一张表中列出列出不同地区、不同年龄段顾客的销量。但是,这两张表无法回答例如“华北地区中青年顾客购买数码相机类型产品的情况”等问题。业务问题经常需要多个角度的交互分析。
3、难以挖掘出潜在的规则
报表系统列出的往往是表面上的数据信息,但是,海量数据深处潜在含有哪些规则呢?例如什么客户对我们价值最大,产品之间相互关联的程度如何?越是深层的规则,对于决策支持的价值越大,但是,也越难挖掘出来。
4、难以追溯历史、数据形成孤岛
业务系统很多,数据存在于不同地方,太旧的数据(例如一年前的数据)往往被业务系统备份出去,导致宏观分析、长期历史分析难度很大。
因此,随着时代的发展,传统报表系统已经不能满足日益增长的业务需求了,企业期待着新的技术。数据分析和数据挖掘的时代正在来临。值得注意的是,数据分析和数据挖掘系统的目的是带给我们更多的决策支持价值,并不是取代数据报表。报表系统依然有其不可取代的优势,并且将会长期与数据分析、挖掘系统一起并存下去。
四、数据分析:Data Analysis
我们知道了OLTP这个词之后,需要了解一个新的术语:叫做OLAP。即:Online Analytics Process 。指的是在线分析系统。
如果说,OLTP侧重于对数据库进行增加、修改、删除等日常事务操作,OLAP则侧重于针对宏观问题,全面分析数据,获得有价值的信息。
为了达到OLAP的目的,传统的关系型数据库已经不够了,需要一种新的技术叫做多维数据库。
多维数据库的概念并不复杂,(图四:pic4.jpg)举一个例子:我们想描述2003年4月份可乐在北部地区销售额10万元时,牵扯到几个角度:时间、产品、地区。这些叫做维度。至于销售额,叫做度量值。当然,还有成本、利润等。
这样一个模型,可以用一个三维的立方体来描述,每个维度分别代表了时间、产品和地区,立方体上的单元代表了度量值。
进一步,维度可以分为不同的层次,因此这个模型也可以回答诸如“2003年第一季度日用品在南方的销售情况”等。
扩展一下我们的想象,除了时间、产品和地区,我们还可以有很多维度,例如客户的性别、职业、销售部门、促销方式等等。实际上,使用中的多维数据库可能是一个8维或者15维的立方体。
虽然结构上15维的立方体很复杂,但是概念上非常简单,不是吗?
数据分析系统的总体架构分为四个部分:源系统、数据仓库、多维数据库、客户端(图五:pic5.jpg)
* 源系统:包括现有的所有OLTP系统,搭建BI系统并不需要您更改现有系统。
* 数据仓库:数据大集中,通过数据抽取,把数据从源系统源源不断地抽取出来,可能每天一次,或者每3个小时一次,当然是自动的。数据仓库依然建立在关系型数据库上,往往符合叫做“星型结构”的模型。
* 多维数据库:数据仓库的数据经过多维建模,形成了立方体结构,每一个立方体描述了一个业务主题,例如销售、库存或者财务。
* 客户端:好的客户端软件可以把多维立方体中的信息丰富多彩地展现给用户。
实际案例:在下面的案例中,我们利用Oracle 9i搭建了数据仓库,Microsoft Analysis Service 2005搭建了多维数据库,ProClarity 6.1 做为客户端分析软件。
分解树好象一个组织图。当它被展开时,通过在选定条目的重复下钻,分解树展示了您想获得的整个路径。此外,您还可以在较低级别选择一个条目并创建一个含有更加详细信息的新的分解树。
分解树在回答以下问题时很有效:
* 在指定的产品组内,哪种产品有最高的销售额?
* 在特定的产品种类内,各种产品间的销售额分布如何?
* 哪个销售人员完成了最高百分比的销售额?
在图六(pic6.jpg)中,可以对2001年个季度的销售额和所占百分比一目了然。任意一层分解树都可以根据不同维度随意展开,在该分解树中,在大区这一层是按国家展开,在国家这一层是按产品分类展开。
投影图使用散点图的格式,显示2个或3个度量值之间的关系。数据点的集中预示两个变量之间存在强的相关关系,而稀疏分布的数据点可能显示不明显的关系。
投影图很适合分析大量的数据。在显示因果关系方面有明显效果,比如例外的数据点就可以考虑进一步研究,因为它们落在“正常”的点群范围之外。
在图七中(pic7.jpg)各色各样的数据点代表不同产品,可以看出网络设备集中于右下区域(低销售额、高毛利率)PC机集中于左上区域(高销售额、低毛利率),从而使您对公司的产品利润分布运筹帷幄。
当您乘坐飞机俯瞰大地的时候,就会看到面积不一、颜色各异的农田星罗棋布,鸟瞰图由此而来。
鸟瞰图显示两个数量或属性的相对大小。使用大小和颜色作为指示器,把它们应用于您的查询所选择的成员时,您可以快速评估数据。
鸟瞰图可以迅速回答以下问题:
* 性能 比如通过“PC机在哪个国家的销售额最大(最大面积)?”这样的问题来评价销售状况的表现”
* 机会 比如通过“为什么PC机在中国具有最大的销售额?”这样的问题来发现改进的机会
* 例外 比如通过“为什么在澳大利亚这样的发达国家销售额反而小?”来发现例外。在图八(pic8.jpg)中大小代表销售额,颜色代表毛利率,您只需看一眼,就可以得到如下认识:商用PC机的销售额是最高的,但毛利率却不是最高的。
五、数据挖掘:Data Mining
首先确认这个术语:数据挖掘。什么是数据挖掘?广义上说,任何从数据库中挖掘信息的过程都叫做数据挖掘。从这点看来,数据挖掘就是BI。但是,从技术术语上说,数据挖掘(Data Mining)特指的是:源数据经过清洗和转换等成为适合于挖掘的数据集,数据挖掘在这种具有固定形式的数据集上完成知识的提炼,最后以合适的知识模式用于进一步分析决策工作。从这种狭义的观点上,我们可以定义数据挖掘是从特定形式的数据集中提炼知识的过程。
数据挖掘往往针对特定的数据、特定的问题,选择一种或者多种挖掘算法,找到数据下面隐藏的规律,这些规律往往被用来预测、支持决策。为了更好地理解数据挖掘,我们看几个案例:
1、找到潜在客户
某大型网站提供了免费email的服务,拥有了1000万注册用户。其中200万用户被称作VIP用户,他们缴费并且获得更多的服务。我们根据用户的注册信息可以知道:性别、年龄、职业、收入等。我们根据用户的网上行为可以知道:上网时间、频率、邮件频率等。
假如现在来了一位新的email客户,我们预测一下他又多大可能性成为缴费客户。没有数据挖掘时,懂得基本的数学概率的朋友会得出简单的答案是20%。但是,通过数据挖掘,我们做过这样的案例:利用决策树算法,分析现有的客户数据,计算机可以画出一个庞大的数型结构,例如图九(pic9.jpg):(以下答案只是一个演示,并非真实的结果,因为真实结果是承诺客户保密的)客户是否会缴费最主要的决定因素是年龄,25岁到30岁之间是最可能缴费的。客户如果是25岁到30岁之间,第二因素是上网高峰时段。客户如果是25岁以下,第二因素是性别,以此类推……
最终,庞大的决策树终端节点告诉我们,如果客户的年龄是X,收入是Y,性别是女性,上网高峰在傍晚,则成为缴费用户的可能性是80%
知道这些规律可以做什么呢?如何预测并直接产生巨大效益的方法不说您也想到了。
2、关联销售
美国的超市有这样的系统:当您采购了一车商品结账时,售货员小姐扫描完了您的产品后,计算机上会显示出一些信息,然后售货员会友好地问您:我们有一种一次性纸杯正在促销,位于F6货架上,您要购买吗?
请注意!这句话决不是一般的促销。因为计算机系统早就算好了,如果您的购物车中存在有餐巾纸、大瓶可乐和沙拉,则86%的可能性您要买一次性纸杯。
结果是,您说:啊,谢谢您,我刚才一直没找到纸杯,现在我去拿,等我一下好吗?
这不是什么神奇的“科学算命”,而是利用数据挖掘中的关联规则算法实现的系统。
每天,新的销售数据会进入挖掘模型,与过去N天的历史数据一起,被挖掘模型处理,得到当前最有价值的关联规则。我们做过的一个项目中,40万条历史销售业绩,在1分半内处理完毕,获得全部有价值的规则。
同样的算法,分析网上书店的销售业绩,计算机可以发现产品之间的关联以及关联的强弱,如图十所示(pic10.jpg)。这个案例使用的技术是微软SQL 2005最新的功能。
六、总结
数据报表、数据分析、数据挖掘是BI的三个层面,我们相信未来几年的趋势是:越来越多的企业在数据报表的基础上,会进入数据分析与数据挖掘的领域。商业智能所带来的决策支持功能,会给我们带来越来越明显的效益。