A continuación se presenta una base de datos con la rotacion del personal para una empresa determinada en función de una serie de variables cualitativas y cuantitativas que pueden influir o no en la desición de rotar de la empresa actual.

library(readxl)
Datos_Rotacion <- read_excel("Clase 10 septiembre/Datos_Rotacion.xlsx")
View(Datos_Rotacion)

Para el analisis se seleccionan las siguientes variables

Variables cualitativas

Campo de educación : Se espera que para las profesiones de mercadeo y humanidades se presente mayor rotación por su amplio campo de estudio en los diferentes sectores del mercado laborar, mientras que profesiones relacionadas con la ciencia roten menos dado su complejida y sub-especialidad.Para lo cual la hipotesis plantea que profesiones relacionadas de humanidades como trabajo social, psicologia etc, tiene mayor capacidad de desarrollar su profesion en diferentes sectores del mercado, mienstras que profesiones relacionadas con la ciencia y la salud, como medicos, quimicos, biologos etc dada su especificidad tienen un mercado mas reducido lo que hace que roten menos.

#Horas Extras: Con relacion a esta variable se espera que en la medida que las personas generen mayores horas extras se presente mayor rotación. La hipotesis se enfoca en la carga de horas extras para los diferentes colaboradores, donde no solo se extiende su jornada laboral, sino que dichas horas fuera del horario habitual son mal remuneradas en comparación con la carga laboral, lo cual obligara a una mayor rotación.

Estado civil : Para los colaboradores que se encuentren solteros se espera un mayor indice de rotacion en comparacion con los colaboradores de estado civil casado o en union libre, dado por sus obligaciones y responsabilidades con el hogar.La hipotessis en este caso va dirigida a las responsabilidades que una persona adquiere bajo la conformación de un hogar para lo que requiere necesariamente tener un ingreso fijo llevandolo a una baja rotación o rotación nula

Variable Cuantitativas

#Edad : Se espera obervar dentro de esta base de datos que a menor edad se presente mayor indice de rotación en comparación con las personas de mayor edad. La hipotesis en este caso sugiere que las personas mas jovenes o de menor edad presentaran mayores indices de rotación, dado que tienen mayor facilidad para acceder al mercado laboral, mientras que una persona de mayor edad se encuentra restringido en el abanico de mercado.

#Distancia : El personal que habite a mayor distancia rotara con mayor frecuencia en relación a aquellos que habiten mas cerca a su sitio de trabajo. En esta variable la hipotesis ronda en que el colaborador o empleado que viva a mayor distancia de su lugar de trabajo rotara mas en la busqueda constante de una mayor cercania entre su hogar y su trabajo.

#Ingresos : Se espera que los colaboradores con mejor nivel salarial roten menos que los colaboradores con salarios de nivel bajo o basico, esto debido a que las personas con ingresos bajos no lograr satisfacer completamente sus necesidades en relación con el costos de vida de las familias por lo que estas personas esten constantemente en busca de empleos con mejores remuneraciones.

Punto 2 : Analisis Univariado - Variables cuantitativas

Variable Edad

summary(Datos_Rotacion$Edad)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   30.00   36.00   36.92   43.00   60.00
sd(Datos_Rotacion$Edad)
## [1] 9.135373
hist(Datos_Rotacion$Edad,
     main = "Edad",
     border = "blue",
        col = "green",
     labels = F,
     density = 5,
     angle = 30)

boxplot(Datos_Rotacion$Edad,
        main = "Edad Empleados",
        boxfill = "green")

La población de la base de datos tiene una edad promedio de 37 Años con una desviación de 9 años.

Variable Distancia

summary(Datos_Rotacion$Distancia_Casa)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   2.000   7.000   9.193  14.000  29.000
sd(Datos_Rotacion$Distancia_Casa)
## [1] 8.106864
hist(Datos_Rotacion$Distancia_Casa,
     main = "Distancia Vivienda - Oficina",
     border = "blue",
        col = "green",
     labels = F,
     density = 5,
     angle = 30)

