数据库 频道

一份给数据分析小白的指南

随着大数据时到的到来,把原始冰冷的数据转化为有意义的见解成为了这个时代新的超能力。本文将带你从最基础的认识数据、到了解数据分析师的工作内容、需要的技术和软技能、再到新手入职的tips、容易犯的错误和最后数据分析师的好习惯来展开。

引言

你有没有每月记账看自己各方面的花销并对比计划来调整花费?你有没有每周收到手机推送的app使用时间报告并以此跟自己说要少花点时间在social media?你有没有追踪自己的体重或者BMI来判断自己是不是又该运动了?如果你有,说明你已经在用数据帮你做决策,进行数据分析了。

什么是数据?

数据的定义太广泛了,但工作场景的含义通常是一个有行和列的表(table):每一行代表一条记录(record/observation),每一列表示一个变量variable/指标metrics。

变量可以分为:数值型变量(numerical能进行加减乘除的计算的)和定性变量 (qualitative/categorical有有限的数量,比如性别,种族)。数值型变量又可以分为连续性变量和离散型变量(比如家里几口人,几辆车)。定性变量中有一类序数变量(ordinal variable)内含了一定的程度和顺序,比如你对客服满意度的评级。

变量的分类

每个数据点有3个纬度值得关注:变量名,数据类型和数据值。数据类型在不同的数据库软件中有所不同,但大体上都可以分为:text/string,date and time, number, Boolean(0/1, True/False)。

什么是数据分析师?

同一title下的数据分析师可以做着截然不同的事,这与行业、数据量大小、公司/组织大小,服务于谁都有关系。但总体来说,数据分析师需要通过对数据进行一系列推理、实验、计算,来描述一个组织/过程的现状、研究不同变量之间的关系、检测异常指标、分析事件/行为的原因,甚至预测未来事件发展的趋势(最后这条一般由需要建模的数据科学家来完成)。

备注:数据架构师(Data Architect)是那些处理数据存储、数据使用、数据管理和在不同系统间整合的人,他们定义了数据的标准和准则。数据工程师(Data Engineer)是那些建数据库或者和数据仓库(data warehouse)打交道的人,他们负责各种各样的数据清理和转化,他们把处理好的数据给数据分析师和数据科学家使用,大公司或者职责划分比较清晰的公司会有专门的数据工程师。而数据分析师就是拿着比较干净的数据进行进一步的操作,直到最后进行数据可视化,产出有效的见解,帮助企业决策。

数据分析师需要的技能

通常需要的基本技能有Excel+SQL+用BI tools (Tableau,PowerBI等)进行数据可视化做dashboard。再进阶一步会需要统计学的知识会做假设检验来判断一个campaign/test(实验)是否有效。再进阶会需要python/r的技能做一些数据检验、清理和数据转化。再进阶就需要行业知识,数据敏感性,这要靠经验和大量的对行业的学习来积累。

备注:数据转化:例如选取有用的数据列、用已有的数据进行计算并添加新的数据列等。

但成为一名数据分析师所需的技能绝不仅仅是会写一些代码、用一些软件那么简单,软件/编程语言总在不断更新换代,他们也只是解决问题的工具(比如计算一个商家的平均客单价可以用Excel,SQL,Python或者R任何一个工具来实现),但是以下软技能是成为一名数据分析师一直需要而且不可或缺的能力:

·明白你要解决的问题,甚至能根据数据提出有价值的问题。

·找到并收集数据回答你的问题。如果你想知道我们有没有达到发货目标,那你就需要知道从我们收到订单到发货要多久,我们的目标是多久,然后从哪里找订单数据、发货数据,我有没有这些数据的权限,我有多少数据,而又需要多少数据来回答这个问题。

  • 不是所有需要你解决问题的数据都在一个地方,有的可能来于Excel spreadsheet,其他部分在snowflake,还有一部分在MySQL,你要能够整合所有数据帮助你最后的dashboard或者解决某一问题。

