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

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

数据说明

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

  • satisfaction_level: 员工满意度:0-1之间的一个数值。得分越高代表员工对企业越满意。
  • last_evaluation: 最近一次评分:0-1之间的一个数值。得分越高代表员工表现越好。
  • number_project: 员工做过的总项目数。
  • average_montly_hours: 每月的平均工作时长(小时)。
  • time_spend_company: 员工在公司的时间(年)。
  • Work_accident: 员工是否在职期间有过工伤。
  • left: 是否离职(0-在职,1-离职)。
  • promotion_last_5years: 最近5年是否有过升职(0-没有,1-有)。
  • sales: 部门。
  • salary: 薪水(low-低薪,medium-中等收入,high-高薪)。

数据探索

本章我们使用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相关的变量可以看出:

  • 员工满意度越高,员工越不会离职
  • 员工受过工伤,越不会离职 (这个原因...)
  • 最近5年有过升职的员工,离职的可能性比较低
  • 每月平均工作时间越长的员工,离职的可能性越高

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

  • 员工满意度
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年,所以这个时间段应该是员工离职的高发时间段。

  • 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)

部门对比

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容