【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

前言

近几年来,大数据、人工智能、云计算概念如火如荼,而数据分析作为大数据和人工智能领域必备的职能之一,在人才市场上需求越来越强劲。

那,数据分析职位,一般在哪些城市需求较多,各城市分布情况如何?需要哪些技能?适用于企业哪些业务哪些职能?薪酬竞争力如何?集中在哪些行业需求较多?

接下来,以2019.4.23拉勾网最新发布职位数据为例,一窥数据分析职位现状。

一、研究问题

1、全国数据分析岗位的需求主要分布在哪些区域、行业?

2、数据分析师对经验、学历的要求如何?

3、数据分析的薪酬分布情况如何?

4、哪些企业存在较为高级的数据分析师需求?

5、职位所需关键技能有哪些?适用企业哪些职能(e*品/借贷/风控/运营等)?

二、数据收集

爬虫工具:后羿采集器

数据来源:拉勾网(285条)

筛选依据:城市-全国,搜索项-数据分析

采集时间:2019年4月23日

三、数据清洗

拉勾网采集的数据比较完整,需要补充和清洗的地方不多。这里简单记录一下数据清洗的过程。
主要涉及到的操作有分列、替换、筛选、删除,以及一些公式,如mid、SUBSTITUTE等,比较简单,如果遇到难题可以先尝试Google/Baidu搜索。

下面进入具体的操作步骤——
(注:刚刚对“数据分析”职位数据处理过程没有截图留存,现在用另一份“数据”职位来操作说明。)

1、分列:将聚集到同一个单元格的薪资、工作年限、学历多项信息分开。

此处以 li_b_1列 “20k-30k 经验1-3年/本科” 为例,其他列(例如industry)则简单一些,直接使用“数据-分列-特殊符号”即可。

(1)使用SUBSTITUTE公式先将 li_b_1列单元格内换行符替换成普通符号“/”:
=SUBSTITUTE(A1,CHAR(10),"/") ——注:char(10)表示换行符的意思。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
(2)将带有公式的 li_b_1列通过“复制-粘贴值”的形式,将公式转换成本文值格式,以便下一步分列。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

(3)通过特殊符号“/”和“空格”分列(“Tab键”是默认勾选,留着无伤大雅)。
如下图,看数据预览界面,已成功分列。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
(4)其他列例如“industry”比较简单,直接用特殊符号分列即可,无需做其他处理措施。只是该列特殊符号有“空格”和“、”和“/”,需要进行三次分列,然后通过筛选,把三次分列结果汇总。此处不过多赘述,有疑问可以留言。

2、提取城市名称,以便分析城市间职位差异。
使用mid公式:
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

3、将薪资范围转换成具体数字,以便后续数据透视及可视化。
(1)先通过特殊符号“-”分列,得到最低薪酬和最高薪酬。此时薪酬数字后边带了“k”。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
(2)选中最低薪酬和最高薪酬两列,通过CTRL+H 打开替换窗口,将“k”替换成空值。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
替换后效果如下:
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

4、将公司规模按照人数从少到多,分别加上abcde标志,方便后续可视化绘图时自动排序。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

5、删除重复项,以便干扰后续分析的准确度。
(选择全部数据,未发现重复值)
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

6、删除不相关职位数据,避免实习职位对整体职位分析的影响。

删除“实习”7条记录,剩余268条有效数据。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

7、添加一列“职位含金量”,按照最高薪资(>=20k)和最低薪资(<10k)划分为三个标签:高端职位、入门职位、普通职位。

这一项是,后面分析的时候想到多一些维度,回来补上。

—— —— —— —— —— —— —— ——
最高薪资(>=20k):高端职位
最低薪资(<10k):入门职位
其他(介于以上两者之间):普通职位
—— —— —— —— —— —— —— ——
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

8、调整行业industry

后面分析我们发现,如果用源数据的行业中第一项作为标的,则“移动互联网”行业占据了大半壁*,而源数据“行业”的第二项则被忽略,这样一来可视化结果的可参考性不足。所以我们回到源数据,将第一项为“移动互联网”而第二项不为空且有有效值(例如“金融”“数据服务”“电子商务”等)的数据,尽量统一为去“移动互联网”的格式。

