上了 BI,B 就 I 了吗?

 

BI,Business Intelligence,中文名称:商业智能,或者商务智能

BI 中的这个 Intelligence,智能,虽说在不同时期有不同的定义和解读,但究其根本,其实都是想通过分析企业过往的经营状况,得出正确的事实依据,从而指导和辅助商业的决策,让商业决策和管理更科学,而不再是根据感觉拍脑袋来决定

BI 的概念早已有之,但最近这些年比较火,因为很多企业在经历了多年的信息化建设后,都沉淀下了很多数据,这些海量的真实经营数据如果不加以利用,那就只能放在磁盘中蒙尘,一文不值,如果能利用好,分析好,则能帮助企业更科学的去经营和管理,为企业找到新的机会和增长点,成为企业降本增效的法宝,所以很多企业就想到了用流行的 BI 工具来挖掘这些数据的价值,让企业决策变的智能

但是上了 BI,B 就真地 I 起来了吗,商业就真可以“智能”起来了吗 ?

事实告诉我们,并不见得

可视化喧宾夺主

BI 本质上应该是数据分析,特别是交互分析,通过分析数据得出科学依据,然后指导决策和管理,但现在有很多 BI 都被简单地理解成可视化了,偏离了分析

网上各家 BI 的介绍和 demo,最先映入眼帘的都是各种大屏,酷炫的大屏极具视觉冲击力,也会让用户产生联想:如果我的项目中也有一个这样的大屏,那一定会给项目增色不少,

很多用户就会在大屏中迷失,很多项目也会在大屏中走偏,把 BI 项目做成了大屏可视化项目

大屏对于数据系统是有业务意义的,在一个综合的面板里把相关的重要的信息通过图表结合的形式展现出来,高效又直观,当然也美观,但它反映的信息在宏观层面,对一线经理们的日常决策作用不大,BI 应该是个微观业务,是面向一线人员的交互分析,大屏只会呈现一些几乎众所周知的宏观信息,而且样式比较死板单一,基本没有交互,顶多有个参数,把大屏当成 BI 建设的主要成果,就和智能分析的目标南辕北辙了

BI 分析孱弱无力

即使没有走偏,把握住了 BI 的正确方向,业界通行的 BI 工具也依然对企业实现商业智能的帮助不大

BI 工具大多都外观比较新潮,看着很高大上,然而实际上却大都华而不实,能做的事情很有限,基本也就是多维分析那些动作,大部分 BI 工具只能做基于单表做简单的分类汇总统计,比如

  • 统计全班同学各科的总分和平均分

  • 按地区、省份、城市,分组统计客户的数量

  • 移动公司统计北京各区 1 季度新开通了多少电话号码

  • 仓库统计各类产品库存量以及和年初的差值

  • 查看每个销售每月的订单量以及是否付款

  • 等等。。。。。。

而这些简单的单表分析也就占到整体分析需求的 10%,做到这些离智能分析还差的很远很远

再往下看这些有多表关联的,这一部分大约占 20%-30% 左右,大部分 BI 工具就做不好了

  • 查询北京号码打给上海号码的通话记录,需要通话记录表和账户记录表重复多次关联

  • 查询中国经理的美国员工,需要员工表和部门表相互关联

  • 一些表中有父 ID 和子 ID 查询时需要自己和自己关联

  • 按日期统计合同额、回款额和库存金额,如果没有事先准备好宽表,又会涉及多个表的关联

  • 等等。。。。。。

关联关系太复杂,看不懂,业务人员就基本都不会拖拽了,只能求助技术人员来帮忙整理数据了,做成宽表或者类似宽表的 CUBE,然后给业务人员来用

再遇到下面这些占更大比例,60%-70% 的,带有复杂计算(多步、过程式计算)的,就更是都哑火了,不是做不好,而是做不了了

  • 列出销售额累计占到一半的前 n 个大客户

  • 查看一下语文、英语和数学成绩都在前 10 名的学生都有谁

  • 查查哪些半年不出单的客户在更换了销售人员后半年就出单了

  • 找出 3 年内的销售冠军以及他们卖的最好的产品

  • 计算某支股票最长连续涨了多少交易日

而这些有关联的,有复杂计算的分析需求,恰恰才是更有业务意义、能给企业带来价值的、企业真正需要的分析,BI 工具做不了这些,那就只能成为摆设,自然也就智能不起来了

然而这些并不影响 BI 的火爆,因为这个沉痛的结论在前期的调研和试用中是发现不了的,厂商演示的数据和操作都是提前准备好的,用户试用时也基本都是先找最简单的来测试,演示和测试的重点也基本都放在了功能的验证上,什么切片旋转下钻,是否流畅美观等,并没有考虑处理数据的能力,直到采购上了 BI,真正使用了,由浅入深,由简入繁后才慢慢发现,真正需要做的分析任务其实做不了多少(以后测试 BI,可以用上面提到的那些 BI 都做不好的例子去验证)

到最后,上 BI 的结果经常成了面子工程,最后得到的,仅仅是一些可视化效果,最需要的 BI 交互分析功能反而成了摆设,没多大用了

