主题分析(一):企业人员流失分析

2017-05-17  本文已影响908人  做一个专注的技术人

对于一个企业而言,最核心的资产应该是人才,留住人才就能保持企业的持续发展,但没有员工流失的企业是不存在的。实际情况是,无论企业的平台多么高,福利多么好,肯定还是会存在员工离职的情况,这是一种非常正常的现象。对于企业而言,就需要识别员工离职的真正原因,提高人力资源管理中的短板,留住对企业真正有用的人才。(没用的人就让他走好了。。。。)
  本文将从数据分析的角度来看真正影响员工的离职的原因。本文的数据来自kaggle网站,可以去原始地址下载点我下载原始数据。如果没有kaggle账号的,可以点击下面链接下载:
百度网盘下载, 密码:PVxq

数据说明

压缩包中有一个csv文件,包含了企业14999个员工的评价信息和在职情况,包含的字段如下:

数据探索

本章我们使用R语言对企业员工数据进行探索,目的是分析员工的离职究竟和哪些因素有关系。

载入需要的包

library(ggplot2)
library(corrplot)
library(rpart)
library(rpart.plot)
library(caret)
library(e1071)

读入文件

df = read.csv(file="HR_comma_sep.csv", header = T, sep = ',')
head(df)
数据内容

探索数据的结构

str(df)
数据结构
summary(df)
数据概况

计算各个维度之间的相关性

#由于sales和salary为factor,所以先去掉
hr_col = df[,c(1:8)]
hr_col_matrix = cor(hr_col)
corrplot(hr_col_matrix)

画出各个变量的相关性如下:

相关性分析

因为left=1表示员工已经离职,从上述途中和left相关的变量可以看出:

下面我们通过箱体图来进行对比分析单个元素对于员工是否离职的影响。

ggplot(data=hr_col, aes(x=as.factor(left), y=satisfaction_level))+geom_boxplot(aes(fill=as.factor(left)))
员工满意度箱体图

从上图可以看出,选择留在公司的员工一般都是对公司比较 满意的。

ggplot(data=hr_col, aes(x=as.factor(left), y=last_evaluationlast_evaluation))+geom_boxplot(aes(fill=as.factor(left)))
员工评分箱体图

从上图可以看出,评分在0.6-0.8之间的员工比较稳定。

ggplot(data=hr_col, aes(x=as.factor(left), y=number_project))+geom_boxplot(aes(fill=as.factor(left)))
员工项目数量箱体图

从上图可以看出,项目数量在3-4个左右的员工是比较稳定的。

ggplot(data=hr_col, aes(x=as.factor(left), y=average_montly_hours/8))+geom_boxplot(aes(fill=as.factor(left)))
月平均工作小时箱体图

在上图中,我按照每天8小时工作时间,将小时换算成为天。从上图可以看出,每月工作时间在20到30天之间的员工比较稳定。(我们也看到有工作时间在20天以下的,也跳槽了,这一般估计是缺勤的。另外有工作时间超过30天的,这种估计就是压力特别大,所以离职也是可以理解的,去哪里工作不是工作对吧_

ggplot(data=hr_col, aes(x=as.factor(left), y=time_spend_company))+geom_boxplot(aes(fill=as.factor(left)))
员工工作年限箱体图

从图中可以看到,工作年限2-4年的员工比较稳定,当然也看到有工作年限在8-10年的骨灰级员工,他们离职医院是比较弱的。left=1的员工基本工作年限在3-5年,所以这个时间段应该是员工离职的高发时间段。

df_pro = aggregate(df$left, by = list(df$promotion_last_5years),  FUN = sum)
colnames(df_pro) = c('promotion_last_5years', 'left_sum')
df_pro$promotion_last_5years=as.factor(df_pro$promotion_last_5years)
p=ggplot(data = df_pro, mapping = aes(x = '', y = left_sum, fill = promotion_last_5years)) + geom_bar(stat = 'identity', position = 'stack', width = 1)+coord_polar(theta = "y")
p+labs(x = '', y = '离职人员数量对比', title = '离职人员最近5年升职情况对比')
离职人员升职情况对比

我们筛选出所有离职的员工,然后统计其5年内是否有过升职。通过上图可以看出,占比超过99%的离职员工5年内都没有升过职。所以,企业对于员工的升职加薪对于留住员工还是很重要的。

df_sal = aggregate(df$left, by = list(df$salary),  FUN = sum)
colnames(df_sal) = c("salary", 'left_sum')
p=ggplot(data = df_sal, mapping = aes(x = '', y = left_sum, fill = salary)) + geom_bar(stat = 'identity', position = 'stack', width = 1)+coord_polar(theta = "y")
p+labs(x = '', y = '离职人员数量对比', title = '离职人员薪酬情况对比')
薪水对于员工的影响

从上图可以看出,离职员工中薪水较低和中等的占比超过了95%。结合之前的升职情况统计,离职的原因很明了了。(没有升职、没有加薪,画个饼就让我一直给你打工....)

df_sales = aggregate(df$left, by = list(df$sales),  FUN = sum)
colnames(df_sales) = c("sales", 'left_sum')
label_value <- paste('(', round(df_sales$left_sum/sum(df_sales$left_sum) * 100, 1), '%)', sep = '')
label_value
label <- paste(df_sales$sales, label_value, sep = '')
p=ggplot(data = df_sales, mapping = aes(x = '', y = left_sum, fill = sales)) + geom_bar(stat = 'identity', position = 'stack', width = 1)+coord_polar(theta = "y")
p+labs(x = '', y = '离职人员数量对比', title = '离职人员部门情况对比')+scale_fill_discrete(labels=label)

部门对比

从上图看出,销售和技术人员在离职人员中占比是最高的。企业应该特别注意这两个部门的员工。

上一篇 下一篇

猜你喜欢

热点阅读