统一后的格式如下:
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

四、数据可视化分析

数据清理完毕之后,即可以开始正式分析过程。Excel也有自带的透视表和透视图等可视化功能,不过毕竟侧重数据分析功能,而在可视化方面稍逊于同为Microsoft家族专门定位“数据可视化”的Power BI,所以,接下来我们采用Power BI 来进行可视化分析。

以下是具体的分析过程:

1、全国的数据分析岗位的需求主要分布在哪些区域、行业?

了解这一问题有两方面用途:
一是预知自己所在城市/目标求职城市的数据分析职位市场是否足够大,允许自己做更充分的尝试和选择;
二是在求职之前,明确并选定自身的行业方向,聚焦自己有限的时间和精力,有针对性地了解行业业务知识,使得求职更有竞争力;
三是充分掌握数据分析人才市场薪酬行情,对标自身能力,做更贴切的职业定位和职业目标。

(1)下面分析了不同城市的招聘信息数量。
招聘需求最旺盛的五个城市:北上深广杭。其次是沿海省会或经济较发达的二线城市。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

(2)接下来看看行业分布。
我们看到除了“移动互联网”之外,需求量最大的行业是金融,遥遥领先。其次是数据服务、电子商务。再然后就是O2O,教育,企业服务。

我们看到,游戏在这些行业中排名没有很靠前,而游戏的拉新留存本身对数据运营依赖性较高,那为什么这里需求又不大呢?根据对2018年游戏行业的相关出台政策,初步推测,在政策的限制下,国内游戏市场达到饱和甚至开始向下反噬,众多游戏行业企业开始寻求“出海”,另外拓展东南亚、拉非等国家以寻求营收增长,而国内市场则处于无法增长的现状,故行业内数据分析岗位需求量也没有力克其他行业排名前三前五。
关于游戏,另外还有一种可能,就是在“移动互联网”行业分类中,可能还有部分企业也属于“游戏”行业,不过可能性不大,因为我们推测,如果企业是游戏行业,那大几率是会在拉勾上选择“游戏”行业显示于公众的。

好了问题来了,作为从业者,或者对于准备转行数据分析的求职者来说,在自身知识体系允许的范围内,应该选择哪些细分行业呢?金融?数据服务?仁者见仁智者见智了。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
趁热打铁看看各行业的薪酬水平(如下图)。
荣膺前排的行业:人工智能>信息安全>O2O>旅游>文化娱乐>社交网站>金融,其次医疗健康、企业服务、移动互联网、零售贸易、数据服务,等等。
至此,如需选择行业,是不是应该选择,需求大且薪酬高的细分行业呢?嗯,还是仁者见仁智者见智。请听从自己的内心。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

(3)为了进一步了解各城市职业分布情况,我们看看各城市数据分析职位薪酬分布:

——扎心了我大广州。。。

不过细看,排名前五的非北上广深杭的城市,有苏州和重庆。而苏州和重庆,分别只有4条和1条职位数据,所以可以判断,苏州重庆总共发布的5条职位,均是偏高端职位。

另外,推测广州发布的职位中,有一部分是偏传统行业的数据分析所以薪酬水平普遍较其他一线城市低。这个猜测我们后面分析行业的时候再进一步证实确认。

从下图可以看出,职位发布数小于3条的城市有挺多,且平均最低薪酬高于广州的有重庆、郑州、厦门、南宁;3~5条且平均最低薪酬高于广州的则有苏州、成都、武汉。当然这也跟数据量偏少有关,一是仅有拉勾网一个平台的数据,二是爬取的拉勾网职位数据也仅是近期发布的。下次可以尝试爬取多一些数据出来,汇总去重后再做更全面的透视对比。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

继续扎心,我大广州。。。
高端职位(其实就是高薪职位,设置最高月薪20k以上)分布最多的是北京,其次上海,然后到深圳,最后先到杭州再到广州。广州垫底。。。
至于入门职位,当时设置的定义是“最低月薪<1万”,看来是设高了,应该设成8k再试试。或者换一种定义方法,例如,“最高月薪<12k”定义为入门职位。不过这里,时间有限,就不自寻烦恼了,先这样吧,看个大概就好。各位看官如果有兴趣,可以自己动手试试。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

