我爬取了杭州的数据分析招聘岗位(内附原始数据)

前言

在“大数据”、“人工智能”愈来愈被广泛提起之后,数据分析也更多地出现在大众的视野。还记得我最早注意到这个岗位是在2016年的下半年,那时候知乎上就出现了很多与数据分析相关的问题和回答。如今2018年已过半,数据分析这个岗位发展得如何了呢?在北上广深这些城市之外,是否也具备有力的发展势头呢?本项目便从杭州的数据分析岗位入手,探索数据分析师这一岗位的现状。

一、研究问题

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

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

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

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

5、不同招聘网站之间有什么差别?

接下来就是实际操作的过程

二、数据收集

爬虫工具:八爪鱼

参考教程:八爪鱼官方视频

数据来源:智联招聘(8879条)、拉勾网(256条)

筛选依据:城市-杭州,搜索项-数据分析

采集时间:2018年6月18日

附上原始数据下载链接(度盘)~~熬夜肝电脑的成果:

https://pan.baidu.com/s/1zkFvwGepOMS6Fr6xVz7row​pan.baidu.com

密码:s1pp

三、数据清洗

因为智联招聘采集的数据量非常大,所以以此为例记录一下数据清洗的过程。主要涉及到的操作有筛选、查重、数据透视表,以及一些公式,如count、find、search、if、len、left、mid、quartile等,还是比较基础的。

下面进入具体的操作步骤——

1、删除重复项(列全选),这部分冗余数据是爬虫工具中的重复操作造成的:

我爬取了杭州的数据分析招聘岗位(内附原始数据)

2、删除职位名称缺失项

3、删除不相关职位数据

筛选[职位名称]中包含“数据”or“分析”or”运营“字眼的数据:

=COUNT(FIND({“数据”,”分析”,”运营”},A2))
——将count和find结合的用法

我爬取了杭州的数据分析招聘岗位(内附原始数据)

结果包含四种,分别是0、1、2、3,也就是说,结果数值越大,说明该职位包含的相关字眼越多,可以猜测是职位兴趣相关性越高。

但是考虑到“运营”这个关键词可能与数据分析职位的关联性并不强,因此我们单独筛选出运营相关的职位来验证一下这个猜想:

我爬取了杭州的数据分析招聘岗位(内附原始数据)

通过结果可以看出,在不包含“数据”“分析”,仅包含“运营”关键词时,筛选出的职位并不在我感兴趣范围内,所以“运营”这个关键词可以从公式中删除,最终采用的职位筛选公式是:

=COUNT(FIND({“数据”,”分析”},A2))

我爬取了杭州的数据分析招聘岗位(内附原始数据)

到这一步,有效的数据相较最初所剩不多了,由原本的5000+变为500+。

接下来通过职位名称长度、职位名称关键字等进一步筛选,删除不符合要求的职位,如数据文员。

4、数据清洗

首先是职位月薪这一列,我将把它按照最低薪资和最高薪资分为两列,便于后续数值分析。

=LEFT(F3,SEARCH(“-“,F3)-1) #最低薪资 =MID(F3,FIND(“-“,F3,1)+1,LEN(F3)-FIND(“-“,F3,1)-3) #最高薪资

结果(注意将结果转化为数值格式,以便后续分析):

我爬取了杭州的数据分析招聘岗位(内附原始数据)

其中#VALUE项个数较少,主要分布在阿里巴巴,此外分布在京东、中软国际、华为几个公司,考虑到这些公司的实际情况,我取薪资整体的第三个四分位数(第75个百分点值)对缺失项进行填充,尽可能降低对后续分析结果的影响。

=QUARTILE.EXC(G:G,3) #“3”表示取第三个四分位数(第75个百分点值)

5、最后再删除职位名称and公司名称重复的数据。

最后简要总结一下数据清洗的主要思路:

1-数据预处理

2-处理缺失项

3-删除无关项

4-修正内容格式

5-数据查重(放在最后谨慎操作)

其实每一步骤都涉及到思考和抉择,不同的方法会对结果有着不一样的影响,所以首次操作时要尽量考虑全面,为后面的分析做好铺垫。

题外话:

