【IT168 数据库】商业智能(Business Intelligence,BI)从2006年开始一直红红火火,热闹的大戏一台连这一台,到了现在我倒是觉得越来越看不懂了,所谓“乱花渐欲迷人眼”。这不,看到有种说法叫“一站式解决方案轻松实现商业智能”,就这个说法而言,我觉的是需要提出一些质疑的,商业智能真的“智能”到这个程度了吗?
“一站式”商业智能
商业智能的核心价值在于对于各种各样的数据的支持。通过这种支持,商业智能的实施可以将一个公司内部原本孤立的各个业务单元各自形成的数据孤岛打通,从而实现使数据全面呈现在决策者的面前。商业智能是一个非常复杂的项目,从业务规则抽取与设定、源数据的整理与清洗、报表呈现与展示上来说,无论哪个环节做起来都不简单。所以说,从“一站式”的解决方案轻松实现商业智能说开去,目前商业智能真的能够做到"一站式"与"轻松实现"吗?
首先,从业务规则上抽取与设定上来说,每一个商业智能系统都需要用到业务规则(Business Rules),当这些业务规则呈现在业务人员的面前的时候,它能够定义一些关键性能指标(Key Performance Index,KPI)、或者针对某些问题显示当前状态,并提出整改建议。就从实施商业智能项目上来说,要做业务规则的规划与梳理就是一个从无到从、层层深入的过程,要做到所谓的"一站式"恐怕难度太大了,至于"轻松实现"之类的话,我认为这个更适合于厂商的销售人员去说——"轻松实现"签单,而不是真正地项目落地生根。
"啤酒与尿布"的故事
说起商业智能,一般厂商的销售人员逢人便会说"啤酒与尿布"的故事。
对"啤酒与尿布"的故事简述如下:沃尔玛公司在美国的一位店面经理曾发现,每周啤酒和尿布的销量都会有一次同比攀升,一时却搞不清是什么原因。后来,沃尔玛运用商业智能( BI)技术发现,购买这两种产品的顾客几乎都是25岁到35岁、家中有婴儿的男性,每次购买的时间均在周末。沃尔玛在对相关数据分析后得知,这些人习惯晚上边看球赛、边喝啤酒,边照顾孩子,为了图省事而使用一次性的尿布。得到这个结果后,沃尔玛决定把这两种商品摆放在一起,结果,这两种商品的销量都有了显著增加。
其实这个故事中便包含了如何设定业务规则的问题,要查出啤酒与尿布的销售量本身并不难,难的是如何设定啤酒与尿布之间的关系,也就是如何挖掘出这个业务规则来的呢?其实,一个商业智能(BI)项目不一定一开始就有业务规则,有的根本没有,有的只是有简单的业务规则,然后通过在项目实施与应用的过程中不断完善与补充的。
例如:在一个为销售业务服务的BI项目中,销售部门负责人最初需要的报表只需要列出每个产品在各个地区的销售数量与金额是多少即可。如果每笔销售都有记录,这个报表实现起来是非常容易的,只需要标准的BI产品就能实现,一般的销售管理系统也能实现这样的报表。通常也只要对销售记录进行汇总,然后分类一下就可以了。但是,如果销售经理还想要知道某个地区的销售金额有多少是老客户带来的?要对老客户进行客户关怀(如VIP折扣)的时候,需要将成本控制在多少才能在提高客户满意度的情况下保证企业的利润?老客户的每次平均消费额在多少才能保证公司利润?
业务逻辑与业务规则
这里就会涉及到较复杂的业务逻辑。首先,要区分哪些是老客户,哪些是新客户?这就要求对客户的信息进行记录,CRM(Customer Relationship Management,客户关系管理)与销售系统的数据应该进行共享。同时,还要了解这个客户的历史消费情况,并对每笔消费情况进行统计,对消费情况进行成本与利润分析,再加上统计VIP客户的折扣及客户的满意调查结果,这样才能根据达到我们所要求的结果。而这个结果就不只只是一般的数据统计了,它最大程度地体现了业务规则在运算过程中的重要性。如果要用BI项目来实现的话,这种报表不是直接把原始数据显示出来即可,这就需要了解数据中包含的业务含义,然后经过运算才能得到结果。
对于业务规则,业务人员与IT人员的理解也不是完全一致的,因此要通过一个"一站式"的方案来实现商业智能,可能更多的是从IT的角度来说,而如果站在业务人员的角度来说应该很困难的。从业务人员的角度看,业务规则是用编码来表达的业务活动。从IT人员的角度看,业务规则是可重用的业务逻辑的最小单元。业务规则之所以在BI项目中占有如此重要的地位,是因为它赋予了数据以含义,可以帮助我们理解数据原始含义,进而产生一些更有意义的报表以指导我们决策——这就是数据到信息再进而成为知识的过程,这个过程就是业务规则在起作用。它们是根本原因分析和操作性报表不可或缺的要素。随着BI越来越面向流程,业务规则的重要性也在增加。如今,即使在简单的业务系统中也少不了数十个业务规则,还不算那些隐藏在BI系统中数百个业务规则。 对于如此复杂的业务规则,商业智能真的能够作到"一站式"与"轻松实现"了吗?对此,笔者表示质疑。
数据整理与清洗
再从源数据的整理与清洗上来说。任何BI项目的源数据处理都有数据质量问题的存在。没有数据质量的系统只能是“垃圾进,垃圾出”,数据质量问题是许多数据处理系统的顽症。特别是商业智能项目,一般都会有多个数据源,企业的不同数据源之间的数据又会有交叉,因此,同样的数据出现在不同的系统中及其普遍。同时,由于很多历史的、系统设计的、不同系统业务逻辑差异的问题,这“本应该”一样的数据常常出现差异。而商业智能项目要求对现有数据有个再加工的过程,当问题出现在源数据时,就会出现“错误放大”的问题,那么不断的加工的过程也是不断的放大的过程。因此,从源数据的整理与清洗上来说,虽然目前也有不少的方法与工具能够来帮助完成这项工作,但不管如何,要保证数据质量还不是一件容易的事情,这就需要花费大量的精力与人力来做的这项工作。
笔者曾经参与过一个项目,项目实施小组中,数据组以业务部门成员为主,大概是10人左右。IT技术人员主要在技术与培训这一块,但到后来,发现数据组的工作量还不是一般的,不断地从业务部门和其它小组抽调人员,每个人都给限定任务,天天加班,早的是晚上八、九点,晚的则到午夜。这种情况持续了一个半月,把项目成员累得是人仰马翻,但发现还是力有不逮,项目超期也是因为这项工作给误了下来。由此可见,工作量之大也不是能够“轻松实现”的。
最后,从商业智能的前端报表展示上来说,之前所有的业务规则的设定、源数据的整理与清洗都为了能够使用户能够看到结果,即报表展示。而在报表展示的这个环节上来说,商业智能队伍必须提供日常的报表开发资源,要能够了解到面向新的业务流程BI系统应该需要做哪些改进,维度模型的初始报表和商业智能应用如何得到修改及增强。同时需要定期展示给用户看,否则他们并不总是知道自己需要哪些报表和分析。只有在用户看了之后,他们会告诉BI团队他们不需要什么?也就是说,他们只知道做选择题,而不是做填空题,明确地说自己需要什么。而在商业智能项目上线一年、半年之后,就要审查整个系统,评估哪些部门对用户来说运行良好,哪些应该变化。同时对于公司的绩效考核规则的变化,也会引发报表展示的变化,这也就要求商业智能项目有一个高效的运维团队来管理这些用户的变化与需求。这同样不是一件轻松的事情。