2、数据分析师对经验、学历的要求如何?

针对经验的分析可以帮助我们了解这一岗位的发展潜力,和对业内对经验的认可程度。如果岗位的经验需求呈现梯度分布时,说明这一岗位是具备较为明确的上升路径的,通过岗位积淀也能够获得更多的机会和认可。
另外,如果招聘岗位大部分要求经验1年以上,那作为应届生或者转行求职者,应该如何获得敲门砖?

学历要求则可以带我们了解数据分析岗位的学历门槛。
比如,作为数据新人,是否有必要考研?如果学历较低是否能够获得入门机会?

(1)首先通过数据来看拉勾网数据分析职位对工作经验的要求:
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

从工作经验来看,需求最多的分布在:3-5年经验和1-3年经验,分别占比44%和38%,两者占据了80%以上的岗位需求,可谓大半壁*在手。
其次到5-10年经验,说明岗位的分布是具有层次性的,高经验人才的需求不低,占到了接近9%,不算太低也不算太高,对比另外2018年年中分析的帖子数据,已经呈上升趋势,说明数据分析未来的职业发展较为可观,整体岗位需求目前正在上升趋势。
而不限经验、应届生、1年以下经验,则数量较少,累计占比9%左右,说明没有经验的求职者如需转向数据分析岗位,难度不小,第一关简历关也只能选择其中9%的职位。

针对“没有经验的求职者如何转向数据分析岗位”这个难题,题主我作为跨行求职者之一,曾经刷过不少知乎之类的经验帖。总结来说,零经验入行,只能扎扎实实攒项目实战经验了,搞个博客,打几个比赛,做几个实用又炫酷的demo等等,用来证明自己有着等同于1年以上工作经验的能力。如果还有其他方式,欢迎交流共享。。。。。

针对以上现象我有两种猜想:

一、数据分析岗位的发展阶段仍处于早期但也渐趋成熟的阶段,业内高经验人才逐渐增多,企业高端人才需求也逐渐增多,整个数据分析人才市场将会逐渐形成具规模的梯度分布,但目前阶段尚未形成。

二、可能是由于招聘网站的性质导致的,高端人才的招聘需求未在这里展示出来,而是通过其他渠道发布,所以导致3-5年经验之后的5-10年经验需求数量呈断崖式下跌。通过了解猎头市场的活跃职位以及咨询互联网大厂的朋友,验证我们的猜想:对于互联网行业来说,在岗位的经验需求达到5年以上的时候,企业更偏向于通过如猎头、内推等形式挖掘这类人才,而非在招聘网站上公开发布。

三、数据分析属于一个门槛比较高的领域,需要跨界复合能力(商业理解+数学+计算机),这也决定了在一定程度上,零经验的人,很难立刻上手工作,所以必须先通过攒项目经验来熟悉数据分析相关套路以获得敲门砖。另外,根据个人认知,学历在一定程度上可以代表一个求职者的学习能力,包括跨界学习能力。

(2)接下来看看数据分析岗对学历的要求:
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
可以看出,本科成为数据分析岗位中最为常见的学历门槛,占比82%,而这个比例在另一篇帖子2018年年中分析中仅为75%,说明一年过去,本科学历要求大幅度增加,而同样位居第二位的大专学历则相应降低。学历不限的职位占比仅有5.02%,留给非本科学历(甚至非大专学历)的求职者,机会并不多,甚至可以说,极少。

因此,对于有意向从事数据分析岗位的人来说,具备大专学历是最基本的门槛,具备本科学历则是大势所趋。对于大专以下学历求职者来说,学历将成为对数据分析岗位职业发展路径上的“通关牌”;而对于本科学历求职者来说,学历不足以成为对数据分析岗位职业发展路径上的“通关牌”。

3、数据分析的薪酬分布情况如何?

根据以往经验,求职者的背景经历与薪资水平密切相关,针对不同学历、不同工作经验背景的人,企业提供的待遇有怎样的差别呢?

