进入互联网某大厂一段时间了,目前在DS团队中任职,除了负责业务分析和数据建设工作,也会涉及到一些人员成长和招聘相关的工作,自己在边做边学中沉淀了一些思考,对数据分析师(Data Analyst)的岗位需求也有了一些认知
1、全日制本科及以上学历,数学、统计学、金融学、计算机相关专业优先,对数据分析有强烈兴趣
2、有银行或金融行业数据分析经验,有大型互联网公司数据分析经验、互联网建模数据分析经验者优先
3、有一线产品运营或业务优化经验者优先
1-3主要是一些基础的岗位要求,包括专业、学历、经验要求等,这些根据岗位所在的行业、部门职能会有不同的要求。从这个描述我们可以看出来这个岗位主要是互联网金融行业,偏向一线业务优化 的数据分析师岗位
4、精通SQL,熟练使用R/Python进行数据清洗、分析
5、能快速理解业务,发掘业务细节和数据之间的联系
6、掌握Tableau等BI工具优先
4和6是经典的一些数据分析师的技能要求,包括语言技能(SQL、R、Python)、可视化技能(Tableau)
5则是数据分析师的思维逻辑能力要求,包括业务理解度(能快速理解业务)和数据敏感度(业务细节和数据的联系)
从这个岗位要求描述,可以给数据分析师做个简单的定义:
数据分析师是指具有一定编程和可视化能力,熟悉行业逻辑的能够基于业务理解和数据敏感解决问题的高素质人才
由此可以延伸出大家常出现的两个误区:
数据分析师常常也被称为数据科学家,但这里的“科学”,是相较于“工程”而言的。其实数据分析师往往是对业务非常了解的人,无论是偏向一线业务的数据BP,还是偏向战略方向的分析师,都需要至少对一种行业的商业模式、业务特点有充分的理解
数据分析师的确需要一定的编程能力,但首先它对于数据分析师而言只是一种工具,不需要多精湛的coding能力;其次数据分析师还需要有较强的数据可视化能力,来挖掘数据的特征以及展现自己的分析结果
上面的例子只展现了一部分的能力要求,实际大家还常常会看到诸如“数仓” 、“埋点”、“算法模型”等等的一些要求,这里做一个完整的介绍
如果你有兴趣成为数据分析师,希望从现在起学习一些必备的工具和能力,可以从以下几个方面入手
这是入门的数据分析师必备的技能,熟悉埋点设计的分析师才能了解数据的意义、来源和局限性;而熟悉数仓建设的分析师,能够更加高效的处理和使用数据,并且真正意义上的迈入“大数据”时代
埋点其实就是日志(Log),譬如要分析用户活跃的特征,实际是对用户的登录行为(login)进行埋点和分析,通过记录用户登录的日期、时间、设备、入口等信息,分析用户活跃的行为习惯
数仓即数据仓库(Data Warehouse),实际就是体系化后的各种数据表,这里的体系化包括数据的ETL流程,数据分层(DWD、DWM…)等等
实际的工作中分析师不会直接的进行相关的开发,但是具备相关的知识储备可以让你快速了解一个业务的数据仓库建设,并且在必要时能够建设自己负责的业务数仓,大大地提升分析效率
它很古老,也很不好理解,但目前它仍然是数据科学领域不可或缺的基础,随着数据量级指数级增长,SQL的高运行效率越来越不可取代,在大多数时候分析师都需要通过SQL进行数据的获取和基础分析
那么SQL需要学到什么程度?
除了基础的select /where /group by语句,还必须掌握表连接join和常用的聚合函数sum /count /distinct /percentile等,如果可以的话最好也学习一些基础的窗口函数用法,对于“topN参与率的玩家”等高频场景可以高效实现
几乎所有的数据分析课程都会推荐你购买配套的R/Python课程,它们并不是必要的,没有掌握这些技能并不妨碍你成为一个数据分析师。但拥有这些技能的的确确可以显著提高你的工作效率
同样的,R/Python需要学到什么程度?
最基础的,需要把R/Python用到能够像Excel一样操作数据,包括增删改查,vlookup,聚合运算,数据透视表,以及常见的可视化能力。 可以试试先在Excel进行小规模的数据载入,清洗,计算,分析和可视化,然后把这个过程全部在R/Python中实现,当你可以做到这一点的时候就算出师了
进阶的话,则是一些常用的统计检验方法的实现,以及各类算法模型包的调用和参数优化,这里其实更多是工具的使用,会在下方的算法模型里面详解
再再再进阶的话,则是学会部署服务,实现一些常用分析的自动化运行、生成报表、可视化;又或是掌握爬虫技能,走向犯罪的道路(不是
【MATLAB】:放弃吧。。这种贵的要死只能用盗版的东西,不会有多少商业公司真正使用的
【SHELL】:emmm。。。如果看到这个要求,也许他们需要的是一个偏运维的数据工程师,而非分析师?
【C++】:八竿子打不着。。。。
【JAVA】:八竿子打不着*2,恐怕学习JAVA能帮到你的就只有了解互联网的APP是怎么开发的
【HTML】:也不是完全没用,如果你对爬虫有兴趣那还是需要掌握一些基础的
【Visual Basic】:emmm。。应该不会有人在excel里面开发脚本吧?为什么不直接用python呢?
有一点请记住:所有的语言都只是为了实现分析目的,实际上excel的数据透视表、趋势拟合、函数可以完成分析师90%的工作,所有的语言都不过是在此基础上的拓展罢了,所以语言需要学,但更重要的是多用
简单来讲就是画图,画各种各样的图,条形图/直方图/折线图/箱线图/小提琴图/桑基图等等等等。但可视化只是工具,最需要学习的是可视化背后的分析逻辑和思维方式:当我们画直方图时,其实我们想要的是了解数据分布;当我们画桑基图时,我们想要了解的是个体的流转变化
数据分析师往往能够通过图表帮助自己快速了解数据,也能通过图表有效表达自己的思路和观点
首要的是Excel里的各种图表,这里不仅仅是选中数据然后生成图表,基础的颜色、字号、坐标轴设置,以及常见的可视化方法,如数据标注、图例、趋势线、组合图都需要掌握
当你能够熟练的使用后,尝试做一页精美的PPT吧,最重要的是把你的观点和数据支撑通过可视化的方式呈现出来
而我们常听到的Tableau,只是一种高度集成的可视化工具,提供了更加强大的图表制作能力而已,只要你掌握了可视化能力,这些都是非常简单的过程。
如果有批量生成图表的需求,可以尝试R/Python的可视化工具包,如常用的matplotlib、seaborn
噢,顺道一提,好的分析师不一定会做很精美的图表,但是会做精美图表的分析师一定是非常受欢迎的人 。 所以,所谓技多不压身,不妨多花时间去学习更多的可视化工具!
与数据可视化不可分割的,是文档表达。人们常常会忽视表达的重要性,在是工作中常常遇到一些分析师,明明能力超强思维敏捷,但别人总会觉得他思维混乱不知所云,这其实就是只会分析而不会表达。
分析师只有拥有优秀的文档表达能力,才能够将自己脑海中的观点和论证过程有效地传递给别人,真正实现价值。无论是视频、文档、公众号、还是PPT,其实本质都是用于表达自己观点的媒介
举个例子,我们通过了某种算法找到了一些关键用户,以下是通过表格展示,和通过网络关系图展示地差异
这里说的算法模型,主要是指各种机器学习、深度学习、神经网络、回归预测模型,数据分析师不一定都掌握这些技能,但这是分析师的一个重要能力分支,通过使用这些模型工具,可以帮助你拓宽更多的分析思路,从海量的数据中挖掘出更多的信息
这里推荐一本非常通俗易懂,又很有意义的书:《数学之美》
简单做一下列举:
预测模型:决策树、线性回归、随机森林、xgboost、lgbm等
聚类模型:k-means、DBSCAN、CLARANS等
NLP:情感分析、分词、TF-IDF等
时序模型:AR、MA、ARIMA等
要想在算法模型进行学习,可以尝试kaggle上的项目,如果能在非训练项目中拿到Top30%以上的排名,一定要写到简历上!
比较粗浅的理解的话,数据分析师考虑的是如何应用模型解决实际问题,如何在可接受的成本范围内获得更好的效果;而算法工程师更多的是考虑运行效率、准确度和工程的稳定性
以上是关于“招式”的一些思考和分享,也是自己在面试过程中常常会考察面试者的一些角度
如果以上技能都能够掌握,那么你无疑是一个合格的数据分析师
如果在此之上,你能在其中一个或多个角度有丰富的经验,相信大多数据科学部门都会向你伸出橄榄枝
如果你有兴趣成为一名数据分析师,可以尝试对以上的4个角度都完成至少1个实践,你将在面试中表现得游刃有余
如果这些实践是贴近真实的
最后,除了“招式”,还有一些数据分析师必须掌握的“功法”,是判断一名数据分析师是否有足够的【潜力】的重要依据,敬请期待吧~
有兴趣成为数据分析师的朋友,欢迎用简历砸我的私信!