旁友,你一定听说过“人人都是产品经理”这句话。但你可能不知道,让“人人都是XX”句式火遍大江南北的《人人都是产品经理》,已经9岁了。
9年,从“人人都是产品经理”的呼声震天撼地,天下莫能与之争,到“人人都是运营”,“人人都是数据分析”的来势汹汹。市场对数据分析、运营的偏好仿佛已经完全胜过了产品。
然鹅事实真的是这样吗?今天,我们一起从数据的角度出发,看看人人都是产品经理这句话, 在运营和数据面前,还能不能站得住脚 。(这里先不谈理论,从实际的岗位需求出发。毕竟,从理论角度讲,产品、运营、数据的思维人人都值得学习)
从岗位需求来讲,人人都是XX,其实蕴含着两层意思:
* 岗位具有潜力,人心向往之;
* 岗位门槛没那么高,努努力就可以切入。
这两层意思就是本次分析的主线任务。
我们从BOSS直聘入手,分别以“产品"、“运营”、“数据分析”为搜索词均匀爬取,共爬取5039条数据,作为我们分析的源数据。
注:搜“产品”是为了和“运营”匹配,搜“数据分析”是要排除掉偏算法挖掘类的岗位。完整爬取代码已放在文末。
P1 三大岗位前景如何?
1、产品、运营、数据分析谁最有钱景?
一个岗位要人人神往,Salary一定要有竞争力。首先,我们看一看,在同等学历,同等工作经验的前提下,不同岗位平均薪资(工资都是区间,这里采取最低+最高的平均值作为平均薪资)分布情况。
大专学历 (总人数占比27.49%):
在大专学历这个统一的起跑线上,产品经理平均工资体现出一定的优越性,在“3-5年”和“5-10年”这两档明显领先运营和数据分析岗,而市场上只有运营岗对10年以上的大专学历有招聘需求。
本科 (人数占比69.35%):
显而易见, 本科产品经理在不同工作年限全面碾压运营和数据岗 。基于样本数据,刚毕业(1年以内)产品经理的平均工资竟然高出数据分析接近4K。总体来看, 本科平均薪资遵循着产品 > 数据 > 运营的原则。
硕士及以上(人数占比3.16%):
当硕士成为学历筛选的门槛,运营岗消失了。1年以内工作年限的产品经理可谓强无敌,但随着工作年限要求的提升,数据体现出强劲的后劲,1-10年的工作经验,数据分析都领先于产品经理。
眼尖的朋友肯定发现了,为什么”1年以内经验”产品经理的平均工资高于“1-3年”的?回溯数据源发现:
从分布来看, 工作1-3年的产品工资集中在11K,而工作年限1年以内的工资集中在8K,完全符合我们预期 。但由于目前市场存在一些给1年内工作经验的同学开出30K+的公司,直接拉高了这个年限岗位的平均工资。
注:本次分析主要是针对不同岗位的对比,这个因素对岗位间的横向对比影响不大,暂不做进一步处理。
目前市场上 本科岗位的需求量最大(69.35%) ,在同样工作年限的情况下, 本科学历的产品薪酬全面领先;数据分析则在硕 士(岗位人数占比3.16%)中后期表现亮眼。
2、坑位规模如何?
如果要换坑的话, 哪个岗位跳到大坑(规模更大的公司)的可能性更大呢?
市场整体上对于产品、数据、运营的需求呈现出明显的双峰特征,即人数在100-499人的和1000-9999人两档规模的公司人才需求最旺盛。
从岗位角度来看,产品岗的需求主要集中在1000-9999人规模的中大型公司。数据需求也聚焦于该区间,但占比和产品相比少了6.84%。而运营则最受中小型公司(100-499人)青睐。
公司规模的大小也是很多朋友做选择的重要考量因素,而从公司人数规模来看,产品坑位更大(大公司更多)。
前两个回合来看,人人都是产品经理,或者说人人都想成为产品经理这句话,可谓涛声依旧。
P2 哪个岗位更容易切入
上两轮PK,在学历和经验上已经初窥端倪,这一轮我们继续深挖一下不同岗位在这两方面的从业门槛如何,人人都是产品/运营/数据分析,是不是意味着人人都能成为他们呢?
3、岗位学历要求
从需求方来看,运营岗学历门槛最低,49.89%的岗位对于学历的要求是大专(及以上),产品和数据岗主要集中在本科,占比78%+,数据分析在硕士学历上占比8.51%凸显了高门槛。
如果说哪个岗位从业门槛最低,结果显而易见。
4、岗位经验门槛
产品需求主要集中在3-5年(占比40%+),5-10年的需求占比和1-3年的持平;运营偏爱小鲜肉,3年以内的岗位需求接近70%;数据和产品类似,但是3年内的需求要远大于产品。
P3 谁喜提996的可能性更大
朋友,做好变秃变强的准备了吗?
传说,一个优秀的互联网人必须做好三件事,吃饭,睡觉,996。
这次我们不妨开一开脑洞,根据职场黑话来量化996这一指标,看看哪个岗位被996的可能性最大。
又听说,职位描述里面的“抗压能力强”、“工作时间弹性大”已经成为996的等价黑话,所以,我们采用粗暴的判定法,如果职位描述包含“抗压”、“压力”、“弹性”关键字,就把这个职位打上“潜在996”的标签。粗暴判定完之后,可视化之:
嗟乎,根据我们的脑洞暴力判断法,有25%的公司具有996潜质,那么,这些公司在各岗位是怎么分布的呢?
产品和运营两个岗位是拉动996的两架马车,具备996潜质的公司占比分别为28.91%和29.37%,相比之下,数据分析17.74%的占比倒显得有些闲情逸致了。
五局较量下来,产品岗在钱景和坑位规模上轻松取胜,但是在学历、经验要求这两个从业门槛上惜败于运营,最后在996潜质方面,和运营打成平手,被数据分析超越。
产品胜在前景,而运营胜在从业门槛低,容易切入。最后,在双冠军的原则下,人人都是产品经理这句话,依然稳的一匹。
最后,附上完整代码给需要的旁友:
PS:整理不易,觉得有用的话可以“在看”OR“留言”,感蟹~图片
import requests import pandas as pd from lxml import etree import re from urllib import parse import time import random #构造网址,输入地区和职位参数,爬取页数默认是10页,目前单区域最多爬取10页 def format_url(area,keyword,num = 10): urls = [] job = parse.quote(keyword) base_url = 'https://www.zhipin.com/c{}/?query={}&page={}&ka=page-{}' for i in range(1,num + 1): urls.append(base_url.format(area,job,i,i)) return urls #解析单页 def parse_page(url,headers): result = pd.DataFrame() html = requests.get(url,headers = headers) bs = etree.HTML(html.text) for i in bs.xpath('//div[@class = "job-primary"]'): #岗位名称 job = i.xpath('div[@class = "info-primary"]/h3/a/div[@class = "job-title"]')[0].text #薪资水平 salary = i.xpath('div[@class = "info-primary"]/h3/a/span')[0].text combine = i.xpath('div[@class = "info-primary"]/p')[0].xpath('string()') #城市 index1 = re.search('经|[0-9]|应|实',combine).span()[0] city = combine[:index1] #city = combine.split(' ')[0] #combine = combine.split(' ')[1] split = re.search('年|限|生',combine).span()[0] work_year = combine[index1:split + 1] education = combine[split + 1:] #公司名称 company_name = i.xpath('div[@class = "info-company"]/div/h3/a')[0].text st = i.xpath('div[@class = "info-company"]/div/p')[0].xpath('string(.)') try: split1 = re.search('已|不|未|天|[A-Z]',st).span()[0] split2 = re.search('\d',st).span()[0] #公司类型 company_type = st[:split1] #公司规模 company_scale = st[split1:split2] #公司人数 people = st[split2:] except: print('...' + company_name + '规模字段或有问题') company_type = None company_scale = None people = None job_url_part1 = i.xpath('div[@class = "info-primary"]/h3/a/@href')[0] job_url_part12 = i.xpath('div[@class = "info-primary"]/h3/a/@data-itemid')[0] cache = pd.DataFrame({'岗位名称':[job],'薪资水平':[salary],'城市':[city],'工作年限要求':[work_year],'学历要求':[education], '公司名':[company_name],'公司类型':[company_type],'公司规模':[company_scale], '公司人数':[people],'JOB_ID1':[job_url_part1],'JOB_ID2':[job_url_part12]}) result = pd.concat([result,cache]) return result #现在单个城市只能爬取10页,要想抓取不同城市的更多数据,须先获取各城市的编码 def get_city_data(headers): city_data = pd.DataFrame() city_url = 'https://www.zhipin.com/common/data/city.json' html = requests.get(city_url,headers = headers) bs = json.loads(html.text) for i in bs['data']['hotCityList']: city_code = i['code'] city_name = i['name'] cache = pd.DataFrame({'city_code':[city_code],'city_name':[city_name]}) city_data = pd.concat([city_data,cache]) return city_data #输入爬取的职位,爬取多少个城市 def run(keyword = '产品',city_num = 6): #获取所有城市编码 city_data = get_city_data(headers) final_result = pd.DataFrame() for area,c_name in zip(city_data['city_code'].values[:city_num],city_data['city_name'].values[:city_num]): count = 1 cache = pd.DataFrame() print('这是{}的地盘'.format(c_name)) urls = format_url(area,keyword,num = 10) for url in urls: result = parse_page(url,headers) time.sleep(5.2 + random.random()) cache = pd.concat([cache,result]) print('完成第爬取{}页'.format(count)) count += 1 print('-----------------------------') print('') final_result = pd.concat([final_result,cache]) return final_result if __name__ == '__main__': headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'} final_result = run(keyword = '产品',city_num = 6)
查看更多关于深扒5000+招聘数据 | 听说产品拿不动刀了?的详细内容...