招聘网站岗位数据分析
1.1 案例背景
某线下培训机构预开展数据分析方向课程,需对数据分析岗位的市场需求、就业情况和岗位技能做 深入调研
现爬虫组已采集了与数据分析相关的招聘信息,由数据分析组完成分析报告,为企业战略规划提供 有力依据。
公司内已开设学科有:
游戏运维
数据分析岗位的各项结果指标应与已有学科进行相对比,例如对比
数据分析、游戏、运维三个行业的招聘需求量、薪资分布等。 限定就业地区
由于此培训机构学员入口和出口绝大多数来自一线城市,本次也仅针对北京、上海、广州、深圳这 四个一线城市的数据进行分析
数据来源
此次招聘数据来源于来自51job,采集日期:2020-09-15
1.2 问题确认与目标拆解
结果展示
1.3 问题解决思路
清洗数据
1. 缺失数据处理(例如:某行数据没有工作名称)
2. 重复数据处理(例如:同一个公司发布多个相同岗位)
3. 限定招聘地区
4. 过滤周边岗位市场需求量
1. 按城市与岗位进行分组
2. 统计岗位招聘量就业企业类型分布
1. 对企业类型进行分组
2. 统计每个企业类型的招聘数量与在总招聘量中的占比 岗位薪资
1. 薪资字段规范化(1-2万/月->薪资最小值:10000,薪资最大值:20000,薪资平均值:
15000)
2. 按工作年限进行分组,计算每组的薪资均值(即:avg(薪资平均值))
3. 按企业类型进行分组,计算每组的薪资均值岗位核心技能
1. 建立待评估的岗位技能表
计算各个待评估技能在招聘需求中出现的次数
3. 得到出现次数最高的前30个技能,记为岗位的核心技能
1.4 案例实操
1.4.1 数据导入
创建数据库终端中:
导入数据库终端中:
注:
< 后面的recruitment.sql是SQL文件的相对位置
如果提示找不到指定文件,可以在cmd中cd到保存recruitment.sql的父级文件夹,然后再执行 导入命令
或者用recruitment.sql的绝对地址,例如:mysql -uroot -p recruitment< d:/recruitment.sql
导入数据库是在终端,不用要登录MySQL
1.4.2 数据清洗
以”数据分析”招聘岗位数据为例:
缺失数据处理 —> v_data_clean_null
重复数据处理 —> v_clean_data_distinct
筛选重复数据,不可以使用:
故对公司和职位进行去重,保留这个公司在这个职位上发布的最新招聘数据
限定招聘地区 —> v_data_clean_workplace
过滤周边岗位 —> v_data_clean_jobname
通过在招聘网站上搜索数据分析,搜索引擎会把在招聘信息中出现“数据分析”关键词的岗位按照一 定的顺序列举出来,故得到了很多不是数据分析主方向、但任职要求中提到了数据分析技能的周边 岗位
如何过滤周边岗位呢?
工作名称中必须出现指定的关键词,本次筛选的条件是:工作名称中要出现“数据”一词,否则 记为周边岗位,过滤掉
对搜索结果的再一次过滤,称为二次检索,大部分的实现方式都是通过包含关键词来判断,而 很难一开始就能选择到合适的关键词,所以需要在已有数据中不断尝试,过滤掉太多说明关键 词太少、过滤掉太少说明关键词太多或者不准确,找到一个中间值即可
最终清洗结果 —> v_data_clean
将v_data_clean_jobname记为当前清洗的结果:
1.4.3 市场需求量
1.4.4 就业企业类型分布
1.4.5 岗位薪资
统计岗位薪资,首先要规范化薪资字段,得到岗位月薪的最大值、最小值、均值
第一步,提取薪资单位
1-5千/月 —> 单位 1000
1-2万/月 —> 单位 10000
40-50万/年 —> 单位 833
1万/年 —> 10000 / 12 —> 月薪
10000 / 12 约等于 833
故40万/年 —> 40 * 833 元/月
第二步 得到工资区间最小值、最大值与均值
第三步 按工作年限分组,求各组平均薪资
第四步 按企业类型分组,计算平均薪资
1.4.6 岗位核心技能
在skill_table中预先准备好了63个待评估技能点
第一步,获取前30名高频技能点及其出现频数
