招聘网站岗位数据分析


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. 建立待评估的岗位技能表

  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名高频技能点及其出现频数