首先,数据分析职位基本符合工作经验越多,薪资越高的规律;也基本符合学历越高,薪资越高的规律。也存在一些特例,例如应届毕业生平均薪酬高于职位要求“1年以下工作经验”,据此推测,企业方的角度,应届毕业生比“1年以下工作经验”的求职者有更强的可塑性,从人才的角度来说也就是更加有价值(所以开薪高)。
从学历来说,特例是硕士薪酬与博士比肩。硕士薪酬比本科高一大截,本科比大专高一大截,而博士并没有比硕士高一大截,这也说明了,数据分析职位暂不需要博士生那么高的专业知识和技能,本科硕士大专基本已足够。

我们看到,“学历不限”的平均薪资是最高的,据此推测这部分职位是高端职位,企业方的考虑是,有着多年工作经验而且在数据分析领域有所建树的人才中,可能有一些在当年并没有很好的学历出身,反而是后来在企业中摸爬滚打练就的一身技能。
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析

4、哪些企业存在较为高级的数据分析师需求?

通过筛选器可以通过学历、经验、薪资维度可以筛选出符合标准的招聘需求。

例如,设置筛选项为:工作经验3-5年,可以筛选出如下的企业:

……(未完待续)

5、职位所需关键技能有哪些?

以下关键词是从拉勾网的职位标签中生成。这里用到了Python的 jieba(分词)和 WordCloud(生成词云) 。
HR发布职位的时候,有些选择了行业特性(例如“广告”“教育”“游戏”“金融”)作为职位标签,有些选择了技能要求(例如“数据挖掘”“可视化”“BI”“数据仓库”“算法”“SPSS”)作为职位标签,有些选择了职位对应的职能(例如“产品”“用户”“借贷”“市场竞争”)作为职位标签。所以整体而言,这个职位标签并不十分统一,不过这也正是大数据的特性,不完美,但是有价值。
从词云中我们得到以下可参考信息(排名按先后顺序):
(1)数据分析职位适用行业:电商、互联网、金融、零售、教育、游戏、医疗健康、广告、银行、企业服务、物流、社交、汽车、交通、保险、搜索、跨境。
(2)数据分析职位适用职能数据运营、营销、市场竞争、增长黑客、借贷、股票、风控、策略
(3)数据分析职位所需技能:SQL、BI、数据挖掘、数据仓库、数据库、SPSS、算法、MySQL、Sql Server、Spark、Haddop、ETL、项目管理、Java、架构、Hive
【Power BI+Excel+Python】2019年4月全国数据分析招聘岗位可视化分析
以上词云是用职位标签的信息生成,并不涉及到职位JD。
另外发现一篇报告,使用的职位JD作为词云文字来源,分析挺全面的,这里附个链接。
https://zhuanlan.zhihu.com/p/40489748

五、回顾

这次的数据分析过程经历了三个阶段,一是数据采集,二是数据处理,三是数据可视化。

1、数据采集。

直接使用后羿采集器。

为什么不适用Python爬虫呢?因为坚信术业有专攻,无须事事躬亲。既然有成熟的采集器可用,目前阶段又时间宝贵,需要深入学习的数据挖掘方法和行业知识理解还很多,就不额外花时间在数据采集的另一种方法(Python爬虫)之上了。

2、数据处理。

因数据量不大,且相对比较干净,直接使用Excel处理即可。

如果数据量特别大导致在Excel中处理较慢,又或者是有些比较复杂的处理过程无法用Excel快速高效解决,那可以考虑用“万能”的Python来“提升效率”。俗话说得好,人生苦短,我用Python。当感觉到办公吃力的时候(仅限电脑处理类的机器逻辑工作,不涉及人际沟通等),就是到了可以研究“如何用Python提高工作效率”的时候了。

3、数据可视化。

相传业界最厉害的可视化工具是Tableau,可惜了是个付费软件,作为转行无业渣渣,貌似也没有直接买一个账户的必要。加上微软的Power BI也是一项不错的免费软件了,也可以满足大部分需求,又和Excel一脉相承,那就先用着Power BI,让Tableau歇会儿先。

毕。
满打满算搞了六个小时。还是有点耗时。
人生苦短,我用Python,下次搞个Python版,然后把“数据分析”职位替换成“项目经理”,再替换成其他各式各样的职位,来瞄几眼看看各行各业各城各市百花齐放。