几十万的 BI 工具都最终成了摆设,难道商业智能,业务人员做交互分析的需求就实现不了了吗?BI 系统应该如何建设才能让商业真正智能呢,让 B 更 I 呢?

怎样更 I 更智能?

可视化不是 BI,不要走偏

可视化严格的讲其实不算 BI,系统如果需要可视化大屏,那可以上,但不要把概念混淆,要明确目标,建设 BI 不一定需要大屏,大屏也和 BI 智能分析没有啥关系,不要走偏

另外实际做过这些可视化效果的同学们会发现,图形、大屏其实也并不是昂贵的 BI 工具或者大屏工具的功劳图形随便找一个第三方图形包(比如 Echarts)或者集成了图形包的报表工具就可以,而且第三方图形的种类和美观度也远比 BI 工具要好很多,大屏基本都是手工做的,梳理业务、需求调研、制定指标、整理数据、绘制原型、动画美工等环节,该人工做的都得人工去做,用不用工具其实都一样 ,并省不出多少工作量来,用好几十万的 BI 工具做 1-2 个大屏,怎么算都不划算

注重多维分析中的关联能力

多维分析虽然用处不算大,但毕竟还是能让业务人员自己做些分析,这种通用的功能通常可以由 BI 工具平台来提供

简单的 BI 多维分析,哪个工具平台都能做,除了产品外观有差异外,内在功能其实都一样,,但关联分析就不一样了,各个 BI 工具都宣称自己可以做,但实际效果却和宣传相去甚远

大部分的 BI 工具解决关联分析的方法有两种,一种是:先由技术人员建模来消除关联,做成宽表或者类似宽表的 CUBE,然后再能给业务人员去拖拽分析,做的这些宽表,只能符合一定范围内的分析需求,超出范围的,就得重新求助技术人员,很不自由,而且时效性也保证不了,本来是要马上做分析,要做决策,结果还得找技术人员先建模,等建好了,可能好几天都过去了,决策早都做完了

第二种是:干脆把数据直接暴露给业务用户,让用户自己去拖拽关联,这样是及时也自由了,但是连技术人员都可能被绕晕的关联关系,又怎么可能是业务人员能拖拽清楚的呢,就更没法用了,更没意义了

更深层次的大部分 BI 厂商都做不好关联分析的原因,可以参考这个帖子:

为什么 BI 软件都搞不定关联分析

好的解决方案是,能自动进行关联,并把数据以清晰简单的方式提供给业务用户,庆幸的是现在这样的技术已经有了:润乾报表的 DQL

润乾报表的 DQL 引擎可以把复杂、难懂的各种关联自动处理成业务人员轻松就能看懂的树状目录数据,就可以不求助技术人员,自助进行拖拽分析了

imagepng

能解决关联分析的难题,才能做更多有意义的分析,才能给企业提供更多科学的决策依据,才能更接近智能,所以一定要重点考察关联分析的能力,可以用前面提到的几个关联分析例子去验证各个产品

用丰富灵活的报表辅助分析

前面的例子中我们可以看到,一些涉及复杂多步,过程式计算的分析,BI 就做不了了,这是因为 BI 的定位是让业务人员拖拽分析,而拖拽不可能实现复杂的计算步骤,捋清楚复杂的计算逻辑也根本和业务人员的角色定位不符

业务人员做不了,那就只能通过技术人员来做了,这类复杂的分析占比通常又比较大,技术人员手工做也不现实,效率太低,成本太高,一般都会用报表工具来做

要做的复杂分析多,而且分析还随需而动,报表也就得跟着随需而动,总会做新的或者改旧的,这就需要报表工具的效率高一些才行,否则不仅会大量的浪费技术人员的工作量,还会影响智能分析的效率和效果

报表效率体现在两方面,一个是制表效率,一个是数据准备效率,而且后者更重要

就好比上面的这些 BI 做不了的复杂计算的分析,它做不了,并不是因为格式复杂,而是因为计算复杂,就算是报表来做,同样复杂,得写大段的 SQL 才能算出来,没有几年经验的同学写不了

另外大数据时代的数据,不仅数量大,而且很杂,有 RDB,有 NOSQL,有文件、json,有 MPP、 Hadoop,企业要做的分析,常常会涉及多源混算,有时候不得不用 JAVA 来写,数据准备就会更难,今天要做分析了,结果报表工程师搞不定数据,得找高级工程师先帮忙来准备数据才行,这就把分析和决策耽误了,也谈不上什么智能了,所以要有良好的数据准备能力才行

但不幸的是,并没有多少报表工具在数据准备上下过功夫,大部分还得是高级技术人员去硬写 + 硬算,目前只有润乾报表有专门的数据准备工具

imagepng

在润乾报表中,多了一个SPL 集算器的数据计算层(SPL 本身是一个流行的开源计算工具),这个计算层就是专门用来做数据准备的,它支持多样性数据源的混算,可以高效的代替 JAVA、存储过程来做数据准备,而且初级工程师学几天就可以上手,能进一步保障分析的及时性和准确性

另外这个 SPL 准备好的数据,不仅能给报表用,也能给 BI 多维分析用,或者导出 EXCEL 做桌面分析用,也能让业务人员进行更多需要复杂计算的分析了