boxplot(Datos_Rotacion$Edad,
        main = "Distancia Vivienda - Oficina",
        boxfill = "green")

La distancia promedio entre las viviendas de los empleados y el lugar de trabajo tiene un promedio de 9 Kilometros con una desviación de 8 Kilometros.

Variable Ingresos

summary(Datos_Rotacion$Ingreso_Mensual)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1009    2911    4919    6503    8379   19999
sd(Datos_Rotacion$Ingreso_Mensual)
## [1] 4707.957
hist(Datos_Rotacion$Ingreso_Mensual,
     main = "Ingresos Mensuales",
     border = "blue",
        col = "green",
     labels = F,
     density = 5,
     angle = 30)

boxplot(Datos_Rotacion$Edad,
        main = "Ingresos Mensuales",
        boxfill = "green")

El ingreso promedio mensual para los empleados de la base de datos tiene un promedio de 6,503 Millones con una desviacion de 4,707 Millones

Punto 2 : Analisis Univariado - Variables Cualitativas

#Variable Campo de Educación

table(Datos_Rotacion$Campo_Educacion)
## 
##    Ciencias Humanidades    Mercadeo        Otra       Salud    Tecnicos 
##         606          27         159          82         464         132

La compañia tiene mayor número de colaboradores en las area de Ciencias y salud, en relación a las areas de mercadeo y tecnicas.

#Variable Horas Extras

table(Datos_Rotacion$Horas_Extra)
## 
##   No   Si 
## 1054  416

Solo el 29% de los empleados de la empresa realizan trabajo extra.

#Variable Estado cilvil

table(Datos_Rotacion$Estado_Civil)
## 
##     Casado Divorciado    Soltero 
##        673        327        470

#La mayor parte de los empleados son casados, sim embargo el grupo de empleados sin una relacion actual es de 797 colaboradores.

Punto 3 : Analisis Bivariado Cualitativo vs Cuantitativo

Variable Edad Vs Rotación

attach(Datos_Rotacion)
tapply(Edad,Rotacion,summary)
## $No
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   31.00   36.00   37.56   43.00   60.00 
## 
## $Si
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   28.00   32.00   33.61   39.00   58.00

#El promedio de edad de las personas que si rotan esta en los 34 años mientras que los que no rotan tienen un promedio de edad de 38.

Variable Distancia Vs Rotación

tapply(Distancia_Casa,Rotacion,mean)
##        No        Si 
##  8.915653 10.632911

#Las persona que han rotado de la empresa vivian en promedio a 11 Kilometros mientras que los que han permanecido en la compañia se encuentra a 9 Kilometros de su sitio de trabajo.

Variable Ingresos Vs Rotación

tapply(Ingreso_Mensual,Rotacion,mean)
##       No       Si 
## 6832.740 4787.093

El promedio del ingreso de las personas que no rotan se encuentra en los 7 millones, para las personas que si rotan esta en un promedio de 5 millones.

Punto 3 : Analisis Bivariado Cualitativo vs Cualitativo

Variable Horas extras Vs Rotación

TablaHE=table(Rotacion,Horas_Extra)
TablaHE
##         Horas_Extra
## Rotacion  No  Si
##       No 944 289
##       Si 110 127
prop.table(TablaHE,margin = 1)*100
##         Horas_Extra
## Rotacion       No       Si
##       No 76.56123 23.43877
##       Si 46.41350 53.58650
prop.table(TablaHE,margin = 2)*100
##         Horas_Extra
## Rotacion       No       Si
##       No 89.56357 69.47115
##       Si 10.43643 30.52885

Con respecto a las horas extras se puede observar que para las personas que si rotan tienen un nivel mayor de ejecuión de tiempo extra en comparacion con las que no ejecutan este tipo de labor.

Variable Estado civil Vs Rotación

