“报表工程师”的自我修养

2019-07-10 18:31:48 浏览数 (1)

本文为数据茶水间群友原创,经授权在本公众号发表。

关于作者:我是水大人,资深潜水员,一个基于开发、面向分析、走向全栈的饱经摧残的数据新手,爱折腾不爱玩,爱总结爱思考的老兵,错了改改了又错的惯犯。

0x00 前言

报表开发在很多的数据从业人员看来几乎都或多或少的要涉及,也广泛被认为是最没技术含量,最容易被替代的。其实在各大招聘网站上也找不到报表工程师这个职位,但是它却隐藏在大数据BI工程师、数据分析师、数据开发工程师等JD的要求上。而且广泛的被数据分析师来承担成构建数据监控体系来一言以蔽之。个人认为,搭建产品的基础报表体系是大数据BI工程师的主战场,数据分析师只是在基础的报表体系基础上完善开发专题分析的报表。然而由于现在的数据工作并无明显的界限划分,但严格来说,一个产品的基础数据体系搭建是大数据BI工程师的正统职责。本文以报表工程师自我修养的目标——大数据BI工程师,介绍报表工程师如何提高自我修养。

通过本文的阅读,你将获得以下四方面的认知:

1.BI工程师日常工作

2.BI工程师技能分解

3.BI工程师注意事项

4.BI工程师职业发展和思考

0x01 BI工程师日常

大数据BI工程师的日常工作可简单总结如下:

  • 数据体系

协助数据产品、分析师完成数据体系蓝图的搭建,将指标定义准确落地形成高可扩展的统计代码。快速搭建新增、留存、活跃、回流等基于用户型产品的大盘体系,辅助LTV、用户价值、用户分层等体系的建立。

  • 接收报表需求进行报表开发

BI工程师的重点职责,报表需求评审完后,将报表定义的指标口径严格落实成代码逻辑,开发数据集市,并使用报表开发工具进行BI报表配置。报表开发是数据开发最直观的成果体系,因此也被戏称为”表哥表姐“。

  • 接收埋点需求进行埋点设计

埋点设计工作是BI工程师的重点工作之一。参与埋点需求评审等阶段,将数据产品转化的或者直接对接产品,将数据采集需求准确无误地落实成埋点设计,供业务开发进行埋点设计参考,过程中会进行埋点释疑沟通,确保业务开发准确无误地理解埋点设计,同时后续也会参与到埋点验收。需要说明的是埋点的整个流程数据开发未必会全程参与,但是埋点设计这一环一定得是数据开发主导。

  • 负责日常数据正常产出,发现问题并及时定位

报表数据正常产出是BI工程师的日常例行工作,但是ETL延迟、计算错误等情况都会影响其正常产出,此时 要依据数据血缘及时定位和解决问题,虽然也有任务自动调度的加持和任务异常的预警,但并不是全能的,大多时候还是需要大数据BI工程师介入,此外某个任务的计算优化,提高数据产出的效率,也是大数据BI工程师的职责之一。

  • 指标异常波动分析

虽然指标异常波动分析,很多时候都会作为数据分析师的专题来进行,但牵涉到数据异常、计算异常的情况下,首先由大数据BI工程师进行排查。

  • 临时提数需求

BI工程师的工作会和数据产品、数据分析师重叠,承接一部分底层数据的提数,比如用户行为log、上报行为排查等

0x02 BI工程师技能分解

基础能力

技术能力:

linux、shell、sql(mysql/hive/spark)、excel、python/r、tableau/powerbi

沟通能力:

1.埋点必要性的质疑

2.埋点上报时机的讨论

3.数据报表指标定义讨论

数据埋点

直接对接产品、数据产品或者只看埋点文档进行开发,在不同的公司可能不同的人员负责,有的是数据产品负责、有的是数据分析师负责、有的是数据开发负责。不管分工如何,个人认为埋点设计的最终确定应该由大数据BI工程师负责,其它人员负责埋点需求的转化,保证采集信息全面准确。这是因为和埋点上报数据打交道最多的还是BI工程师。

