文章通过教学爬取招聘数据的方式,详细剖析了当今AI产品经理的岗位需求和企业招聘情况。
商业情报领域,有一个被称为奥地利学派的理论,他们主要关注不能量化的信息,而非公式化的信息,认为这类信息才是高利润的来源,并且指出商业情报工作的重点,应该是不能用数据或统计分析方法解决的问题。
我个人其实很欣赏这个理论,如果能够通过数据的统计分析能够发现需求的话,那么产品经理的价值和意义怎么去体现,产品经理真正的价值应该是体现在:用数据和统计分析方法无法直观体现和挖掘需求的数据上。
John:
好久不见,我是Kevin。近期也想从产品经理转行成为一名AI产品经理,我需要做什么样的准备呢?
Kevin
2018年9月8日
Kevin:
已经收到你的来信,的确好久不见!既然你想成为一名AI产品经理,那我今天先给你说一下企业对于AI产品经理有怎样的要求吧?
一、爬取招聘数据
完整的代码下载地址:
链接:https://pan.baidu.com/s/1kZU1vPr49ymazoMrh80ulg 密码:b5dz
在范冰的《增长黑客》一书中,提到增长黑客使用的各种方法,包括:A/B 测试、数据抓取、排队机制、提供有损服务等。由于今天我们的任务主要是基于数据分析的,我们就来简单的了解一下数据抓取。
作为产品经理、增长黑客、亦或AI产品经理,难免会在日常工作中需要使用和分析第三方的数据,比如百度API Store,聚合数据等公开的第三方数据服务提供商,从事淘宝客产品的伙伴,可能需要分析淘宝的商品数据。
不管是哪一种类型的产品经理,遇到问题的第一时间,想到的并不是需要用写代码去解决问题(请记住我们是产品经理,我们不是负责开发的伙伴),而是利用现有的工具,数据的抓取工作也是同样的道理。现有的第三方工具,比如八爪鱼(http://www.bazhuayu.com)。
如果现有第三方工具不能满足需要的情况,例如John的尴尬情况,因为八爪鱼只提供Windows的版本,我的Mac无法运行,所以我选了用Python编写爬虫。而产品经理涉及相关的爬虫工作,我们只需要了解基础的爬虫程序就可以了,如果要从事比较深入的工作,好吧你可以转行从事开发的工作了,少年!
我们先写一个最基本的爬虫小程序。
工作:Python2.7
目的:第一个爬虫程序
第一行代码是:
# -*- coding:UTF-8 -*-
如果我们是使用的Python工具,第一行代码一定先写下这句,这是为了使我们在编写代码时,能够使用中文的注释或者一些中文字符。
OK我们导入requests库,requests库的开发者为我们提供了详细的中文教程,查询起来很方便,万事请问度娘。如果我们需要使用Python进行网络请求,requests将是我们十分常用的库。
import requests
让我们看下requests.get()方法,它用于向服务器发起GET请求,不了解GET请求没有关系。我们可以这样理解:get的中文意思是得到、抓住,那这个requests.get()方法就是从服务器得到、抓住数据,也就是获取数据。我们就以百度为例:
if __name__ == ‘__main__’:
target = ‘https://www.baidu.com’
req = requests.get(url=target)
print(req.text)
运行程序,我们看到以下结果:
我们已经完成了我们的第一个小程序。大家可以把链接换成其他的链接,尝试一下爬取我们感兴趣的内容。
再者,我们来说一下比较深入一点的爬虫抓取工程,通常思路:
找到我们目标数据的API;
Python模拟GET请求获取数据;
保存数据,等待我们去揭开他的神秘面纱。
我们以本次爬取拉勾的招聘数据为例,笔者首先找到招聘数据的API:
具体的实现过程,可以从百度网盘中下载源码。
程序运行完之后,数据如下图所示:
二、数据分析及理解
我们开始对获取到的数据进行分析和理解:
链接:https://pan.baidu.com/s/1kZU1vPr49ymazoMrh80ulg 密码:b5dz
给大家分享一个模板,我们基础的数据分析和理解工作,也可以参考该模板:
# 1. 准备
# a) 导入类库
# b) 导入数据集
# c) 初步描述性统计
# 2. 预处理数据
# a) 数据清洗
# b) 特征选择
# c) 数据转换
# 3. 概述数据
# a) 描述性统计
# b) 数据可视化
2.1 导入数据
通过Pandas导入CSV文件,CSV 文件是用逗号(,)分隔的文本文件。
我们导入数据后,可以通过head方法查看一下我们的数据是否正常导入。
Data.head()
我们数据已经正常导入。
2.2 初步描述性统计数据
我们的数据维度:共有450行,11列数据。这说明我们总共抓取到450条招聘信息,而11列说明我们设定爬取的参数时,设定了11个参数或指标。
我们查看数据概述数据,如果数据大部分为数字或者全是数值型数据的话,通过data.describe()方法查看数据,能够帮我们直观的看到数据的整体情况,比如最大值、最小值、中位数等数据。
由于我们此次抓取的数据都是对象,所以呈现了上述的情况,不过我们依然可以看到数据共有450条,招聘的公司总数有308条,开出的工资条件总共有71种薪水范围。
数据类型:
查看数据类型的重要一点,就是我们需不需要对数据类型进行转换。
2.3 数据清洗
我们进行数据清洗,通常采用的方式:
删除空值数据;
去除重复值数据;
删除异常值数据;
我们此次采取的是删除包含某个关键词的数据:
2.4 对数据进行可视化理解
通常我们的数据可视化包含:
分布直方图
箱线图
线性图
饼图
词云
matplotlib包含了丰富的图表,大家可以到官网上去选择自己需要用到的图表。(matplotlib: https://matplotlib.org)
我们此次用到的首先是饼图,查看全国主要城市,对于AI产品经理的招聘情况:
① 全国主要城市AI产品经理的招聘情况:
城市:
上海 82
东莞 1
佛山 1
北京 153
南京 12
南宁 1
厦门 11
合肥 5
天津 3
宁波 2
常州 1
广州 51
成都 3
杭州 64
武汉 12
济南 2
深圳 14
珠海 2
石家庄 1
苏州 11
西安 4
贵阳 1
郑州 4
重庆 3
长沙 5
从数据来看:北京AI产品经理招聘岗位153个,上海82个,杭州64个,广州51个。通过地理分布来看,AI产品经理作为一个新的产品经理品种,仍是集中在北上杭广三大地区。
② AI产品产品经理工资情况:
AI产品经理工资平均数为16K,25%的伙伴能拿到19K,最高是55K,而最低仅有3K,平均工资在16K左右。由此来看,AI产品经理是产品经理这个种群中高收入的人群,产品经理虽然散步在互联网行业的各个角落,但是AI产品经理目前主要分布在并且集中在使用大数据、机器学习、深度学习、智能家居、车联网等与前沿技术相关联的公司。虽然技术的发展,AI产品将是一个新的增长极。
从工资的分布直方图来看,主要工资集中在15-20K左右居多,其次为10K-15K左右。从抓取的数据来看,多数工资的构成仍然是普通产品经理岗位的工资,10K-15K左右为数据产品经理的薪资范围,15-20K是真正属于AI产品经理的岗位薪资。
③ 职位福利:
我们将职位福利这一列的数据汇总,按照词频生成词云。可见五险一金在职位福利里出现的频率最高,其次是平台,工作氛围、年终奖、期权等。
④ 学历要求:
从数据来看,R-squared的值为0.185,说明工作经验和学历仅仅解释了工资变异性的18.5%。
这一点其实比较好理解,因为我们抓取的数据中,title其实主要仍然是普通产品经理的岗位工作,普通产品经理的岗位工作、数据产品经理,AI产品经理的实际工作内容差异还是比较大的。
普通产品经理主要仍然是进行产品原型设计和完成三大文档的工作;数据行产品经理可能会经常使用Python、R等工具进行工作;AI产品经理将设计NLP、MPL等方面的工作。另外,各个公司的规模和它愿意开出的工资也不尽相同。
从这次数据分析来看,Kevin是不是对去从事AI产品经理充满了信心呢?
Kevin,我们今天看了AI产品经理的岗位需求和企业招聘情况,我们下次聊聊关于AI产品经理在思维上和普通产品经理岗位有着怎样的不同。
相关阅读