在进行“删除不相关职位数据”操作时,我想到——招聘网站的展示顺序是否是按照岗位相关性来确定展示顺序的呢?如果答案是肯定的,那么意味着我在爬虫时只需要爬取前几页的数据,后面的不必浪费资源来爬取,同样地,在实际浏览招聘信息时只需要关注岗位页面的前几页即可,排在后面的页面则可以忽略了。带着疑问,通过图表来进行验证:

我爬取了杭州的数据分析招聘岗位(内附原始数据)

看来答案是否定的,即使是3800+页的位置仍存在符合意向关键词的职位信息。那么就需要我主观判断一下,展示位置靠后的这些岗位是否确实不符合我的兴趣呢?

我爬取了杭州的数据分析招聘岗位(内附原始数据)

通过结果来看,也并非完全如此,在靠后展示的页面中尽管有效信息密度比较低,但依然有值得浏览的内容。所以在实际找工作浏览招聘网站的时候,不要忽略页码靠后的招聘信息,说不定就会有感兴趣的职位出现。当然了,同时也要注意筛选项的设置,避免大量无关信息的干扰。

四、数据可视化与分析结果

在完成了数据处理之后,我决定利用可视化工具来辅助数据分析过程,从前都是用Excel自带的图表工具画画图,今天尝试一下新工具吧!我选择的是可以免费使用的Power BI,它来自微软家族。
通过查找教程和实际上手的过程来看,它还是非常易用的,而且也有官方文档作为指导。附链接:https://docs.microsoft.com/zh-cn/power-bi/desktop-report-view

以下是具体的分析过程:

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

了解这一问题有两方面用途:一是预知在换城市换工作的过渡期,住哪里能够面试比较方便,工作后需要租房可能会长住的位置在哪里;二是在寻求岗位之前,需要明确自身的行业方向,有针对性地了解行业业务知识,而非漫无目的地闯荡。

下面分析了不同区域的招聘信息数量。

我爬取了杭州的数据分析招聘岗位(内附原始数据)

通过智联的数据可以看出,数据分析岗位主要的分布位置依次为:西湖区、滨江区、江干区、余杭区,这四个取涵盖了杭州市超过四分之三的岗位需求。

为了进一步验证结论,我同样分析了拉勾网上的数据。

我爬取了杭州的数据分析招聘岗位(内附原始数据)

拉勾网上的数据结果与智联上存在一定差异,拉勾网上的岗位集中分布位置依次为:西湖区、滨江区、余杭区、拱墅区。

首先,前两名的排序不变,西湖区、滨江区毋庸置疑成为了数据分析岗位最集中的区域。

其次,三、四名的排序有了一定变化,产生差异的原因是什么呢?这可能有两方面,一方面是本次爬虫数据的样本量较小,因此存在波动性误差;二是可能不同招聘网站的企业类型存在差异,比如拉勾网更垂直于互联网行业,而智联招聘面向的企业更为广泛。

针对以上的假设如何检验呢?猜想一可以通过增加爬虫次数,获取更大的数据样本进行验证;针对猜想二可以对爬取到的企业数据进行分类,比较企业的行业分布情况。这样同时可以让我们对各个行政区的行业分布有进一步的探索。限于技术能力,这部分暂不进行,放在日后进一步探索。

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

针对经验的分析可以帮助我们了解这一岗位的发展潜力,和对业内对经验的认可程度。如果岗位的经验需求呈现梯度分布时,说明这一岗位是具备较为明确的上升路径的,通过岗位积淀也能够获得更多的机会和认可。

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

首先通过数据来看智联招聘上对工作经验的要求:

我爬取了杭州的数据分析招聘岗位(内附原始数据)

从工作经验来看,需求最多的分布在:1-3年经验、不限经验,两者占据了超过四分之三的岗位需求。其次是3-5年经验,但对5-10年经验的需求较少,这说明岗位的分布是具有层次性的,但对于高经验人才的需求仍较为稀少。

针对这一现象我有三种猜想:一、数据分析岗位的发展阶段仍处于较为早期的阶段,业内高经验人才较为稀缺,没有形成具规模的梯度分布;二、可能是城市的因素导致的,在杭州,这一岗位仍处于探索阶段,但并不能代表整个行业的情况;三、可能是由于招聘网站的性质导致的,高端人才的招聘需求未在这里展示出来,而是通过其他渠道发布。

