深入业务,打造行业背景下的BI系统

不懂技术怎么做产品?15天在线学习,补齐产品经理必备技术知识,再也不被开发忽悠。了解一下>

如何打造行业背景下的BI系统?笔者认为需要做好这两步:通过需求分析深入业务,明确系统解决的问题;以及,结合业务,整理源数据,制定指标和算法,设计展现形式,完成数据分析设计。

在搭建BI(商业智能)系统时,通常有两种选择:一是选用市面上的BI产品;另一种则是自建BI系统。

直接购买BI产品相比自建BI系统的优点是:能快速使用、更加成熟、节约成本。但伴随业务的发展壮大,场景的复杂化,最终都需要自建BI系统。

自建BI系统主要有两大优势:先是数据安全,然后,更重要的是它更能贴近业务场景。而通用的BI产品,通常很难追踪深入行业背景下的业务问题,更多是展示一堆报表,而不能直观的得出结论,还需要分析人员结合报表分析才能得出结论。

那如何搭建行业背景下的BI系统呢?

主要分为两大步骤:首先通过需求分析深入业务,明确系统解决的问题;然后,结合业务,整理源数据,制定指标和算法,设计展现形式,最后完成数据分析的设计。下文结合实例,详细讲解如何搭建行业背景下的BI系统。

需求分析

BI系统在设计时,很多时候都没有明确的需求的。如果有明确的需求问题就要简单很多了,这里以我负责的医美Sass软件举例。

在设计之初我们调研和走访客户时,客户都表明需要数据分析系统的需求。但是具体需求客户也不明确,只是希望看到某些数据的统计。所以,我们需要深入行业中,找到客户所面临的问题,挖掘客户的痛点。

首先应该明确在行业背景下,BI系统需要满足那些需求。结合业务,BI系统需求主要有下面几类:监控问题、发现问题、找到问题原因、预测与决策支持。

我以医美Sass系统举例,我们挖掘到的以下4点需求:

  • 销售的工作是否积极?
  • 能发现销售额未达预期问题。
  • 能找到销售额未达预期的根本原因。
  • 能预测销售额。

这四点需求只是整个需求池的一部分,我以这四点需求来阐述整个BI系统设计过程。

需求分析主要分为三步:场景分析、用户分析和业务分析。

本文的需求分析只列出结论,具体需求分析过程可以参考我的另一篇文章,善用三个方法,拒绝靠「想」做需求分析

1. 场景分析

根据调研和用户访谈(调研和访谈不是本文重点,不展开讨论),针对上面四点列举出场景故事:客户某天发现发现本周的销售额未达到预期,然后通过查看销售人员和经销商等营销数据,以帮助客户确定原因,并解决问题。

2. 用户分析

需求中角色主要有客户、销售人员和经销商。客户是该BI系统的使用者,销售人员和经销商主要是系统中数据产生者。在分析相关角色,做出ER图(非重点,不贴图了)。

3. 业务分析

客户公司的销售和经销商在进行行业活动时,会使用Sass软件,Sass软件会将相关的销售数据记录下来,推送到BI系统中。

客户使用BI系统时,BI系统会将数据进行处理,将脏数据处理成干净的数据。然后对数据进行分析,最后得出结果,通过可视化系统直观的展现出数据分析结果。同时,结合业务场景给出预警提醒。

在业务分析时,需要分析需求和业务之间的关系,选取代表需求结论的指标值。恰当的数据指标能帮助用户更好地解读数据,得出结论。这主要依靠于产品经理对于业务深入了解和行业的熟悉程度。

以下为业务分析后所得功能清单:

数据分析系统设计

通常产品经理在完成业务分析,得出功能清单后,就可以开始着手原型的设计。但在BI系统设计中,完成业务分析后,更重要是完成数据分析系统的设计。

数据分析系统是整个BI系统的灵魂。在设计数据分析系统时,我们需要与技术人员紧密合作,特别是在数据源选取和相关的算法。

这就对BI产品经理提出了更好地要求,要熟悉统计学和数据分析的常用算法,同时对数据要有一定敏感性。

数据分析系统主要含有四个部分:数据采集、数据处理、数据分析、可视化系统,其对应着功能清单的系统列。

1. 数据采集

数据采集主要是:搜集数据分析所需要的原始数据。

B端产品数据来源,主要分为:系统内数据和外部数据。

外部数据根据具体的场景和业务,可以是外部推送数据过来,也可能是系统通过调接口或使用爬虫去主动采集。当然,外部数据也可以直接通过Excel等载体直接导入。

系统内数据,一般是通过埋点来获取数据。某些场景下,也需要去读取并分析现有的日志数据。

数据采集,最重要的选取合适的源数据。这就需要产品经理对行业有很深的理解,对业务有透彻的分析。所选取的字段一定是和业务存在很大的相关性,或者是重要的影响因素。一旦选取数据产生差池,整个BI系统的根基就坏了。

下面为针对本文需求案例选取的数据字段,来源就略过了。

