什么是商业智能?
商业智能=商业+智能
商业和智能的关系,如图1:智能技术根据商业知识,出报表和建立分析模型,并且运用商业知识检验和解释报表和模型准确与否,而根据出来的报表和分析/挖掘模型结果,又能对商业运作提供数据与决策参考。
首先是商业检验智能技术。商业目标以及商务流程,限定了你能选用的分析方法,比如客户分类问题,就不能用聚类算法解决;商务流程上无法给样本本身打上标签,就很难用分类算法训练模型。忘掉啤酒和尿布吧,那只是个号称刊登在《哈佛商业评论》上的传说,这种业务上很难解释的事件被传得神乎其神,如果是真的,早被广泛应用了。所以模型一定要在商业上解释得通,通常一两个小概率小范围事件对整体是不会有很大影响的。好比看起来不错的创新点子,不可能将其实现就产生赚钱的产业链,而是要考虑方方面面的因素以及有效的执行。
其次是智能技术指导商业行为。比如埃森哲利用数据挖掘对市场/客户进行细分,针对不同行为特征的客户,推荐/制定产品,以期更贴近客户的需求,利用技术指导商业。这是一个考验执行力的过程。目前许多案例往往是不成功的,其中一个原因在于市场部处于一线经营,主导地位,其话语权通常大于技术部。假设你是一线经营人员,有自己的立场、观点、人脉、营销模式,甚至讳莫如深的自身利益。让业务人员从工作习惯上去改变,尚且不易,更不用说触碰到他们的利益线了。所以国内很多大型国有企业做出来的BI系统,很多是做表面文章,耗资百万的系统做好了却闲置。
抛开立场、自身利益因素不谈,国内BI就做得很好了么?答案当然是否定的,这是因为,业务人员不懂技术,技术人员不懂业务。笔者曾经见过一个在移动内部,做了七八年的技术人员,因为有较长的从业经验,跟业务人员沟通比较多,只要业务人员提需求,他就能在极短时间内给出数据,甚至能引导迷糊的业务员理清思路。但他的经验,很难复制,毕竟出了学校,培养一名商业智能从业者应该只有少于1年的时间。
那么让我们从商业和智能的角度,来看看知识分解吧,可以供初学者参考,也可以供高手拍砖,如图2
数据和数据仓库
数据是数据分析的基础,数据库是数据的承载,数据仓库是有主题的数据库。
效率高的数据仓库不那么容易设计出来的,多大数据量使用范式设计,多大使用反范式设计,为什么使用反范式设计(空间换时间),哪些表在业务上使用频繁需要分割,哪些字段需要合并成一张常用表等等。
涉及到数据分析的一个问题是数据质量。数据质量又可以分成两大块,“脏”数据的处理和数据来源口径的追溯。前面举的啤酒尿布例子,得到不符合常理的结果后,应该首先检查数据质量是否有问题。若数据质量有问题,那么后面的分析必然不准确,所谓garbage in garbage out!
报表
报表这种原始的BI方式有时候是简单有效,但要做一张优秀的报表似乎又要考虑很多问题。首先是确定报表的目的,这样才能定下报表是清单级还是汇总级;其次选择字段,个人认为应该符合MECE(Mutually Exclusive Collectively Exhaustive),信息不全或者信息冗余,对分析都会形成干扰;再次是对字段做维度聚类,并做重要性排序,重要的,能做分析思路索引的,要排在前面。当然一张优秀的报表绝不应拘泥于以上,需要在工作中多思考和体会了。
数据挖掘
数据挖掘讲了很多了。如果往简单来说,可以有BI=图表+数据挖掘的理解,虽然不甚全面。数据挖掘作为报表这种非智能性BI的一种补充,理论上应该属于机器学习的一种,存在着那么一点儿让计算机自学的能力。按算法来分类也就预测、分类、聚类、关联那么几种,大多都封装好的,使用起来很方便,普通应用只需要知道怎么读数据挖掘软件给出的报告即可,关键点是紧扣商业理解,难点和被忽视的地方会在接下来的算法知识块提到。至于SAS, SPSS,Modeler, R, MATLAB这些挖掘工具之争,那就见仁见智了。但有一点我很肯定,如果你初学数据挖掘,那么推荐Modeler,简单的操作界面和轻松的DEMO,大大降低了数据挖掘的入门难度。
算法
随着面向对象(Orient Object)编程方法兴起,“程序=数据结构+算法”【1】的光荣时代似乎已经一去不复返。如今许多分析人员也不曾听过Knuth【2】和他的The Art of Computer Programming。有一种观点是,在各工具将算法封装得很好的情况下,深入了解算法似乎是没必要的——Just run it。的确,如果你只想做到中级分析师,可以不去理会。但是要成为一名高级分析师,那肯定得有一定深度的研究。一是为了知道针对特定的数据集,选用什么样的算法,如何抽取样本,抽取多大量的样本(样本出问题,整个项目都完蛋),算法适用条件是什么,比如线性回归的:独立性、常方差、正态性,怎么理解,哪些必须满足。这些使用如果不熟悉的话,很容易导致分析出问题。一些做这方面工作的BIer,不求甚解,做出来的东西是错的,做分析最可怕的是错了还没意识!二是客户问到一些问题,知道如何去解释,比如用决策树计算出来的得分,为什么很多样本得分是一样的?客户细分中,有没有算法可以使得同一个客户细分至两个不同的客户群?没有的话,如何用现有算法解决该客户既有A群属性又有B群属性的问题?三是你能写出针对特定问题的算法,现实中许多问题拥有其他问题一样的共性,也有它自己的个性,某些时候针对个性的东西越强,分析效果越好,这就需要你手写算法解决。获得Netflix 100万推荐算法大奖的绝不可能是封装好的现成算法不是么。另外还有一类商业智能问题,是封装算法解决不了的,这类问题大多见于与地理结合的GIS决策系统,这类系统就要求分析人员有图形算法功底。可见如果你想成为顶级的数据分析师,算法与数据结构的知识必不可少。搜索,排序,树,图之所以经典,是因为它们简单有效而且通用。如果你能把这些算法在数据库里实现,那么你分析技术这方面,确实达到很高的境界了。
统计学与其中的分析逻辑问题
商业分析中应用统计学的好处在于,你可以不知道两者的因果而只分析两者的联系,并且在环境没有太多改变的情况下,分析结果都是适用的(更复杂的需要使用微分方程或其他,但提升度未必高)。关于逻辑,我们来看一个例子:据科学家研究,肥胖的人在社交关系上会聚集在一起。如图3,如果你的朋友肥胖,则你肥胖的概率比别人高45%(紫柱),如果你朋友的朋友肥胖,则比平均高出25%(红柱),如果你朋友的朋友的朋友肥胖,则比平均高出10%(橙柱)。事实上,这些都是数据和统计,只能说明肥胖的人可能会聚集到一块儿,因为从数据上你无法分辨出你们是因为肥胖而成为朋友(比如因肥胖到健身房认识)还是因为成为朋友而肥胖(吃货朋友一起去吃东西),或者互为因果。实际分析中,我们经常发现两样事物是互为因果互相加强的,“事物有普遍联系”和“作用与反作用”的哲学原理在此体现得淋漓尽致。业务经验在此时显得尤为重要!它能告诉我们哪件因素更重要,一般对于业务人员来说更好实现的过程,更好掌控的因素,就是原因,是我们后续操作的引线和突破口。
图3
关于商业,笔者是技术出身,也处于摸爬阶段。但可以推荐两本书,这两本书是都是国外的,较厚易懂:菲利普科特勒《市场营销》,斯蒂芬鲁宾斯的《管理学》【3】。商业与技术是存在联系的。其实细心的读者会发现,光是有上面的知识还是不够的,纸上得来终觉浅,绝知要做项目呀:)
增值知识
作为分析师宽广的知识面必不可少,没事看看心理学、历史、地理、人口统计学(demography),浏览一下知乎,FT中文网什么的,也是不错的。
很多优秀的数据信息图、资料、报告只有英文的,例如:
数据信息图http://infosthetics.com/、http://flowingdata.com/、http://visual.ly/
资料http://radar.oreilly.com/、http://www.businessinsider.com/
报告http://vdisk.weibo.com/s/2YJeC
国外在数据规划使用展现比我们前行更远,这点是确认无疑的。所以英文阅读流畅的能力对于一个想当优秀分析师的人来说非常重要。我也曾经想过把一些比较不错的文档翻译过来,但因为相当耗时耗力,只能作罢。与其等待别人翻译,不如自己看。
总结一下:商业智能,是利用计算机对数据大量快速处理的特点,对众多商业数据做图与表的展现分析,并通过统计学的方法对数据进行智能学习和挖掘,辅助商业决策。商业智能的优势就在于它对海量数据的处理,以及可规则化逻辑化(这点部分继承了数学的DNA),这些杂乱的数据让人去处理和挖掘有用信息,基本是不可能的。
商业智能目前处于初始阶段,数据仓库准备、跨行业经验整合、商业及技术知识储备、人才培养模式都还刚刚起步。国内BI也还处于积累阶段,都是一些有钱的企业在做试验案例,成败不一。BI从业人员有混生计的,也有认真积累的;有先行者,也有后起之秀。
总之,BI离爆发还有一段路要走,没有量的积累,就没有质的飞跃!要想飞跃,你必须完成爬行、站立、走、跑等一系列动作,辛苦甚至痛苦,但这些,在飞跃的那一刻,都会化为喜悦。
CIO之家 www.ciozj.com 公众号:imciow