结合拉勾网的数据进一步分析:
我爬取了杭州的数据分析招聘岗位(内附原始数据)

在工作经验的要求上,拉勾网相比于智联招聘的要求更高,呈现出了更为规则的梯度分布,需求量最高的依次为:经验1-3年、经验3-5年,其次是经验不限、经验5-10年,甚至出现了10年以上经验的岗位需求。这个现象是可喜的,说明数据分析岗位是具有较好的发展空间的。

针对高经验人才的挖掘我也进行了额外的了解,对于互联网行业来说,在岗位的经验需求达到5年以上的时候,这类人才更偏向于通过如猎头、内推等形式挖掘,而非在招聘网站上公开发布了。

接下来看看数据分析岗对学历的要求:

我爬取了杭州的数据分析招聘岗位(内附原始数据)
我爬取了杭州的数据分析招聘岗位(内附原始数据)

可以看出,本科成为数据分析岗位中最为常见的学历门槛,其次是大专,学历不限的岗位较少。另外,结合着BI的可交互效果可以发现,“学历不限”的需求均伴随着“经验不限”的需求出现。因此,对于有意向从事数据分析岗位的人来说,具备大专学历是最基本的门槛,具备本科学历则是大势所趋。

硕士学历的要求占据较少的部分,这也从侧面证实了数据分析这一岗位的性质,与算法工程师、数据挖掘工程师等不同,相比于学术型、工程型的研究性工作,更偏向于结合业务的分析。

我爬取了杭州的数据分析招聘岗位(内附原始数据)我爬取了杭州的数据分析招聘岗位(内附原始数据)我爬取了杭州的数据分析招聘岗位(内附原始数据)

可以看出,在各个阶段,本科及以上学历都成为主流的标准,但在经验3-5年、经验5-10年的岗位中,依然存在将大专及以上学历作为门槛的要求,因此对数据分析岗位来说,学历不足以成为职业发展路径上的“通关牌”。

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

根据以往经验,求职者的背景经历与薪资水平密切相关,针对不同学历、不同工作经验背景的人,企业提供的待遇有怎样的差别呢?
我爬取了杭州的数据分析招聘岗位(内附原始数据)

从工作经验上,经验5-10年、3-5年、1-3年、无经验、不限经验、1年以下,数据分析师的薪资分别为11.2K-17.0K、10K-16K、7.3K-11.5K、6K-8K、5.7K-8.7K、4.6K-6.5K。基本上符合工作经验越高,薪资越高的规律。

但同时发现,无经验和不限经验的薪资分布相比于1年以下经验的却要稍高些,这与我们常规认知不符。从数据可靠性、数据理解、数据细分角度依次做思考,推测有几种可能:一是由于本次样本数量较少,可能存在数据异常值造成特殊性,不具备反映真实情况的条件;二是HR在填写招聘需求时有特定的填写习惯,导致对经验的填写标准与系统中的划分标准不一致,例如,将“一年以下”与“无经验”混淆,导致数据反映的真实情况与我们理解的偏差;三可能是不同经验要求下的数据样本存在差异,在其他因素的协同作用下,导致的这种差异;四是对于前面几个假设的补充假设,即相比于具有一年以下经验的人,企业确实更偏好无经验的求职者,确实存在一年以下经验不如无经验的求职者更值钱的情况。

通过对数据的进一步观察发现,无经验、一年以下经验、经验不限的样本数量比为84:6:1,这说明HR在填写初级岗位需求时相对来说更愿意采用“无经验”而非“经验不限”的描述,并且对“一年以下经验”的需求较少。但我们也无法据此来判定,在HR心中一年以下经验与无经验的求职者是否存在显著的差别,是否将“一年以下”与“无经验”混淆了。接下来通过数据细分来进一步寻找原因。

我爬取了杭州的数据分析招聘岗位(内附原始数据)我爬取了杭州的数据分析招聘岗位(内附原始数据)

通过对岗位的学历要求细分,可以看出在同等学历条件下,确实存在不限经验的岗位,薪资待遇比一年以下经验的岗位高的情况,但由于样本数较小,可能会造成样本无法解释整体的情况。

因此,若想进一步分析,需要:一、增大样本量,确保样本可信度;二、进一步细分控制变量,例如不同公司的差异。据此来验证假设一到三是否成立,继而判断假设四。