数仓设计

数据仓库是数据开发的骨架,很大程度上决定了整个数据开发的高度。而这个地方往往也是最容易被忽视的,为了快速的完成报表开发任务,各种拼凑组合,或者从几近ODS层不断的重复相同的处理操作,数据表混乱冗余。尤其是当数据人员流动大的时候,没有好的数仓设计思想和文档沉淀,后人很难复用前人的工作。“前人不暇自理而后人骂之,后人骂之而不鉴之,以示后人而复骂后人也。”循环往复的怪圈,而数仓的质量一直没有改善。

不管是利用维度建模或者是ER建模,结合自己业务的特点,进行数仓的分成、分线、分主题的设计。并将设计沉淀成数据字典手册、数据血缘图等,对提升数据开发效率、数据表鲁棒、减少数据不一致,提高排查问题的效率都大有裨益。

数据可视化

BI工程师的显而易见的成果就是数据报表,而数据报表就是可视化,具备一些基本可视化知识,会让设计的报表更具表达力。此部分虽然很受限于公司的报表系统,但图表类型的选择、图表格式的调整、图表颜色的搭配仍有可发挥的空间。

0x03 BI工程师注意事项

开发和治理并重

数据开发和数据治理要并重,不要只顾着开发,而不管数据治理。大多数的数据问题在开发阶段都可以避免,不要等到污染了,数据质量问题一大堆才想起治理。为此在数据开发的过程中要遵循以下规范:

1.代码规范

2.数据字典的维护

3.数据血缘梳理

4.数据指标口径定义和维护

5.数仓规范

参与制定规范,并将规范落地,具体设计的表的命名、数据表的存储周期、表的安全管理

6.报表生命周期管理

不要只顾着做报表,而不去梳理报表之间的关系,及时下线或者更新旧报表,数据报表的简单堆积,只会造成满眼尽是报表而无数据可看的境地。

此外,输出一些规范化的文档,比如埋点需求模板,报表需求模板,降低非规范化带来的沟通成本。

维护数据业务手册

“程序员最烦的四件事:写文档,写注释,别人没写文档,别人没写注释”,维护数据业务手册,介绍数据的运转体系。包含以下内容:

1.数据现状

数据存储地址、数据开发方式、数据工作相关人员构成(数据产品、数据测试、业务开发、产品等)

埋点处理流程:团队共用,提供链接即可报表需求处理流程:团队共用,提供链接即可

2.重要指标

核心指标计算链条,口径定义

3.重要维表的更新方式

尤其是手动维护的维表,一定要写清楚维表的更新时机、更新方式,和该维表的影响

4.BI工程师有哪些需要规避的问题

每个数据项目都有坑,记录下来这些坑,让后继者规避。

5.数据平台的相关的使用和注意问题

数据平台往往也有自己的手册,此处提供链接指向即可,再加上自己在使用平台过程中遇到的问题和相应的解决办法。

维护数据业务手册的目的,一则帮助自己梳理数据体系,发现潜在问题。同时也是一份极好的传承文档,帮助后来人快速了解数据全貌、运行流程、展开数据开发工作。

沉淀方法论

将业务中的问题的解决过程沉淀成方法论,以后遇到同样的技术问题可以快速套用进行解决

1.数据故障问题和相应的经验教训,规避措施

2.指标异常波动的分析思路,分析方法自动化

方法论沉淀的目的,一则是提高同类问题发生时定位排查解决类似问题的效率,二则是在问题未发生时,提前采取规避措施,避坑。

另外一方面是跟着产品或者运营,观察采用了哪些措施进行拉新、提高留存、提高转化率等,而这些经验不仅仅是产品设计功能或运营活动的思路,也是自己分析问题的思路,从这个角度出发,也最容易对业务发展产生直接的推动作用。

