数据分析师需要具备哪些能力?(二)
二、数据需求处理与数据报表开发
数据需求处理
作为数据分析师不管在什么行业、在什么类型的公司任职,能够把公司的业务流程、业务逻辑、业务与数据对应起来这是基础中的基础,只有这样才能不会变成单纯的取数机,才能在日常的数据分析工作中给业务方提供有价值的分析内容。
在日常工作中,经常会面对业务方的数据需求,对数据需求的处理,也是数据分析师的重要能力之一。
所谓的数据需求,就是业务团队根据业务需要向数据分析师提出的想要的数据内容。例如:本月做了一次促销活动,想知道促销活动带来了多少新客户和留存情况,同时想看一下,老客户都购买情况。业务想要基于这些数据进行活动总结,来分析这次活动是否达到预期。
数据需求往往也是帮助一个数据分析师去理解业务,和业务建立紧密关系的最重要的场景,是数据分析师理解业务问题与痛点,与业务伙伴建立沟通的桥梁。
在一些业务快速发展的公司,数据需求处理往往占据了数据分析师非常大的工作量,特别是对于初级数据分析师来说,数据需求处理可能占据了他们80%左右的工作时间,初级数据分析师在工作一段时间后,可能会觉得天天都是拉数据和处理不完的数据需求【特别是在数据平台或者数据仓库建设不是那么完善,数据提取效率比较低的公司,另外有时候由于数据仓库底层表格特别多(多的时候可能一千多张),而公司的数据开发/治理却不怎么好,就会导致表的生命周期管理不是很好,这也会影响到数据需求的处理效率】。
为了更加准确的提供业务需求,在收到业务数据需求的时候,一定要多思考,多问自己几个问题:
在数据处理前:
为什么要提这个需求?
业务中是谁真正会用这个数据?
要解决的问题是什么?
用这些数据能不能真正解决业务的问题?
在数据处理后:
当给出业务方的数据需求时,最好是把每个数据的口径说明清楚,并检查给出的数据准确性。同时也可以根据你的理解,再对这个需求提供多一些数据内容,从而帮助业务方做更进一步更深层次的数据分析。
【取数的代码往往是有很高的重复性的,在做完需求的时候,最好是对代码进行归档,然后在后续的需求中进行局部代码修改提取数据,这样速度要快很多,可以提升效率】
对业务比较理解、数据比较熟悉后,在处理数据需求的时候,最后是在理解完数据需求的基础,主动和业务做一次沟通(一般是说我们一起确定数据口径)。然后对数据需求中的数据口径,时间范围作一个讨论,从而确定数据需求,也顺便了解一下业务。这样对后续数据需求处理效率,以及避免需求处理返工有很大的帮助。
如果所有公司有非常多的各种临时需求,一方面:一般说明公司业务还在发展或者变化中,很需要数据来支持和帮助。另一方面:如果你不能很好的响应与处理需求,对你来说是个坏事,你会天天认为自己的工作就是在处理需求,天天都在写SQL代码,没有什么价值,所以理解业务从而快速响应和处理需求就非常重要,如果能做出自动化取数是更好的。
数据报表设计
数据分析师除了临时的处理数据需求之外,还有很多的各种数据报表需求,在设计报表的时候要基于业务场景,来思考要用什么样的数据来帮助业务做出更正确的判断。
在开发或者设计报表时,要先思考这些问题,可以帮助我们更好的把数据报表设计好:
- 报表的使用对象是谁?(使用对象分二类,一类是直接使用对象,一类是间接使用对象;例如:把报表数据导出进行个性化加工,发给部门负责人。)
- 报表要解决什么问题?(数据的使用对象想用这个报表来解决什么问题,比较建议一张报表应该解决一个场景的问题。)
- 使用报表的时间?(一般报表什么时候用,这涉及到报表的数据更新时间。不同企业数据底层架构的稳定性、数据质量可能不一样。所以在明确报表使用对象基础上,报表什么时候用决定了报表数据更新。)
- 报表需要的内容是什么?(报表具体可以取的数据指标和数据维度,以及数据报表的时间范围。)
- 为什么需要数据报表?
- 数据报表定位是什么?
- 数据报表要解决谁的问题?
- 数据报表应该怎么设计?
- 如何评估一张报表的好坏?
- 如何对报表进行生命周期管理?
- ……
那么什么时候适合开发数据报表呢?正常应该在二种情况下比较适合开发数据报表:
- 业务发展稳定。当一个新业务开始的时候,并不着急开发相关的数据报表,业务刚开始的时候,更适合通过数据需求的方式去处理,因为新业务刚开始的时候经常会发生变化而且业务逻辑也不稳定,可能报表刚做好业务或者内容指标就就发生变化;
- 数据需求频率高。站在业务角度说,希望所有的需求都可以开发成报表,方便后续需要数据可以随时去取,但很多需求可能是临时性或者周期性(周期较长,如半月、一月),从开发、维护成本角度来说,投入产出比不高。数据分析师可以通过定期手工提取或者自动邮件发送的形式来满足,并不需要做出报表。
收到报表需求后,数据分析师应该先有判断。并不是收到数据需求后,就为开立即发数据报表做准备,要先从业务稳定性、数据需求频率等角度考虑,多分析这个数据报表需求的可行性,如果不开发成数据报表,是否可以提供其它方式更好的满足业务。
数据分析师如果可以把数据报表设计好、数据需求处理好,那么对于业务来说,就满足了业务基础的数据服务,达到了为业务基于数据对业务异常的定位、监控的目的。
那么,在解决了数据需求和数据报表之后,业务方就可以更加快速的定位到业务问题的所在,那么,接下来要回到的就是要怎么解决问题了。
这时就需要我们开始针对具体的业务问题和业务场景进行专项的数据分析。