想了解 SPL 是怎么简单的做多步计算的同学,可以看这个帖子,帖子里有很多高效计算的例子:

SQL 为什么动不动就 N 百行以 K 计

有了报表辅助后,BI 做不了的分析就可用报表来做了,BI 的短板补上以后,BI 的建设也就离智能更近一些了

行业知识 + 开源 BI

现在市面上大部分的 BI 产品都是通用 BI 厂商提供的,通用 BI,目标就是通用,各行业都可以用,什么业务角色都可以用,谁都可以用,电信行业的用起来合适,金融行业用起来也服帖,但这不用思考都知道不可能,想让谁都能用好,造成的结果肯定是谁都不好用

如果由有行业经验的专家参与,进行专业化设计,那结果就会有巨大不同

有了行业经验才知道这个行业需要分析什么,业务用户关心什么、常用的是哪些,需要哪些数据,就可以把常用分析需要的数据源提前准备好,避免临时修改或者重新做 CUBE(如果用润乾报表 DQL,做这一步会更方便)

有了行业经验才知道哪些参数指标需要做活或做死,界面才会方便,比如现在有很多标签属性(是否值,客户是不是大学生,有没有信用卡),数量可能达到几百上千,通用 BI 会把这些都当成维度统一处理,让用户对着成百上千个维度去拖拽,不仅界面难用,能不能找到想要的标签都是个问题,有行业经验的开发商则会把标签按业务合理分类后再呈现出来供用户拖拽,,就会好用很多。还有些标签、维度是联动的,选了某个,其它维度的可选范围会跟着变,有经验的行业开发商就会把它提前做好联动,选起来就会更快捷方便,而通用 BI 产品是不会知道这些的(或者就需要很复杂的表达式甚至脚本来定义)

有了行业经验才会更了解用户的使用习惯,更懂用户,有些维度或条件可能还会有行业甚至用户特有的输入方式,比如股票区间可能希望看着 K 线图去找,这些都有强烈的行业特色,对行业了解足够深才能把握用户这些习惯,并根据习惯来优化功能,还可以把一些行业内常见的多步计算事先封装好,业务用户可以直接引用。各行业还有自己的内部文化、知识、语境等,深耕行业常和用户泡在一起的软件企业才会感知到这些细节,更懂用户才能做出业务人员更容易理解、更方便使用的界面,而通用 BI 则不可能做到这一点,它的普适定位和行业专精本来就是冲突的,只会提供通用抽象的技术术语和统一的界面,这就会造成不管是哪个行业用起来都不是很贴近的感觉

有了行业经验还能防范技术风险,数据开放给用户后,很有可能会做出不规范、不合理的拖拽,这就会带来性能问题,造成卡顿,或者直接把后台数据仓库给拖死了,行业经验支持下的交互界面,对应的后台计算是设计过的,计算量可控,定制界面还可以对计算量巨大的动作做出限制,这样后台数据仓库也能撑住了,避免了性能问题隐患

所以 BI 要想真正智能, 必须得走行业化,专业化才可以,这个要求通用 BI 厂商就明显满足不了了,它们的普适定位和行业专精本来就是冲突的,得由行业软件开发商来做行业化甚至是针对用户特制的 BI 才可以

然而行业软件开发商,虽然有行业知识和经验,有潜力把 BI 做的更贴近用户,让分析更加智能,但其实他们做起来也很难

自己从头去做一个 BI,工作量和难度都太大,不太现实。CUBE 虽然简单,但其数据处理和界面仍然有不少的内容,BI 厂商也耕耘了不少年头,完整复制并没那么容易。如果能基于现成的通用 BI 产品再来改造定制,那就轻松多了,可惜,商用的 BI 工具大都是不开源,对外接口也很简单,无法支撑深度改造定制的可能性。幸好开源 BI 还挺多,国外的有不少,国内的也有润乾的开源 BI,中文页面更好改,而且润乾专注于 BI 报表行业 20 年,也更懂国人的 BI

在行业经验的加持下改造过的 BI 解决方案就会比通用的 BI 产品更好用,业务用户能做的交互分析也就更多更轻松了,BI 也就更智能一些了

总结

BI 工具,虽说叫 BI,但对 BI“智能”的实现其实作用甚微,名相如实不相如,就像现在的 AI 一样,都说自己智能,但其实并没有,大家都是在路上,离终点还很远,上了 BI,也还离 I 很远

想要让 BI 更 I 更智能,首先要明确目标,不要走偏;其次要注重 BI 工具数据处理的能力,比如能否做好关联分析,让 BI 可以胜任更多的分析场景;然后还需要有其他分析工具来补充,比如报表工具,实际上,用户每天看的用的也主要是报表;最后还得找有行业经验的实施厂商来给定制、实施,通用的 BI 厂商各行业都想普适,各方都想满足讨好,是不可能的,只能是弄的谁用起来都别扭,必须行业定制才可以

然而就算把这些都做到了,商业也不是就完全智能了,“智能”是一个遥远的终点,我们依然在路上,只是离终点更近了一些