TablaEc=table(Rotacion,Estado_Civil)
TablaEc
##         Estado_Civil
## Rotacion Casado Divorciado Soltero
##       No    589        294     350
##       Si     84         33     120
prop.table(TablaEc,margin = 1)*100
##         Estado_Civil
## Rotacion   Casado Divorciado  Soltero
##       No 47.76967   23.84428 28.38605
##       Si 35.44304   13.92405 50.63291
prop.table(TablaEc,margin = 2)*100
##         Estado_Civil
## Rotacion   Casado Divorciado  Soltero
##       No 87.51857   89.90826 74.46809
##       Si 12.48143   10.09174 25.53191

De acuerdo con la base de datos el 50% de las personas que si rotan son solteras, adicionalmente del total de la poblacion con estado civil Casado el nivel de rotación es de solo el 12%

Variable Campo Educación Vs Rotación

TablaCE=table(Rotacion,Campo_Educacion)
TablaCE
##         Campo_Educacion
## Rotacion Ciencias Humanidades Mercadeo Otra Salud Tecnicos
##       No      517          20      124   71   401      100
##       Si       89           7       35   11    63       32
prop.table(TablaCE,margin = 1)*100
##         Campo_Educacion
## Rotacion  Ciencias Humanidades  Mercadeo      Otra     Salud  Tecnicos
##       No 41.930251    1.622060 10.056772  5.758313 32.522303  8.110300
##       Si 37.552743    2.953586 14.767932  4.641350 26.582278 13.502110
prop.table(TablaCE,margin = 2)*100
##         Campo_Educacion
## Rotacion Ciencias Humanidades Mercadeo     Otra    Salud Tecnicos
##       No 85.31353    74.07407 77.98742 86.58537 86.42241 75.75758
##       Si 14.68647    25.92593 22.01258 13.41463 13.57759 24.24242

El mayor numero de colaboradores que ha rotado en la compañia tienen estudios en salud y ciencias con un 64%

Punto 4 : Modelo de regresión logistica

Se presenta el modelo de regresión logistica con el fin de encontrar la relación existente entre las variable seleccionadas y la rotacion del personal en la empresa

Rotacion2=as.numeric(Rotacion=="Si")
modrle=glm(Rotacion2~Edad+Distancia_Casa+Ingreso_Mensual+Campo_Educacion+Horas_Extra+Estado_Civil,family = "binomial")
summary(modrle)
## 
## Call:
## glm(formula = Rotacion2 ~ Edad + Distancia_Casa + Ingreso_Mensual + 
##     Campo_Educacion + Horas_Extra + Estado_Civil, family = "binomial")
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.6309  -0.5849  -0.3977  -0.2431   2.9312  
## 
## Coefficients:
##                              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                -1.290e+00  3.768e-01  -3.425 0.000616 ***
## Edad                       -2.950e-02  1.011e-02  -2.918 0.003521 ** 
## Distancia_Casa              3.149e-02  9.250e-03   3.404 0.000663 ***
## Ingreso_Mensual            -1.096e-04  2.591e-05  -4.230 2.33e-05 ***
## Campo_EducacionHumanidades  1.140e+00  4.915e-01   2.320 0.020315 *  
## Campo_EducacionMercadeo     6.540e-01  2.493e-01   2.624 0.008702 ** 
## Campo_EducacionOtra        -2.701e-01  3.705e-01  -0.729 0.466036    
## Campo_EducacionSalud       -1.206e-01  1.915e-01  -0.630 0.528943    
## Campo_EducacionTecnicos     6.694e-01  2.571e-01   2.603 0.009229 ** 
## Horas_ExtraSi               1.506e+00  1.587e-01   9.488  < 2e-16 ***
## Estado_CivilDivorciado     -2.832e-01  2.297e-01  -1.233 0.217488    
## Estado_CivilSoltero         9.083e-01  1.725e-01   5.266 1.40e-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: 1085.3  on 1458  degrees of freedom
## AIC: 1109.3
## 
## Number of Fisher Scoring iterations: 5