·明白你数据的质量,能检查并发现数据的问题(如果有)。

  • 明白数据怎么来的,是直接来于客户还是我们内部进行了数据的处理,如果有了问题是客户data source的问题还是我们数据清理/转化过程的失误

  • 备注:当你做报告的时候也要标注数据来源,因为这可以帮助你追溯出现问题的路径。有时候系统升级或者数据在数据仓库处理中,你作为end-user不知道这些情况,当你汇报时,但你的老板(或者其他上级的人)更了解big picture,就可以很快的指出你的报告是否有问题,并帮你debug。

·明确哪些数据重要。你会被给到很多数据,但你要能找出解决某个问题特定的列/指标。

·能计算有效的指标。不是所有需要你解决问题的数据都已经存在在数据库里,你要学会用已有的信息,计算你需要的信息。

·用简洁、容易理解的方式汇报你的结果。

  • 很重要的是明确你汇报成果的对象,如果是business people/领导级别的人,他们不想知道你如何一步步实现的结果、进行了哪些复杂的计算,他们就想你通过一些通俗易懂的可视化图表,看你对某一问题的结果/答案。

新手入职 Tips

先别急着上手做什么项目,花一些时间看公司现在用哪些report做决策,学习已有的report,你还能从中学到一些行业/公司的基本准则/规则,比如某个指标的benchmark,呈现过去30天还是一年的数据,关注全国还是某个地区的数据等等。

在这个过程中,多问问自己做这样一个report,我需要哪些数据,从来收集这些数据,你有没有这些数据的权限,问问同事他们找谁拿到的数据。

找一个容易上手的dashboard进行练习。

读工作流程图、一些数据处理/数据分析的手册等。如果没有这些东西,通过和同事的交流、请教,自己写一份工作流程的documentation/workflow是一个很好的开始,不仅让你梳理了工作的框架、明白不同表之间怎么join,你也创造了超出分析数据本身的价值。

工作流程图示例

新手常犯错误

1、没有花足够的时间理解数据。

任何人都可以搞一个pivot table或者进行一些计算,但你要有没有注意数据间的关系,你做的事是不是解决了问题/符合目标?

2、没有检查重复值(duplicates)。

3、没有做一些基本的求和,求平均值和计数的计算来看结果是不是符合逻辑,比如product table有产品单价,order table有sales amount,那sales amount除以quantity sold 是否和unit price一致。

4、没有记录你要解决的问题和答案。

这帮助你不问重复的问题,以后有问题也有文档可循。

5、没有用其他的方法验证你的数据结果。

每个人都可以展示一个数并让他看起来很正确,更要命的是逻辑上的错误不会有报错提醒。

6、因为害怕不问问题。

人们总是提供你他们觉得你需要的requirement,但这并不总是和你需要的一致。

问有价值的问题高效地完成你的工作也是一种能力,有价值的问题包括业务方给你提供一个诉求,你发现一些东西需要更清楚的阐述,或者考虑到这个诉求的目标提出的一些concern,去寻求confirmation。

7、不问是否已有文档记录/解决了相关的问题,如果有,你可以更高效更聪明的工作,而不是傻干傻琢磨。

数据分析师的好习惯

1、如果你不知道答案,不要猜或者编一个结果。

决策者是要拿你说的话做决策的,不确定的时候明确告诉对方你需要再核实一下或者查到结果后再给ta update。

2、除了自己检验自己的数据分析过程,peer review也是很好的方法,越是有经验的数据分析师越会支持鼓励你多花一点时间做peer review保证结果的正确性,他们这么做并不是担心你能力不够。

3、开会要做好准备,有效利用时间。

就我个人而言,不管是别人invite我的meeting还是我自己organize的meeting,我都会准备一个list,前者我会准备要问的问题,后者我会写会议的流程。

4、每个人都很忙,好不容易找人问到了你的问题,记得take notes。

5、presentation之前提供上下文/项目背景,帮助听众更好的理解你的演讲内容。

具体包括标注数据出处、定义名词或术语、需要他们从数据中得到的信息。

6、给别人发数据的时候建一个readme文档,标注数据出处、你做了哪些数据清理和转化,如果需要再加一个数据字典:解释列名和一些针对数据的注意事项。

0
相关文章