比如说新增用户次日的留存率环比降低了,有哪些方法论可以去排查定位问题,其思路就有如下:

  • 基础排查
    • 数据上报、入库和计算是否异常
    • 是否存在功能服务故障
    • 产品功能更新、运营活动、中控配置等
    • 节假日、影响产品功能的社会热点
  • 扩展排查
    • 横向: 分渠道、分用户群(可能存在大量低质用户群)
    • 纵向: 核心业务上下游漏斗关系、历史同期

0x04 BI工程师职业发展思考

正如序言中所说,纯粹配置报表的任务很容易被自动化替代,尤其是现在自助BI发展的,简单的进行托拉拽即可完成报表的配置,连SQL都不用写,BI工程师的职业发展概括起来是一个中心,两条路。一个中心是以业务为中心,两条路是从报表出发往数据的上游走和往数据的下游走。

贴近业务再贴近业务

BI工程师直面业务,数据的终极目的导向也是业务导向,要么驱动业务用户增长,营造用户生态;要么推动收入增长,持续为公司创造收入。BI工程师与数据分析或者数据挖掘工程师相比,有着得天独厚的接近业务的优势,从功能策划上的产品改动、埋点需求上数据采集的方案的制定、报表设计上反映业务状态的指标,无一不是与业务强相关,而BI工程师几乎全程参与。

因此BI工程师的核心竞争力也在于对业务的理解,能根据业务的特点,快速设计并搭建一套最小化可运行的数据体系。

此外基于业务和技术积累,结合新业务的特点快速将一套最小化可运行的数据体系部署,也是大数据BI工程师的一个核心技能。

BI工程师最切忌的是不要把报表数据自动化产出当成自己的全部任务,以为只要数据正常产出就万事大吉高枕无忧了。这只是BI工程师的基本工作,不追踪数据后续的应用价值,就像辛辛苦苦从种子培育到果子快成熟了,却放弃了,被数据分析师、数据运营等截胡了,十分的可惜,沦落为纯粹的“表哥表姐”的BI工程师的职业发展是暗淡无光的。

增强上下游一体化能力

数据采集(埋点设计)、数据模型(数据加工处理的方法论)、报表(数据展现)是一个整体,单做报表是很难看到数据的全景,BI工程师看到数据全景有两条路:往上游走,往下游走。

  • 往上游走

报表的产出并不是简单的写sql或者托拉拽就了事的,要关注数据产生的链条,做到知其所以然。而数仓建设就是描述数据的存储加工计算的方法论,再往上走就是业务原始需求和转化(埋点设计),埋点管理、设计的本质是采集到更全面、准确的数据,为数仓建设大厦提供原材料,从这个角度来说,数仓是上游任务的核心。

  • 往下游走

虽然在配置报表的时候已经获得了一部分业务方关注的重点,但业务放如何看报表,指标间的关系是怎样的,指标的波动说明了什么,这些涉及报表使用和报表价值的跟踪,则需要BI工程师主动去挖掘了。

往上下游走,最终的目标是从业务中来,到业务中去,形成数据体系闭环,同时完成业务闭环,拥有全链路能力的BI工程师才能称为数据的owner。

综述,数据行业相比于其它行业,更需要全栈人才,懂业务又懂数据开发的人才是难得的,关注追踪数据驱动业务的价值和数据赋能,应该是每一个数据从业人员心中的灯塔。

0xFF 总结

大数据BI工程师是数据应用开发的一部分,不同于数据平台开发,其基本职责是高效及时准确的数据采集、数据处理、报表产出,以报表反映业务状态,持续助力商业BI,驱动商务智能。此外为数据分析师和数据挖掘师提供高质易用的底层数据。不同公司对该岗位的定位和要求也不一样,其工作职责范围也不尽相同,但都不要限制自己为“表哥表姐”,往上下游走,做数据体系的实施者;贴近业务,做有价值的数推官-大数据BI工程师。

0 人点赞