This analysis utilizes IBM employee attrition data retrieved from Kaggle. It is comprised of 1,470 observations and 35 variables; the binary outcome variable is attrition (Yes/No) and there are 33 possible predictor variables. The task is to use logistic regression modeling to estimate the probability of IBM employee attrition based on selected variables. While a more thorough analysis would examine all predictors, for the purposes of this assignment, I only selected five independent variables: job role, job involvement, monthly income, overtime, and age. The goal is to be able to answer the following question: What kind of employees are more inclined to leave IBM? More specifically, are employees in certain positions more likely to leave IBM than others? Does the level of job involvement increase or decrease the likelihood of attrition? What impact does monthly income and working overtime have? What effect does age have on likelihood of attrition?
The variables selected for this analysis are as follows:
library(readr)
AttritionDataset <- read_csv("C:/Users/Raven/Desktop/AttritionDataset.xls")
head(AttritionDataset)
library(dplyr)
AttritionDataset2 <- select(AttritionDataset,
Attrition, JobRole, JobInvolvement, MonthlyIncome, OverTime, Age)
AttritionDataset2$Attrition <- as.factor(AttritionDataset2$Attrition)
AttritionDataset2$JobRole <- as.factor(AttritionDataset2$JobRole)
AttritionDataset2$OverTime <- as.factor(AttritionDataset2$OverTime)
AttritionDataset2$Attrition <- as.integer(AttritionDataset2$Attrition)
AttritionDataset2 <- mutate(AttritionDataset2,
Attrition = sjmisc::rec(Attrition, rec = "2=1; 1=0"))
str(AttritionDataset2)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 1470 obs. of 6 variables:
$ Attrition : num 1 0 1 0 0 0 0 0 0 0 ...
$ JobRole : Factor w/ 9 levels "Healthcare Representative",..: 8 7 3 7 3 3 3 3 5 1 ...
$ JobInvolvement: int 3 2 2 3 3 3 4 3 2 3 ...
$ MonthlyIncome : int 5993 5130 2090 2909 3468 3068 2670 2693 9526 5237 ...
$ OverTime : Factor w/ 2 levels "No","Yes": 2 1 2 2 1 1 2 1 1 1 ...
$ Age : int 41 49 37 33 27 32 59 30 38 36 ...
Examining one independent variable: Job role
Model 1 examines the influence of job role on the likelihood of attrition. The results show that sales representatives have the highest log odds ratio of leaving IBM. Being a sales representative increases the log odds ratio of attrition by 2.19. Contrarily, research directors are the least likely to resign from the company. Being a research director reduces the log odds ratio of attrition by 1.05.
m1 <- glm(Attrition ~ JobRole, family = binomial, data = AttritionDataset2)
summary(m1)
Call:
glm(formula = Attrition ~ JobRole, family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.0068 -0.6200 -0.5925 -0.3170 2.7162
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.606796 0.345410 -7.547 4.45e-14 ***
JobRoleHuman Resources 1.402824 0.477118 2.940 0.003280 **
JobRoleLaboratory Technician 1.450727 0.374851 3.870 0.000109 ***
JobRoleManager -0.358477 0.574123 -0.624 0.532371
JobRoleManufacturing Director 0.004107 0.476146 0.009 0.993118
JobRoleResearch Director -1.056765 0.795058 -1.329 0.183793
JobRoleResearch Scientist 0.955686 0.380350 2.513 0.011983 *
JobRoleSales Executive 1.055136 0.374926 2.814 0.004889 **
JobRoleSales Representative 2.191281 0.411838 5.321 1.03e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1209.7 on 1461 degrees of freedom
AIC: 1227.7
Number of Fisher Scoring iterations: 6
Adding additional independent variables: Job involvement, monthly income
Model 2 examines how job role, job involvement, and monthly income influence the likelihood of attrition. Model 2 shows that sales representatives have the highest log odds ratio of leaving IBM. As the level of job involvement increases, the log odds ratio of attrition decreases, but only by a slight margin. It also shows that one unit increase in monthly income decreases the log odds ratio of attrition by .00002768, however it is not significant.
m2 <- glm(Attrition ~ JobRole + JobInvolvement + MonthlyIncome, family = binomial, data = AttritionDataset2)
summary(m2)
Call:
glm(formula = Attrition ~ JobRole + JobInvolvement + MonthlyIncome,
family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.3047 -0.6733 -0.5400 -0.2900 2.8091
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.134e+00 5.400e-01 -2.101 0.03565 *
JobRoleHuman Resources 1.326e+00 4.994e-01 2.655 0.00793 **
JobRoleLaboratory Technician 1.336e+00 4.163e-01 3.208 0.00134 **
JobRoleManager -6.147e-02 7.013e-01 -0.088 0.93015
JobRoleManufacturing Director -2.181e-02 4.784e-01 -0.046 0.96364
JobRoleResearch Director -8.030e-01 8.696e-01 -0.923 0.35582
JobRoleResearch Scientist 8.839e-01 4.216e-01 2.096 0.03605 *
JobRoleSales Executive 1.046e+00 3.779e-01 2.769 0.00562 **
JobRoleSales Representative 2.061e+00 4.612e-01 4.469 7.86e-06 ***
JobInvolvement -4.825e-01 1.006e-01 -4.797 1.61e-06 ***
MonthlyIncome -2.768e-05 4.148e-05 -0.667 0.50450
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1186.5 on 1459 degrees of freedom
AIC: 1208.5
Number of Fisher Scoring iterations: 6
Adding additional independent variables: Overtime, Age
Model 3 builds on model 2 by examining overtime and age in addition to job role, job involvement, and monthly income. The first new variable, overtime, shows that for those who have worked overtime, the log odds ratio of attrition is 1.51 higher than those who have not. The second new variable introduced, age, shows that one unit increase in age reduces the likelihood of leaving IBM by 0.032. Both variables are significant.
m3 <- glm(Attrition ~ JobRole + JobInvolvement + MonthlyIncome + OverTime + Age, family = binomial, data = AttritionDataset2)
summary(m3)
Call:
glm(formula = Attrition ~ JobRole + JobInvolvement + MonthlyIncome +
OverTime + Age, family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7072 -0.5763 -0.4102 -0.2323 2.9781
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -7.114e-01 6.246e-01 -1.139 0.254664
JobRoleHuman Resources 1.445e+00 5.154e-01 2.803 0.005058 **
JobRoleLaboratory Technician 1.454e+00 4.291e-01 3.389 0.000701 ***
JobRoleManager -1.153e-01 7.132e-01 -0.162 0.871594
JobRoleManufacturing Director -2.999e-02 4.883e-01 -0.061 0.951030
JobRoleResearch Director -9.745e-01 8.794e-01 -1.108 0.267770
JobRoleResearch Scientist 7.680e-01 4.344e-01 1.768 0.077049 .
JobRoleSales Executive 1.014e+00 3.879e-01 2.615 0.008933 **
JobRoleSales Representative 2.086e+00 4.790e-01 4.354 1.34e-05 ***
JobInvolvement -4.905e-01 1.054e-01 -4.653 3.28e-06 ***
MonthlyIncome 2.461e-06 4.497e-05 0.055 0.956358
OverTimeYes 1.513e+00 1.593e-01 9.492 < 2e-16 ***
Age -3.204e-02 1.036e-02 -3.093 0.001982 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1085.6 on 1457 degrees of freedom
AIC: 1111.6
Number of Fisher Scoring iterations: 6
Testing the interaction between overtime and monthly income
Model 4 includes all variables and also tests the interaction between overtime and monthly income. The results show that the effect of working overtime on the log odds ratio of attrition does not depend on how much the employee makes (or does not make) in monthly income. The interaction is insignificant.
m4 <- glm(Attrition ~ OverTime*MonthlyIncome + JobInvolvement + JobRole + Age, family = binomial, data = AttritionDataset2)
summary(m4)
Call:
glm(formula = Attrition ~ OverTime * MonthlyIncome + JobInvolvement +
JobRole + Age, family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7141 -0.5696 -0.4020 -0.2470 2.8187
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -8.705e-01 6.342e-01 -1.373 0.169851
OverTimeYes 1.846e+00 2.841e-01 6.497 8.20e-11 ***
MonthlyIncome 3.352e-05 4.937e-05 0.679 0.497142
JobInvolvement -4.870e-01 1.057e-01 -4.606 4.10e-06 ***
JobRoleHuman Resources 1.438e+00 5.143e-01 2.796 0.005180 **
JobRoleLaboratory Technician 1.459e+00 4.275e-01 3.412 0.000645 ***
JobRoleManager -1.430e-01 7.140e-01 -0.200 0.841275
JobRoleManufacturing Director -3.272e-02 4.866e-01 -0.067 0.946387
JobRoleResearch Director -9.680e-01 8.782e-01 -1.102 0.270373
JobRoleResearch Scientist 7.427e-01 4.335e-01 1.714 0.086610 .
JobRoleSales Executive 9.994e-01 3.863e-01 2.587 0.009677 **
JobRoleSales Representative 2.099e+00 4.788e-01 4.383 1.17e-05 ***
Age -3.193e-02 1.038e-02 -3.075 0.002102 **
OverTimeYes:MonthlyIncome -6.424e-05 4.516e-05 -1.423 0.154880
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1083.6 on 1456 degrees of freedom
AIC: 1111.6
Number of Fisher Scoring iterations: 6
Testing the interaction between Job role and Job involvement
Model 5 includes all variables and also tests the interaction between job role and job involvement. The results of the interaction show that the effect of job role on the log odds ratio of attrition does not depend on job involvement. The interaction is not significant.
m5 <- glm(Attrition ~ JobRole*JobInvolvement + Age + MonthlyIncome + OverTime, family = binomial, data = AttritionDataset2)
summary(m5)
Call:
glm(formula = Attrition ~ JobRole * JobInvolvement + Age + MonthlyIncome +
OverTime, family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.8567 -0.5811 -0.4030 -0.2361 2.9056
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.423e+00 1.398e+00 -1.018 0.30882
JobRoleHuman Resources 2.972e+00 1.862e+00 1.596 0.11049
JobRoleLaboratory Technician 1.851e+00 1.433e+00 1.292 0.19640
JobRoleManager 2.552e+00 2.061e+00 1.238 0.21572
JobRoleManufacturing Director -2.612e-02 1.819e+00 -0.014 0.98854
JobRoleResearch Director -3.064e+00 3.736e+00 -0.820 0.41211
JobRoleResearch Scientist 1.734e+00 1.470e+00 1.179 0.23839
JobRoleSales Executive 1.682e+00 1.425e+00 1.180 0.23787
JobRoleSales Representative 3.337e+00 1.623e+00 2.056 0.03977
JobInvolvement -2.180e-01 4.697e-01 -0.464 0.64253
Age -3.204e-02 1.041e-02 -3.077 0.00209
MonthlyIncome 2.286e-06 4.537e-05 0.050 0.95981
OverTimeYes 1.516e+00 1.602e-01 9.467 < 2e-16
JobRoleHuman Resources:JobInvolvement -5.897e-01 6.871e-01 -0.858 0.39076
JobRoleLaboratory Technician:JobInvolvement -1.510e-01 5.108e-01 -0.296 0.76746
JobRoleManager:JobInvolvement -1.063e+00 7.842e-01 -1.355 0.17529
JobRoleManufacturing Director:JobInvolvement 4.360e-03 6.638e-01 0.007 0.99476
JobRoleResearch Director:JobInvolvement 7.346e-01 1.233e+00 0.596 0.55128
JobRoleResearch Scientist:JobInvolvement -3.702e-01 5.243e-01 -0.706 0.48016
JobRoleSales Executive:JobInvolvement -2.556e-01 5.156e-01 -0.496 0.62009
JobRoleSales Representative:JobInvolvement -4.803e-01 5.836e-01 -0.823 0.41049
(Intercept)
JobRoleHuman Resources
JobRoleLaboratory Technician
JobRoleManager
JobRoleManufacturing Director
JobRoleResearch Director
JobRoleResearch Scientist
JobRoleSales Executive
JobRoleSales Representative *
JobInvolvement
Age **
MonthlyIncome
OverTimeYes ***
JobRoleHuman Resources:JobInvolvement
JobRoleLaboratory Technician:JobInvolvement
JobRoleManager:JobInvolvement
JobRoleManufacturing Director:JobInvolvement
JobRoleResearch Director:JobInvolvement
JobRoleResearch Scientist:JobInvolvement
JobRoleSales Executive:JobInvolvement
JobRoleSales Representative:JobInvolvement
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1081.2 on 1449 degrees of freedom
AIC: 1123.2
Number of Fisher Scoring iterations: 6
Testing the Interaction between overtime and job involvement
Model 6 includes all variables and also tests the interaction between overtime and job involvement. The results show that the effect of working overtime on the log odds ratio of attrition does not depend on an employee’s involvement in the company. The interaction is not significant.
m6 <- glm(Attrition ~ OverTime*JobInvolvement + JobRole + MonthlyIncome + OverTime, family = binomial, data = AttritionDataset2)
summary(m6)
Call:
glm(formula = Attrition ~ OverTime * JobInvolvement + JobRole +
MonthlyIncome + OverTime, family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7560 -0.5621 -0.4106 -0.2355 3.0578
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.5416467 0.6090726 -2.531 0.011369 *
OverTimeYes 1.4012113 0.5727265 2.447 0.014423 *
JobInvolvement -0.5260575 0.1398329 -3.762 0.000169 ***
JobRoleHuman Resources 1.4428322 0.5145547 2.804 0.005047 **
JobRoleLaboratory Technician 1.4519333 0.4281664 3.391 0.000696 ***
JobRoleManager 0.0896110 0.7066352 0.127 0.899088
JobRoleManufacturing Director -0.0021027 0.4879250 -0.004 0.996562
JobRoleResearch Director -0.7326825 0.8765523 -0.836 0.403229
JobRoleResearch Scientist 0.7746040 0.4329809 1.789 0.073614 .
JobRoleSales Executive 1.0866241 0.3873412 2.805 0.005026 **
JobRoleSales Representative 2.1574349 0.4776540 4.517 6.28e-06 ***
MonthlyIncome -0.0000416 0.0000423 -0.984 0.325360
OverTimeYes:JobInvolvement 0.0349531 0.2115103 0.165 0.868743
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1095.6 on 1457 degrees of freedom
AIC: 1121.6
Number of Fisher Scoring iterations: 6
Testing the Interaction between age and job role
Model 7 includes all variables and also tests the interaction between age and job role. The results show that the effect of age on the log odds ratio of attrition does not depend on an employee’s role in the company. The interaction is not significant.
m7 <- glm(Attrition ~ Age*JobRole + JobInvolvement + MonthlyIncome + OverTime, family = binomial, data = AttritionDataset2)
summary(m7)
Call:
glm(formula = Attrition ~ Age * JobRole + JobInvolvement + MonthlyIncome +
OverTime, family = binomial, data = AttritionDataset2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7122 -0.5645 -0.4041 -0.2192 3.2265
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -7.195e-01 1.735e+00 -0.415 0.6785
Age -2.815e-02 4.308e-02 -0.654 0.5134
JobRoleHuman Resources 5.821e+00 2.637e+00 2.208 0.0273 *
JobRoleLaboratory Technician 2.396e+00 1.826e+00 1.313 0.1893
JobRoleManager -9.719e-01 3.537e+00 -0.275 0.7835
JobRoleManufacturing Director -1.033e+00 2.273e+00 -0.455 0.6494
JobRoleResearch Director -6.858e+00 5.825e+00 -1.177 0.2391
JobRoleResearch Scientist 6.959e-01 1.847e+00 0.377 0.7063
JobRoleSales Executive -6.521e-01 1.846e+00 -0.353 0.7239
JobRoleSales Representative 3.590e+00 1.953e+00 1.838 0.0661 .
JobInvolvement -5.008e-01 1.071e-01 -4.676 2.93e-06 ***
MonthlyIncome -1.562e-05 4.551e-05 -0.343 0.7315
OverTimeYes 1.548e+00 1.623e-01 9.536 < 2e-16 ***
Age:JobRoleHuman Resources -1.337e-01 7.543e-02 -1.772 0.0764 .
Age:JobRoleLaboratory Technician -3.029e-02 4.742e-02 -0.639 0.5229
Age:JobRoleManager 2.177e-02 7.805e-02 0.279 0.7803
Age:JobRoleManufacturing Director 2.612e-02 5.683e-02 0.460 0.6458
Age:JobRoleResearch Director 1.302e-01 1.198e-01 1.087 0.2772
Age:JobRoleResearch Scientist 5.198e-04 4.789e-02 0.011 0.9913
Age:JobRoleSales Executive 4.555e-02 4.671e-02 0.975 0.3295
Age:JobRoleSales Representative -5.162e-02 5.315e-02 -0.971 0.3314
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1298.6 on 1469 degrees of freedom
Residual deviance: 1066.9 on 1449 degrees of freedom
AIC: 1108.9
Number of Fisher Scoring iterations: 7
Lower deviance means better fit to data. According to the likelihood ratio test results, model 7 presents the lowest residual deviance compared to the other models. It should be noted, however, that the interaction term in this model proved to be insignificant. Instead, it can be argued that model 3 is the best fitting model for this data. If we take into into account the statistical significance of the predictors and the use of as few variables as possible, model 3 is considered the strongest. Furthermore, it produces the greatest decrease in deviance when compared to the other models. The BIC score (as can be seen in the upcoming model comparison table) also maintains that model 3 is the best fitting model for this data.
anova(m1, m2, m3, m4, m5, m6, m7, test = "Chisq")
Analysis of Deviance Table
Model 1: Attrition ~ JobRole
Model 2: Attrition ~ JobRole + JobInvolvement + MonthlyIncome
Model 3: Attrition ~ JobRole + JobInvolvement + MonthlyIncome + OverTime +
Age
Model 4: Attrition ~ OverTime * MonthlyIncome + JobInvolvement + JobRole +
Age
Model 5: Attrition ~ JobRole * JobInvolvement + Age + MonthlyIncome +
OverTime
Model 6: Attrition ~ OverTime * JobInvolvement + JobRole + MonthlyIncome +
OverTime
Model 7: Attrition ~ Age * JobRole + JobInvolvement + MonthlyIncome +
OverTime
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 1461 1209.7
2 1459 1186.5 2 23.141 9.441e-06 ***
3 1457 1085.6 2 100.896 < 2.2e-16 ***
4 1456 1083.6 1 2.042 0.1529822
5 1449 1081.2 7 2.426 0.9325715
6 1457 1095.6 -8 -14.471 0.0702864 .
7 1449 1066.9 8 28.707 0.0003569 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
The AIC score is lowest in Model 7, while the BIC score is the lowest in Model 3.
library(texreg)
htmlreg(list(m1, m2, m3, m4, m5, m6, m7))
| Model 1 | Model 2 | Model 3 | Model 4 | Model 5 | Model 6 | Model 7 | ||
|---|---|---|---|---|---|---|---|---|
| (Intercept) | -2.61*** | -1.13* | -0.71 | -0.87 | -1.42 | -1.54* | -0.72 | |
| (0.35) | (0.54) | (0.62) | (0.63) | (1.40) | (0.61) | (1.74) | ||
| JobRoleHuman Resources | 1.40** | 1.33** | 1.44** | 1.44** | 2.97 | 1.44** | 5.82* | |
| (0.48) | (0.50) | (0.52) | (0.51) | (1.86) | (0.51) | (2.64) | ||
| JobRoleLaboratory Technician | 1.45*** | 1.34** | 1.45*** | 1.46*** | 1.85 | 1.45*** | 2.40 | |
| (0.37) | (0.42) | (0.43) | (0.43) | (1.43) | (0.43) | (1.83) | ||
| JobRoleManager | -0.36 | -0.06 | -0.12 | -0.14 | 2.55 | 0.09 | -0.97 | |
| (0.57) | (0.70) | (0.71) | (0.71) | (2.06) | (0.71) | (3.54) | ||
| JobRoleManufacturing Director | 0.00 | -0.02 | -0.03 | -0.03 | -0.03 | -0.00 | -1.03 | |
| (0.48) | (0.48) | (0.49) | (0.49) | (1.82) | (0.49) | (2.27) | ||
| JobRoleResearch Director | -1.06 | -0.80 | -0.97 | -0.97 | -3.06 | -0.73 | -6.86 | |
| (0.80) | (0.87) | (0.88) | (0.88) | (3.74) | (0.88) | (5.82) | ||
| JobRoleResearch Scientist | 0.96* | 0.88* | 0.77 | 0.74 | 1.73 | 0.77 | 0.70 | |
| (0.38) | (0.42) | (0.43) | (0.43) | (1.47) | (0.43) | (1.85) | ||
| JobRoleSales Executive | 1.06** | 1.05** | 1.01** | 1.00** | 1.68 | 1.09** | -0.65 | |
| (0.37) | (0.38) | (0.39) | (0.39) | (1.42) | (0.39) | (1.85) | ||
| JobRoleSales Representative | 2.19*** | 2.06*** | 2.09*** | 2.10*** | 3.34* | 2.16*** | 3.59 | |
| (0.41) | (0.46) | (0.48) | (0.48) | (1.62) | (0.48) | (1.95) | ||
| JobInvolvement | -0.48*** | -0.49*** | -0.49*** | -0.22 | -0.53*** | -0.50*** | ||
| (0.10) | (0.11) | (0.11) | (0.47) | (0.14) | (0.11) | |||
| MonthlyIncome | -0.00 | 0.00 | 0.00 | 0.00 | -0.00 | -0.00 | ||
| (0.00) | (0.00) | (0.00) | (0.00) | (0.00) | (0.00) | |||
| OverTimeYes | 1.51*** | 1.85*** | 1.52*** | 1.40* | 1.55*** | |||
| (0.16) | (0.28) | (0.16) | (0.57) | (0.16) | ||||
| Age | -0.03** | -0.03** | -0.03** | -0.03 | ||||
| (0.01) | (0.01) | (0.01) | (0.04) | |||||
| OverTimeYes:MonthlyIncome | -0.00 | |||||||
| (0.00) | ||||||||
| JobRoleHuman Resources:JobInvolvement | -0.59 | |||||||
| (0.69) | ||||||||
| JobRoleLaboratory Technician:JobInvolvement | -0.15 | |||||||
| (0.51) | ||||||||
| JobRoleManager:JobInvolvement | -1.06 | |||||||
| (0.78) | ||||||||
| JobRoleManufacturing Director:JobInvolvement | 0.00 | |||||||
| (0.66) | ||||||||
| JobRoleResearch Director:JobInvolvement | 0.73 | |||||||
| (1.23) | ||||||||
| JobRoleResearch Scientist:JobInvolvement | -0.37 | |||||||
| (0.52) | ||||||||
| JobRoleSales Executive:JobInvolvement | -0.26 | |||||||
| (0.52) | ||||||||
| JobRoleSales Representative:JobInvolvement | -0.48 | |||||||
| (0.58) | ||||||||
| OverTimeYes:JobInvolvement | 0.03 | |||||||
| (0.21) | ||||||||
| Age:JobRoleHuman Resources | -0.13 | |||||||
| (0.08) | ||||||||
| Age:JobRoleLaboratory Technician | -0.03 | |||||||
| (0.05) | ||||||||
| Age:JobRoleManager | 0.02 | |||||||
| (0.08) | ||||||||
| Age:JobRoleManufacturing Director | 0.03 | |||||||
| (0.06) | ||||||||
| Age:JobRoleResearch Director | 0.13 | |||||||
| (0.12) | ||||||||
| Age:JobRoleResearch Scientist | 0.00 | |||||||
| (0.05) | ||||||||
| Age:JobRoleSales Executive | 0.05 | |||||||
| (0.05) | ||||||||
| Age:JobRoleSales Representative | -0.05 | |||||||
| (0.05) | ||||||||
| AIC | 1227.67 | 1208.53 | 1111.64 | 1111.60 | 1123.17 | 1121.64 | 1108.93 | |
| BIC | 1275.31 | 1266.76 | 1180.45 | 1185.70 | 1234.32 | 1190.45 | 1220.09 | |
| Log Likelihood | -604.84 | -593.27 | -542.82 | -541.80 | -540.58 | -547.82 | -533.47 | |
| Deviance | 1209.67 | 1186.53 | 1085.64 | 1083.60 | 1081.17 | 1095.64 | 1066.93 | |
| Num. obs. | 1470 | 1470 | 1470 | 1470 | 1470 | 1470 | 1470 | |
| p < 0.001, p < 0.01, p < 0.05 | ||||||||
library(visreg)
visreg(m3, "JobRole", scale = "response")
Based on figure 1, the position with the highest likelihood of attrition are sales representatives.
library(visreg)
visreg(m3, "JobInvolvement", scale = "response")
The higher the level of involvement, the least likely an employee is to leave. Employees with little involvement in the company have the highest log odds ratio of attrition.
library(visreg)
visreg(m3, "OverTime", scale = "response")
The log odds ratio of attrition for employees who work overtime is substantially higher than those who do not.
library(visreg)
visreg(m3, "Age", scale = "response")
As age increases, the log odds ratio of attrition decreases. Older employees are more likely to stay with the company, while the younger are more likely to leave.
The results revealed that sales representatives are significantly more likely to leave IBM than any other position. Further studies will need to be done to examine why this is case. What is it about this particular position that increases the likelihood of attrition? It is worthy of a closer examination. Furthermore, it can also be said that as job involvement increases, the log odds ratio of leaving IBM decreases. Essentially, the more involved IBM employees are in the company, the less likely they are to resign. Employees with little involvement have the highest log odds ratio of attrition. The results also revealed that working overtime has a significant detrimental effect on the likelihood of remaining with IBM. The log odds ratio of employee turnover is 1.51 higher for employees who have worked overtime than for those who have not. Finally, it can be said that older employees are slightly less likely to leave IBM than younger ones. For every unit increase in age, the log odds ratio of attrition decreases by 0.032. Ultimately, these findings provided meaningful insight into attrition and the factors that influence it within IBM.