De acuerdo con el modelo de regresión lineal las variables que mejor explican la rotación de los empleados son la Distancia, la Edad, y los ingresos mensuales, con repecto a las variables cualitativas las que presentan mayor relación son la realización de horas extras y el estado civil.

Con respecto a la edad podemos decir que a menor edad efectivamente se presenta menor rotación corroborando la premisa inicial.

Encontramos que a mayor distancia se presenta mayor rotación, tal como se estibulo al inicio de la exploración.

#Con respecto a los ingresos, se presenta una relación inversa, donde a menor ingreso se genera mayor rotación del personal, con esto se confirma la hipotesis planteada inicialmente.

En referencia a la realización de horas extras se encontro que efectivamente las personas que realizan horas extras tienen una mayor tendencia a rotar como se establecio en la exploración inicial.

Tal como se planteo al inicio las personas solteras rotas mas que las personas con otros estados civiles.

Punto 5 : Predicción con base en el modelo

predict(modrle,list(Edad=29,Distancia_Casa=10,Ingreso_Mensual=5000,Campo_Educacion="Ciencias",Horas_Extra="No",Estado_Civil="Soltero"),type="response")
##         1 
## 0.1868535

#Con base en el modelo para una persona de 29 años que vive a 10 Kilometros de su lugar de trabajo, con un ingreso mensual de 5 millones, que labore en el campo de las ciencias, no genere horas extras y de estado civil soltero se tiene una probabilidad de rotación del 18,68% la cual no es muy alta ya que sus ingresos son altos en comparacion con los otros empleados.

Punto 6: Buenos Clasificados y Matriz de confusión

y_modrle=modrle$fitted.values
y=Rotacion
y_modrle2=as.numeric(y_modrle>0.4)
mat_confu=table(y_modrle2,y)
mat_confu
##          y
## y_modrle2   No   Si
##         0 1182  166
##         1   51   71
(mat_confu[1,1]+mat_confu[2,2])/sum(mat_confu)*100
## [1] 85.2381
cal_metrica=function(corte){
y_modrle2=as.numeric(y_modrle>corte)
mat_confu=table(y_modrle2,y)
metrica=(mat_confu[1,1]+mat_confu[2,2])/sum(mat_confu)*100
return(metrica)
}

cal_metrica(0.4) #test
## [1] 85.2381
cortes=seq(from = 0.05,to = 0.8,by = 0.02) #es igual a seq(0.05,0.8,0.02)


por_clasificados=sapply(cortes, cal_metrica)

plot(cortes,por_clasificados,type="b")

# Este modelo tienen un poder predictivo del 85,23 % para determinar la probabilidad de que un empleado rote o no.

Como se puede observar en la grafica el mejor corte inicia en el rango de 0.4

##Punto 7 : Conclusiones

#Fomentar canales de estudio, creando convenios o alianzas con instituciones acreditadas de nivel medio y superior, para escalafones internamente dentro de la compañía permitiendo así que colaboradores con edades inferiores a los 33 años permanezcan y no se generen rotaciones del mismo

#Desarrollar programas de alternancia en las que se fomente el trabajo en casa, cumpliendo cronogramas de actividades en los que se le permita al empleado tener más espacio personal y familiar como un incentivo pese a las largas distancias que puedan existir entre su hogar y la empresa para aquellos días que deberá asistir a la misma

#crear incentivos económicos para aquellos colaboradores que reflejen aptitudes en campos de conocimiento específicos de la empresa ya sea de manera empírica o de formación, valorando tanto su conocimiento como experiencia sin importar su rago de edad

#crear canales por departamentos de estudio específico( humanidades Ciencias, mercadeo, etc) en las que el personal cree un perfil versátil y tanto sus conocimientos como sus aptitudes pueda ser desarrolladas en diversidad de tareas no propias de su campo de estudio pero si remuneradas)

#Motivar al personal que se encuentre ubicado a mayor distancia de su trabajo con bonificaciones no constitutivas de salario para facilitar su desplazamiento donde esté no acarree un costo adicional o egreso cuantioso.