带着以上经验继续对拉勾网的数据进行分析:
我爬取了杭州的数据分析招聘岗位(内附原始数据)我爬取了杭州的数据分析招聘岗位(内附原始数据)

通过对细分数据的观察可以发现,导致出现“经验不限的薪资>经验1-3年的薪资”现象的原因来自“学历不限”和“大专及以上”部分的数据(在这两个类别中,“经验不限的薪资>经验1-3年的薪资”),按图索骥,我找到了这样的数据:
我爬取了杭州的数据分析招聘岗位(内附原始数据)我爬取了杭州的数据分析招聘岗位(内附原始数据)

这两条数据是上述结果的原因,可以看出,第一条岗位的属性描述与真实需要不符,实际上HR需要的是专家级人才,并不针对是“经验不限”的新人。而第二条岗位需求没有问题。

由此可见,标记着“经验不限”的岗位,可能并非真的“不限”,只是HR出于快捷、习惯或是无法量化具体的工作年限需求的原因(比如对于一个专家级别是要求工作经验5-10年、10年以上、甚至更多),而打的标签。“不限”会对我们的分析结果造成影响,应该进一步筛查分类。

接下来从学历角度进行分析:
我爬取了杭州的数据分析招聘岗位(内附原始数据)
我爬取了杭州的数据分析招聘岗位(内附原始数据)

本科及以上学历、硕士及以上学历、不限学历、大专及以上学历、职位的最低薪资由高到低排布,而本科的最高薪资水平反超硕士学历。
我爬取了杭州的数据分析招聘岗位(内附原始数据)
我爬取了杭州的数据分析招聘岗位(内附原始数据)

通过进一步细分可以看出,对于1-3年经验的从业者来说,学历带来的薪资水平差异是较为明显的。但对于3-5年经验的从业者来说,高学历并没有带来显著的薪资水平线性增长趋势。

这也验证了我们先前的判断,即对于数据分析师岗位而言,学历不足以成为薪资水平的限制标准。

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

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

例如,设置筛选项为:工作经验3-5年,在智联上可以筛选出如下的企业:
我爬取了杭州的数据分析招聘岗位(内附原始数据)

可以看出岗位定位还是不够精确,包括了一部分算法、研发类的岗位。

而在拉勾网上则更多一些,其中智联招聘中展示过的安恒、恒生云融、酷家乐是在拉勾网中也能发现的,选取部分展示:
我爬取了杭州的数据分析招聘岗位(内附原始数据)我爬取了杭州的数据分析招聘岗位(内附原始数据)

在拉勾网上,工作经验要求5-10年的岗位也是有的:
我爬取了杭州的数据分析招聘岗位(内附原始数据)

5、不同招聘网站之间有什么差别?

1、拉勾网上的公司以互联网行业为主,未发现如智联上类似纺织厂之类的小型传统企业;
2、智联招聘上对求职者的学历、经验具有更大的包容性,具体体现在:拉勾网上超75%的企业要求学历在本科及以上,大专15%,学历不限不足4%;而智联招聘上本科及以上学历要求占55%,大专37%,还有6%的企业不限学历。因此智联招聘上的岗位相对拉勾网上来说,求职门槛更低。
3、拉勾网上对于高端人才的需求量要高于智联招聘,主要体现在:拉勾网上的岗位对于经验的要求分布包含5-10年,而智联上最高为3-5年;
4、粗略看出,对于同级岗位,拉勾网上标注的平均薪资水平要高于智联20%左右。

此外从拉勾上爬取的数据表字段也与智联上有差别,这是网站表现层面的差别,就不做细表了。

