《什么是真正的企业级自服务分析》——永洪科技科技咨询经理胡星昱
2017.11.23 / View:胡星昱:大家下午好,我今天分享的主题是企业的自服务数据分析。这一块功能其实是在永洪整体的(英)平台里面,属于我们底层这块,永洪通过自服作为一个准备,深度分析等等的这些模块,也促进了我们在企业可以做真正的自服务数据分析的能力。
我们今天要跟大家讲的内容,其实会分这么几块。首先到底什么是企业级的自服务数据分析,我们在做这些分析的时候,企业会面临一些挑战是什么样的,以及永洪是如何解决这些问题的,还有我们在其他项目上的一些最佳实践。
首先来讲讲什么是自服务数据分析,之前其实我和很多的企业进行过交流,包括IT部门和业务部门,在跟这些部门交流的时候我也发现了,从2015年到现在有一些需求不断冒出来,而且越来越多,这是什么呢?其实就是对自服务分析的需要。那么其实这种需求从两边都会有这种驱动力,首先是从IT部门这边,那么我跟IT聊的时候会发现,他们企业里面这种分析需求越来越多,IT部门的工作其实从原来的构建系统,有很多人逐渐变成给业务进行供述,我们企业花费了昂贵的金额做了之后,还需要IT部门人员花大量的时间做供述,IT急需要一个平台来解决他们的生产力。
另外一边从业务上来看,他们的分析需求从原来的看固定报表,逐渐变成了会有更丰富的分析手段,比如说他会进行预测的分析或者说自己准备一些临时的数据进行比对,有的时候业务领导在开桌会的时候,周一早上提出一个新想法,他可能希望下午就通过分析报告技术数据的验证,这时候他们就急需要一款好用的,简单容易操作的这样平台工具,来提高他的做业务的效率。
所以我把他们的需求最后收集整理了一下,那么可以总结成这三块。我们在做自服务分析的时候,其实会分成数据探索自服务,报表开发自服务,还有数据准备自服务,其实面对三个不同的阶段,数据探索自服务其实是指的我们业务人员看到数据报告的时候,他发现了问题了,但是不知道什么原因造成的,不知道哪个底层的指标部门,哪个底下的部门指标变动造成了我现在数据报告的样子,这个时候我是不是还要再找其他的分析报告然后来做支撑呢?我不希望是这样,我希望在我现在的报告上面可以做一些交互的操作,可以把现在的想法有可能因为上海分公司的最近业绩比较好,或者山东分公司最近有一个新产品上市,导致了我现在总体的利润指标发生了变化。那这时候我是不是可以去在我们的分析报告上进行一个验证和尝试呢?这个是我们数据探索的自服务。
第二点报表开发自服务,就像刚才说的场景,领导提了一个新想法,我们是不是可以通过这样一个工具来进行快速的报表开发,然后找到一个数据验证的方式。那么还有就是我们会发现统计分析的指标、口径,可能和以前相比发生了变化,那么我们在底层数据这一块也需要进行修改,那这个时候我们就需要进行数据准备的自媒体的操作。整个自服务数据分析给企业带来的价值,其实最大的一点就是让我们业务分析人员敢于去探索,以前尤其在很多大型的机构里面,我看到有一个分析需求业务提出来,IT做好测试上线,最后看见的时候已经过去了几周,它的主题的时效性就已经不够了,还有的时候我们有一些新的想法,可能只是灵光一闪,那我们是不是可以把他麻烦转换成我们的分析报告进行验证呢?还是说我需要整理成一个非常详细的需求文档,提供给IT同事,让他们通过几天、几周的时间做好才能进行验证,这里边的试错成本很高,有了自服务的平台其实我们很多自己临时的想法和尝试就可以快速验证了,可以提高我们企业进行释放数据价值时候的效率。
现在自服务分析说的这么好,那是不是我们每个企业都可以做起来呢?我们也发现了在进行数据分析的时候,我们还有很多痛点需要解决,首先我们业务人员现在进行分析的时候,这个分析路径其实非常不确定的,看到一个指标变化的时候,可能从时间的这种角度,可以从产品,可以从分支机构从各种各样的角度来看是什么影响了我们的指标变化,这些我如果换成以前的固定报表,是不是每个角度都要制作一套报告出来,这样的工作量其实是我们没办法维系的。
第二点这些报告目前为止都是依赖IT人员进行开发,这就导致刚才我们说IT人员和业务的需求比例失调了,IT有很多的时间都是在提供数据和制作报表这样的工作上。刚才我在旁边的会场也听到了,有一位嘉宾讲到说,他们有很多IT人员每天的工作就是做报表,做到最后离职了,不想再做了,这是企业不想看到的,也是我们不想看到的。
还有数据模型和业务逻辑是紧密结合在一起的,有的时候我特别希望业务逻辑和数据模型拆开?因为这个数据模型是比较重的一个东西,我们通常需要用一些脚本和代码来实现他,但是业务逻辑更轻一些,分析的时候其实希望我来更换我的分析角度,或者我分析指标的时候,不要去修改我底层的这些模型,一旦修改模型的话就需要代码开发来支持了,所以把这个业务逻辑和数据模型进行拆解,这个其实是我们企业要面临的一个问题。
最后一点就是性能情况了,现在随着我们大数据时代,数据越来越大,海量的数据和高病发其实带来了很多性能问题,以前我们的报告只分析几个维度,数据量只有几百万,现在到了千万,亿的级别,分析的人也多了,以前的架构是不是能支撑分析呢?其实在很多企业看到一个分析报告打开,业务人员可以出去先上个厕所,然后喝杯茶,回来才能把所有的刷新出来,这个业务体验其实是非常差的。
那么永洪为了解决这个问题,其实也是基于我们的这一套数据应用构建平台来完成的,我相信大家可能在之前的会场有看到过这张图,底层的是我们外部的数据员,灰色的这部分,永洪已经做好了对这类数据员的对接,可以非常快速和轻松的把不同的数据库或一个库里面不同的表格拿过来进行数据的准备。然后把我们面向主题的一个分析的模型和数据宽表,导入到永洪的分式里面进行加速,前端通过查询和数据报告,甚至一些挖掘算法的方式提供给用户,最后传输的渠道可以是分析端的也可以是大屏的分析应用。
这个分析架构和我们传统的分析架构是有区别的,主要的区别在于,以前我们在做数据建模的这块,其实都是IT人员写(英)形成(英)的模型,比如业务说了我要分析不同产品线,最近这一个季度的,每周各个产品线的某三项指标,它的变化规律是什么样。那IT人员就会把他转换成我们的(英),这个其实是固化在我们的数据模型里的。可是一旦这个风险需求发生了变化,还是需要IT人员进行数据模型的修改,这就是刚才我们说的数据模型和业务逻辑剪不断,理还乱的一个情况。
永洪的做法我们现在不需要提前让业务确定好,我现在通过什么维度,什么职表来进行分析了,我给你开放一个业务主题,比如营销主题,跟营销相关的字段和指标都汇集到一个面向业务主题的宽表里面,交易数据,用户信息和产品的信息和渠道信息,这个宽表里面可能会有几十列甚至上百列的指标,但是大营业员进行提前预加工计算,是一种宽表的形式存在的,那我们把这样的宽表同步到了永洪的数据集市里,它的好处就在于我当有前端的分析产生的时候,我直接通过集市进行快速实时的现场计算来得到这个结果,这样我就不需要再去想我前端的业务需求的改变对底层的数据模型造成什么样的影响了。同时如果之前有构建过这种类似平台的朋友,可能就会提出问题了,你把以前提前汇总计算好的需求,放到了实时业务发生的分析需求的时候,实时来计算,这样会不会产生很大的计算压力呢?没错,分析压力其实我们也是拆解的,像永洪的集市方面我们采用了分布式的计算,我们对我们平时的BI这类的场景进行了优化,我们要保证我们的路径是要最优最高效的,节省我们数据传输的开销,通过单点和集合类的部署,来满足我们不同的请求下面都可以进行秒级的快速响应,通过这个数据集市很好的解决我们的性能问题。
那之后有了我们的性能作为支撑和保障了,我们就可以来进行数据探索,数据探索第一步首先我们要有数,刚才大家有看过今天下午第一个讲座,就是AI的专场的朋友,那可能会对这个阶段比较熟悉,永洪有一个非常灵活,非常方便的自服务数据准备的模块,除了像一开始符总提到的深度的AI的做法之后,我们还可以做一些简单的数据准备的工作,比如数据员的关联等等,来建立一些咨询等等这样的功能,通过它可以把我们企业内部或者说不同数据库里面的数据,以及临时表格的数据进行规整,让它满足我们分析时候的要求,同时永洪也支持数据回填的能力,我们可以很方便的回填到底层的数据库进行融合。
接下来有了数据我们就可以来进行数据分析报告的制作了,以前大家印象里制作报告的过程可能都是IT人员在后台写代码,通过永洪的平台我们可以让分析人员、业务人员,快速地通过这种拖拽、筛选,形成我们的分析报告,就像大家现在屏幕上看到的,那我通过这种可视化的界面,拖拖拽拽就把我们整理好的指标和维度进行选择生成报告,图表类型非常丰富,我们市面上会见到的柱图、饼图、散点图都支持,还有直方图、瀑布图,甚至是磁云气泡这样的图形。
永洪是不是做好报告就完了呢?并不是,我们做好报告之后也可以进行交互的分析,我们对一类的用户群体进行分析,从散点图找到了用户群体,我们在之后的直方图可以找到他在哪块进行过交易,可以看到他所产生的这些数据的情况。那么我们通过这样的交互式探索的分析方式,就可以找到当问题发生,当我们看到主要变化的时候,推动这种逐层的下钻或者不同维度的对比,到底为什么我们的指标发生变化,就可以进行探索式的分析了。
像刚才这些操作其实前台看起来是比较爽的,那么在后台我们进行数据建模的时候,其实为了保证它的效率,永洪也做了很多的优化,比如刚才提到的基于宽表的模型处理,是需要通过把底层的数据员的数据,通过一个逻辑建模的过程,就是刚才我们自服务数据准备,大家通过拖拽生成的数据模型,把它的模型的结果放到数据集市里,那这个请求其实是在一个比较标准的分析过程中产生的,那有的时候可能我们会有临时的数据补录进来,也需要进行探索式分析我们该怎么办呢?永洪进行了分布式作用的优化,我们通过这个数据集市可以进行临时新观点进来数据的一个在集市内部的快速关联,这里面我们先会通过数据原理的映射,在数据集市里面把表格存储下来,这个时候其实存储的都是一个一个单张的表格,可能是刚才说到的交易数据,用户数据这样,那么临时我补录了一个渠道数据,这个渠道数据想跟以前的数据进行关联,我可以直接跳过前两步,到第三和第四步渠道数据补充进来,形成我们更丰富的数据分析的维度和指标。
那么为了实现刚才说的这些高性能的计算,永洪也进行了分布式的部署,大家现在看见的是一个我们比较常见的一个部署的架构,在整个架构上我们会有负责计算请求处理的(英)节点,这个节点也会进行计算任务的分发,也会由我们进行计算的外部节点,还有汇总的(英)节点,还有(英)节点。这四个节点完成了我们整个集群的高效实施运算工作,这样的集群其实我们可以处理这种易级别的交互式分析了。那如果说咱们的现在分析场景会更大,或者我的病发数量更多,这个时候我们还可以扩展我们的集群。像大家现在看到的最底层的是数据员,数据员会从专门的数据抽取的节点,把数据导入到外部计算的节点里,我们会根据大小测算节点多少,我会把信息存储到里面的节点,里面会有备份,前端有分析请求会发到节点进行处理,这边会生成我们的计算计划,这个计划告诉我们各个结算节点要找哪些数据,哪些数据进行汇总和传输,拿到我们的计算任务之后,会初步汇总的结果传到(英)的汇总节点,汇总节点再把这个最后进行整合,传输给(英),我们用户看到的就是一张柱图、饼图或分析报告。
当然针对自服务的场景我们还做了一些优化,比如临时的Excel临时数据集和原有的数据进行整合,我们进行了Excel数据抽取了时候可能不同的维度,不同表的结构,我们进行了更智能的识别,然后在进行这种多个表格进行组合型,或者这种(英)操作的时候,我们对(英)的优化,保证发到底层数据员进行数据抽取的时候,SQL性能是最优质的,为了保证我们自服务分析的良好的使用体验,我们也做了一些最佳实践上的优化,比如说我们在部署的时候会把自服务的数据级和报表的数据级分开进行存储,保证两边的数据计算的时候不会进行互相干预。因为是自服务所以你不知道业务人员到底会做什么样的操作,我们会对用户的资源进行优先级的划分,避免说我个别的用户可能不太合理的分析请求,造成整个集群的计算性能的下降,那么可以对用户的资源进行分级,也可以对每个用户的资源进行配置。此外还可以对用户的行为做一些约束,比如说性能上面我们可以讲,去限制一些用户的明细数据的导出,因为他对我们整个集群的性能可能会产生一些影响,同时在功能上面我们也可以来进行约束,比如说什么样的分析报告是可以下载,可以导出的,然后样的报告是可以分享的,当我们把这些数据开放给业务人员进行分析的时候,通过这样的限制也可以提高数据的安全性。
接下来我们还会对用户的行为进行审计,到底我们最近这一个月,企业里面大家最常访问的报表是哪些,最常访问的数据级是哪些,大家都在看哪些指标,通过什么样的方式和维度来看的?这些可以总结起来变成通用的报告推广给我们的分析人员。此外还会有像数据权限我们可以划分到最细的数据密度,那么通过这种行列来进行控制,不同的报告可能不同的人可以看,然后大家看到同一个报告或同一个数据模型的时候,根据你权限的划分,你看到数据的结果也是不一样的,比如上海分公司,北京分公司看到的数据是完全不同的。
还有我们可视化的模板,每个部门或者用户可能都会有自己比较喜欢的一套配色,一套主题,那么我可以把这个模板固化下来,方便以后再进行报表开发时候的使用,也能保证我们每次输出的报告美观性上都是有保证的。
刚才讲了很多永洪在自服务分析上做的优化和我们的努力,真正在企业推广的时候还是会有很多阻力的,毕竟业务人员之前已经习惯了,我们去看报表,没有自己动手操作这样一个习惯,我们在进行这种自服务平台推广的过程中,也会采取一个循序渐进的步骤,第一步是做数据的交互,就是把已经做好的数据报告提供给用户,告诉他们你在哪些场景下面是可以进行提到的交互式探索的,比如告诉他散点图可以进行圈选,柱图可以进行下钻,饼图是可以跳转的,这是一个最基本的数据交互。
当大家习惯了交互的操作之后,我们可以让业务人员进行数据报告的调整。举个例子之前我们有个银行就是,做好一套报告推给业务员使用,进行培训的过程中就有业务人员提出,如果你们的报告都是拖出来的,那我是不是自己也可以拖,这个时候就可以给他开放第二步的调整的权限,以前IT的报表是通过以前的分析需求总结出来的,现在有了新的想法,可以在原来的柱图上面增加一个新的指标,或者在柱图上面更换了一个分析维度,这个占比肯定会发生新的变化,而且做好调整之后可以另存下来,不影响以前的报告情况。
第三步就是有一些这种数据分析师他们可以通过永洪这个平台,从无到有进行整体的数据报告的开发,最开始要进行数据的建模,把已有的数据模型还有他自己收集的数据进行整合,然后通过我们的拖拽界面生成报告,再把他认为有价值的信息分享给用户。
在这样的平台上线之后,永洪也会有自己的,可以每个项目配备自己的项目成功经理,项目成功经理会跟我们的企业一起进行数据架构的一个梳理,然后需求的梳理,还有我们平台的使用范围,运营方法的讨论,那么最后在用户进行推广的时候,我们推广策略因为永洪已经在国内几百家企业有过数据运营的经验,我们这些经验也可以推广给我们所在的业务用户。
接下来就讲几个永洪在之前的项目案例上面做的内容吧,首先是某个银行的总部,我们来做的一个数据服务平台的项目,大家看到其实可能在银行内都是IT人员开发报表,现在通过一个服务的方式,把这些数据提供给用户了。这里面我们把原来的开发报表的流程变成了数据的加工,然后数据的组合,以及最后的数据超市这样三个步骤。首先我们先是来拆分了一下不同的业务部门在看数据时候不同的视角,包括对客户的视角,对交易的视角,对账户的视角等等,其实是不同的视角可以转化成不同的主题,不同的主题来做刚才我们的数据宽表,每个主题的数据宽表里面都涵盖了很多指标和分析的维度。
那么这些主题其实我们会放到一个页面里面供业务部门进行筛选,他可以选择这个主题下面他要分析的维度和指标是什么,这又是我们商品加工的过程,从我们数据的原材料中进行个性化的提取,最后把它加工成我们的分析报告,这种分析报告最后变成我们的数据商品了,它可以做成分析报告,然后在部门内或者行内进行分享,最后形成我们数据超市这样一个功能。
那么到目前为止,我们已经梳理了向客户、交易、帐号、渠道还有产品,五个我们分析的主题,当然主题之间其实也可以进行数据交叉处理。我们整个分析架构,其实可以看到底层是各类业务的系统,像信贷系统,我们进行数据交换,最后把数据放到了企业内部的数据集市里面,这些数据进行整合,进到了标黄的服务里面,在这个接口下面就可以有面向五个主题的数据了,最后提供给前端的用户来进行自由组合和分析的工作,那么这个平台它其实面对的需求,有一定的特点,他其实并不是去做监管的报表,不是做我们平时固定的报表,那么他更多的是来解决行里面这种临时性的,一次性的,或者说是低频的数据统计需求,来解放我们IT生产力。
这边的流程其实加工起来,就是刚才我们数据加工的流程其实都会比较短,也不需要特别严格审批的过程。我们最后分析的数据其实也都是通过底层的明细数据汇总产生的,而不是说根据已有的汇总数据再进行二次加工,更多的是基于明细数据进行探索分析。
整个系统的特点就是它更适合于让业务人员进行自己的拖拽工作,大大降低了业务人员使用数据的门槛。
还有另外一个案例,可能区别于大家想象的自服务分析了,大家现在看到其实是一个大屏监控,是阳光信保通过永洪的平台完成了一个界面,可以看到逾期金额和逾期率和赔付的情况,也有从申请到反欺诈的识别,最后到放款,到整个流程不同漏斗下不同数据的情况。大家可以看出来这是一个大屏监控的案例,但是我为什么会把它放在自服务分析的场景下来讲呢?其实这个大屏的案例是通过用户自己来定义完成的,IT部门其实准备好了一些我们的数据指标,也进行了指标的一些初步的加工,那么最后业务人员到底他想监控的是什么?他想分析的是什么?其实是业务人员自己通过永洪这个平台拖拽然后实现了。永洪也是支持这种客户定制化的主题,我们把主题开发好之后,业务人员可以自己把主题进行填空,就能快速的生成我们刚才说的分析大屏。
这个监控大屏中可以看到,从整体的架构上来看,从数据员之后会加载到计算存储的平台,会进行缓存,前端通过大屏的设计,最后可以把成果分享出来。像这样的项目我们开发的过程其实并不麻烦首先可以通过非常快速的故事安装完成这种单节点或者多节点的产品搭建,接下来希望确定一下业务指标,这里面需要知道指标从哪个数据库进行加工,然后要知道他计算的口径是什么,第三步就是根据这些加工指标的方法,最后把我们的指标加工出来。加工好的数据模型可以放到永洪的数据集市里面进行加速的运算,那么在导入集市的时候,我们还可以再进行一些指标的扩展,那么最后建立我们的实时大屏的展示,通过一个简单的测试以后就可以发布上线了。
那么阳光信保他现在的一个状况,就是我们已经实现了实施运营的大屏,这些可以通过自服务的方式来完成,公司的这种全业务的指标展示,然后可以对这些像电商的白条,现金贷,这些主题进行可视化的展现。我们后期会进行更多业务场景的支持,还有我们对指标的一个扩充,然后还有就是我们对一些模板也要进行丰富,不需要我们再进行开发,就可以搭建出来更多的模块,进行更多类型的数据库,来丰富我们的数据员。
我今天的分享大概就是这些,其实大家可以看到,我们在做数据分析的时候,这种自服务的分析方式已经成为现在主流一个趋势,但是我们在完成这个自服务分析的时候,也是有很多的困难需要去调整的,那么永洪通过产品不断地迭代和升级,还有各个客户提出来的需求,我们也在不断打磨自己的产品,让我们的产品和平台更好的适应自服务分析的需求,那么也希望在座各位可以和永洪不断地进行互动,大家宝贵的意见也是我们产品不断优化的驱动力,谢谢大家!
永洪BI
更敏捷、更快速、更强大