数据采集到后,会存入到数据仓库或数据集市。

2. 数据处理

数据处理主要做数据清洗和数据格式转化。

数据清洗主要包括检查数据一致性,处理无效值和缺失值。数据清洗需要根据源数据的产生场景处理,可以剔除异常数据、纠正异常数据和补齐缺失数据。

本文的例子,采用的就是剔除异常数据。如果需要纠正和补齐数据,需要使用算法来进行补齐。相关算法有好几种类型,我们需要了解其优缺点,再结合我们的源数据特征来选取合适的算法。我常用插值法和K最近距离邻法来进行数据异常纠正和补齐。

数据格式转化,主要是保证数据的一致性。通常是将相同分析算法的数据,转化为相同的存储格式,将数值型数据转换成相同的计量单位。

3. 数据分析

数据分析是BI系统的核心,通过统计和数据分析算法,监控和查找问题。

数据分析的流程是:根据业务分析选取的指标值作为输出结果,再利用处理后的数据,选取合适的算法,进行分析。

选取算法时,需要技术人员通力合作,明确业务特点,选取最适宜的算法。BI系统的数据源可能会发生变动,所以在算法选取时,需要考虑一定的扩展性。

根据本文的需求分析,系统在进行数据分析时,主要做两个工作,预测和数据对比。

数据预测,可以选择简易平均法、移动算法、指数平滑法、线性回归法、Logistic回归等。因为我们的数据是一组数据与时间的集合,所以比较适合选择多元线性回归。

还有一些更高级的算法,暂时不讨论。数据对比,可以直接通过可视化系统对比即可,比如:针对销售是否异常,可以将实际销售额与预期销售额通过折线图,进行图标对比。

需求中有判断员工是否积极的需求。这类较为抽象的需求,就需要针对「积极性」设计评估模型。针对该需求,采集到数据主要销售数据、咨询数据、日常工作数据。三个数据中,销售数据的权重最高,日常工作数据最低。然后结合数据字段拟定出模型公式。

最后,将以上算法和模型整理成便于阅读的文档,就完成了数据分析系统的设计。

4. 可视化系统

可视化系统,主要是通过图表,将相对复杂的数据和分析结论,直观的展示给客户。

BI系统的可视化系统设计流程:确认数据和指标值->对数据和指标值按场景分类->根据数据选取展现形式->更具展现形式设计页面布局->完成页面设计。

以本文需求为例:可以将数据可视化划分为销售人员积极性监测、销售额预测对比、销售分析(发现销售额异常原因)。

其中,积极性检查可以使用列表或排行榜展示,用色块对销售人积极性标识,也可以折线图描述销售人员积极性变化。

销售额预测可以直接使用折线图。销售分析,由于数据类型不同,可以选取多种展示形式,比如:竞争对手店铺分布数量和分布,可以用地图散点图表示。选取展现形式的原则就是简洁、已读、要点明确。

完成形式选取后,就可以开始布局和原型的设计。完成原型设计后,可以正式进入系统的开发工作。

最后

完成可视化系统设计后,并不代表我们产品经理的工作结束了。一个优秀的BI系统,还需要使用真实数据调优,不断迭代系统,通过导入真实数据,运行系统,来进行系统的优化。特别是算法和模型的一些参数,都需要结合实际数据来找到最优值。甚至在某些时候,模型或算法的缺点,只有在真实数据和实际业务场景下才会暴露出来。

一个优秀的BI系统,需要帮用户发现问题,并找到问题根源,甚至于直接解决问题。

比如本文所举的案例,在此我可以列举一个帮助用户找到问题的场景:

某天,用户收到报警,销售额比预测值低了很多,然后查看销售人员工作情况为正常。同时,又收到经销商销售报警,某个区域经销商销售额锐减,而且发现竞争对手在该区域经销商数量陡增。

这个场景中,就帮助客户发现问题,并找到了问题的根源:某区域竞争对手经销商快速扩张。

在我之前做的产品中,还有一个BI系统结合广告投递的案例。该案例中,BI系统分析出已消费的人群标签,然后接入三方广告平台平台,进行精细化、自动化广告投放。该案例不仅仅是分析数据,还深入到了解决问题的层次。

一个完整的行业背景下的BI系统,应该具有哪些功能?如下脑图:

 

作者:产品小思考,B端产品经理,微信公众号:产品小思考

本文由 @产品小思考 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

给作者打赏,鼓励TA抓紧创作!
2人打赏
评论
欢迎留言讨论~!
  1. 很全面,这样一看,我之前做BI系统设计的时候,只是梳理下指标,然后定义下,就直接做可视化设计了。
    看样子中间的其他过程都是被我司的开发GG做了。

    回复
    1. ;-)

      回复
  2. 感觉分类有些不清晰,监控指标完成、发现问题、和实时监控像是一个事件的三个面。脑图可以再研究研究

    回复
    1. 对,都是针对某一业务的三个面。

      回复