五、结论

  • 1、杭州的数据分析岗位的需求主要分布在哪些区域、行业?
    答:数据分析岗位约半数集中分布在西湖区、滨江区,其余岗位分布在以余杭区、拱墅区、江干区为主的其他区域。

  • 2、数据分析师对经验、学历的要求如何?
    答:在现有的数据分析师岗位需求中,要求3年以下经验的岗位居多,3-5年经验其次,也存在5年以上工作经验的招聘需求,但数量较少。所以对于想从事数据分析职业的人来说,需要提升自身能力,关注自身的职业生涯发展。如果已从业超过五年了,更应通过传统招聘网站之外的途径寻求机会。
    对于数据分析师岗位来说,本科学历是主流的招聘门槛,但同时也存在将大专、研究生设置为门槛的岗位,甚至也存在部分对经验要求较高的岗位,将其学历门槛设置在大专以上。因此就现阶段,对于大专学历以上的从业者来说,学历不足以成为职业生涯的限制标准。但我无法预测这一结论在未来是否会有改变。

  • 3、数据分析的薪酬分布情况如何?
    数据分析岗位基本符合工作经验越高,薪资越高的规律。
    对于1-3年经验的从业者来说,学历带来的薪资水平差异是较为明显的。但对于3-5年经验或更高经验的从业者来说,学历所带来的薪资差异就不那么显著了。

  • 4、哪些企业存在较为高级的数据分析师需求?
    见文中表格

  • 5、不同招聘网站之间有什么差别?(同前文)
    1、拉勾网上的公司以互联网行业为主,未发现如智联上类似纺织厂之类的小型传统企业;
    2、智联招聘上对求职者的学历、经验具有更大的包容性,具体体现在:拉勾网上超75%的企业要求学历在本科及以上,大专15%,学历不限不足4%;而智联招聘上本科及以上学历要求占55%,大专37%,还有6%的企业不限学历。因此智联招聘上的岗位相对拉勾网上来说,求职门槛更低。
    3、拉勾网上对于高端人才的需求量要高于智联招聘,主要体现在:拉勾网上的岗位对于经验的要求分布包含5-10年,而智联上最高为3-5年;
    4、粗略看出,对于同级岗位,拉勾网上标注的平均薪资水平要高于智联20%左右。

六、回顾与反思

回顾

这次的数据分析过程经历了三个阶段,一是数据爬虫,二是数据处理,三是数据可视化。下面分别从这三个方面聊一聊吧。

首先是爬虫,我选用的是八爪鱼工具,这也是个小神器了,我记得是有好像八千条的免费导出额度,试一试完全不在怕的。方便之处在于官网上就有指导视频,按照视频理解一下不难操作,关键在于规则设置时候一定要细心,先检验,再大批量爬取。只是速度不是很快,费电脑。
为什么没有写爬虫程序呢?是因为考虑到爬虫也算是自成一门技能,如果想学也是需要投入一部分精力的,而对自己来说暂且不是必要的。

第二部分是数据处理,虽然是利用最简单的Excel来处理的,但也设计了完整的数据处理流程,包括异常值处理、填补缺失项等。每一步要根据自己的目的来决定,比如数据是删除、保留,还是修正。

第三部分是可视化部分,接触了新的工具 PowerBI,没有想象的那么难,甚至不足以作为一种技能来说啦!我喜欢的用法还是先在Excel中将想要展示的数据处理好,然后再导入到BI中,因为BI的数据处理工具目前还是用不习惯。

我觉得PowerBI相较于传统的图表,除了表面上的“好看”之外还有两个比较关键的提升,一是数据深化功能,二是可交互效果。这两点使得图表的可用性大大增强了。可交互效果在本次分析过程中得到了有效利用,帮助非常明显,通过点击具体的数据块,可以即时看到这部分数据在其他维度上的分布情况。深化功能在本次的数据中没有体现,举个例子,在对销售数据进行分析时,一级图表是以年为维度进行展示的,在进行深化后,即可看到按月细分的指标,以此类推。相较于传统的Excel需要用多个图表分别展示来说,这样不仅操作简便,更利于使用者对数据的即时理解。

此次数据分析带我小览了杭州数据分析岗位大观,至此对岗位的现状与机遇有了更清晰的认知。随着时间的推移这些结论可能会变化,但就目前来说,还是得到了较为明确的结论。

可能存在偏差的地方:

1、样本数量的限制可能对分析结果带来误差;
2、在对数据岗位进行筛选时,删除了与目标想去甚远的岗位,这一步骤具有一定的主观性;
3、没有将岗位描述纳入分析,仅根据网站已有的结构化信息进行分析,这部分由于是HR手动填入,可能带来准确性、主观性方面的问题,造成误差。更理想的方法是根据结合岗位描述的语义分析来对岗位进行标签修正。