Introducción

Este documento pretende realizar un análisis estadistico y predictivo para la organización, con el fin de comprender y preveer la Rotación existente entre los diferentes cargos que se ejecutan en la empresa, esto ahorraría costos en la preparación de los empleados y retendria el diferente talento en cada uno de sus cargos con la mayor satisfacción posible. El documento presenta una serie de análisis que buscan entender mejor el problema y finalmente se realizará un modelo de regresión logistica que busca predecir según las diferentes caracteristicas del individio y su predisposición a rotar de cargo dentro de la compañia y a su vez se realizarán una serie de recomendaciones con el fin de mejorar esta problemática acorde con la visión de la compañia.

1. Selección de variables

En esta sección se busca realizar una selección empírica de aquellas variables que podrían ser más influyente al momento de evaluar la problemática que se presentó anteriormente, por esta razón, se elegirán 3 variables cualitativas y 3 cuantitativas, a cotinuación se expondran las razónes de dicha elección.

## Rows: 1,470
## Columns: 24
## $ Rotación                    <chr> "Si", "No", "Si", "No", "No", "No", "No", …
## $ Edad                        <dbl> 41, 49, 37, 33, 27, 32, 59, 30, 38, 36, 35…
## $ `Viaje de Negocios`         <chr> "Raramente", "Frecuentemente", "Raramente"…
## $ Departamento                <chr> "Ventas", "IyD", "IyD", "IyD", "IyD", "IyD…
## $ Distancia_Casa              <dbl> 1, 8, 2, 3, 2, 2, 3, 24, 23, 27, 16, 15, 2…
## $ Educación                   <dbl> 2, 1, 2, 4, 1, 2, 3, 1, 3, 3, 3, 2, 1, 2, …
## $ Campo_Educación             <chr> "Ciencias", "Ciencias", "Otra", "Ciencias"…
## $ Satisfacción_Ambiental      <dbl> 2, 3, 4, 4, 1, 4, 3, 4, 4, 3, 1, 4, 1, 2, …
## $ Genero                      <chr> "F", "M", "M", "F", "M", "M", "F", "M", "M…
## $ Cargo                       <chr> "Ejecutivo_Ventas", "Investigador_Cientifi…
## $ Satisfación_Laboral         <dbl> 4, 2, 3, 3, 2, 4, 1, 3, 3, 3, 2, 3, 3, 4, …
## $ Estado_Civil                <chr> "Soltero", "Casado", "Soltero", "Casado", …
## $ Ingreso_Mensual             <dbl> 5993, 5130, 2090, 2909, 3468, 3068, 2670, …
## $ Trabajos_Anteriores         <dbl> 8, 1, 6, 1, 9, 0, 4, 1, 0, 6, 0, 0, 1, 0, …
## $ Horas_Extra                 <chr> "Si", "No", "Si", "Si", "No", "No", "Si", …
## $ Porcentaje_aumento_salarial <dbl> 11, 23, 15, 11, 12, 13, 20, 22, 21, 13, 13…
## $ Rendimiento_Laboral         <dbl> 3, 4, 3, 3, 3, 3, 4, 4, 4, 3, 3, 3, 3, 3, …
## $ Años_Experiencia            <dbl> 8, 10, 7, 8, 6, 8, 12, 1, 10, 17, 6, 10, 5…
## $ Capacitaciones              <dbl> 0, 3, 3, 3, 3, 2, 3, 2, 2, 3, 5, 3, 1, 2, …
## $ Equilibrio_Trabajo_Vida     <dbl> 1, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, …
## $ Antigüedad                  <dbl> 6, 10, 0, 8, 2, 7, 1, 1, 9, 7, 5, 9, 5, 2,…
## $ Antigüedad_Cargo            <dbl> 4, 7, 0, 7, 2, 7, 0, 0, 7, 7, 4, 5, 2, 2, …
## $ Años_ultima_promoción       <dbl> 0, 1, 0, 3, 2, 3, 0, 0, 1, 7, 0, 0, 4, 1, …
## $ Años_acargo_con_mismo_jefe  <dbl> 5, 7, 0, 0, 2, 6, 0, 0, 8, 7, 3, 8, 3, 2, …

Podemos ver la existencia de 24 viariables, una de ellas es la variable rotación, la cual es la variable objetivo, adicionalmente se tiene un total de 6 variables cualitativas y 17 cuantitativas, la viariables elegídas para realizár el análisis son las siguientes:

Variables Cualitativas

a. Estado Civil

Definitivamente el estado civil hace parte fundamental en la vida de las personas ya que implica un grado de responsabilidad y apego a una estabilidad o no dependiendo del estado del mismo, en este caso una persona casada probablemente tenga hijos y un mayor nivel de responsabilidad lo que ocasionaría un mayor apego a la estabilidad y al trabajo y cargo actual sin animo de rotar, diferente a una persona soltera cuyo nivel y rango de libertad es mayor.

b. Cargo

Es importante tener en cuenta esta variable ya que es clave identificar mediante análisis descriptivos y poder predecir que cargo tiene una mayor tasa y probabilidad de rotar y asi atacar los de maypr indice o identificar las posibles causas.

c. Satisfacción Laboral

La satisfacción laboral cumple un papel fundamental a la hora de determinar que tan feliz o inconforme se encuentra con su área de trabajo, por esta razón, si la respuesta es negativa la tendencia a querer rotar por las situación que que sea que genere esa insatifacción es mucho más alta, por esta razón se hace importante realizar seguimiento a esta variable.

Variables Cuantitativas

d. Edad

La edad puede resultar un factor fundamental al momento de evaluar si un individuo es propenso a rotar más en un cargo, las personas más jovenes tienden en su cotidianidad a rotar o aburrirme con mayor facilidad en un puesto de trabajo debido a sus ansias de experimentar cosas nuevas sin adaptarse de manera defintiva a un cargo.

e. Ingreso Mensual

Los ingresos permiten identificar un tipo de inconformismo predominante hacia las personas que ganan menos cantidades de dinero al mes que las que ganan más dinero, esto puede contribuir a muchos aspecto ambientales del individuo y a una posterior inestabilidad laborar si el dinero devengado es insuficiente.

f. Trabajos anteriores

La cantidad y tendencia de un individuo a cambiar de trabajo puede ser un factor fundamental a la hora de entender también la tendencia a rotar de puesto de trabajo, ya se por monotonía o dificultar para adaptarse y sentirse satisfecho con un cargo, la cantidad de trabajo está directamente relacionada con la probilidad de rotar.

2. Análisis Univariado

La segunda sección busca evidenciar las diferentes medidas de tendencia y explorar cada variable elegida con el fin de comprender mejor el comportamiento del dataset y de la variable objetivo.

2.1. Variables cualitativas

a. Estado Civil

Inicialmente se evaluan las variables cualitativas, en este caso la variable Estado civil podria representar una de las más importantes como se explicó previamente, en este gráfico podemos observar que de todo el dataset el mayor porcentaje se ve reflejado para los casados (45%), seguido por los solteros (33%) y finalmente los divorciados (22%), esto implica que casi la mitad del dataset presenta personas que se encuentran casados al momento de recolectar los datos.

b. Cargo

La siguiente variable de estudio es el Cargo, en este caso se quiso estudiar este item del dataset porque se quiere averiguar la influencia del cargo dentro de la rotación, particularmente en este gráfico se observa que la mayoría de personas en la empresa se encuentran en el cargo de Ejecutivo de ventas, lo cual podria indicar que la mayoria de cargos en los que se rota se situan en ese item, este está seguido por investigador científico y técnico de laboratorio, entre estos 3 cargos representan más del 50% del dataset.

c. Satisfacción Laboral

La próxima variable cualitativa evaluada es la satisfacción laboral, ya que las personas con bajo nivel de satisfacción laboral pueden tender a rotar con mayor facilidad, lo que podemos ver es que el 60% de personas encuestadas se ubican entre satisfacción laboral alta y muy alta.

2.2. Variables Cuantitativas

d. Edad

En cuanto las variables cuantitativas se procedió a realizar histogramas que permitieran ver como se distribuyen los datos según la variable evaluada, en este caso la edad podemos ver que su distribución es muy cercana a la normal en forma de campana, siendo la edad de 36 años la que más existe entre los encuestados, este valor es muy cercano a la media que es de 36.92 años, también vemos que las personas que trabajan en la empresa rondan entre los 18 y 60 años.

e. Ingreso mensual

Por su parte el ingreso mensual también se quiso realizar un histograma, sin embargo este ya no presenta una distribución normal, la mayoría de salarios se encuentran en los 2,500 usd mensuales y valores cercanos, ubicandose también lejos de la media de todo el dataset la cual es de 6,502 Usd, los valores de salario se ubican entre 1,000 y 20,000 Usd lo que muestra que la mayoría de trabajadores son de tipo operativo y tienen un salario basico cercano a un salario mínimo estadounidense (1,137 Usd).

f. Trabajos anteriores

Finalmente la última variable evaluada para el modelo es la cantidad de trabajos anteriores, en este caso podemos ver que la gran mayoría de trabajadores de la empresa solo han tenido un trabajo anterior, lo que implica también que muchos de ellos no suelen cambiar mucho de trabajo, sino que prefieren quedarse en una sola empresa, a pesar de esto la media de esta variable es de 2.6 trabajos anteriores y el rango se encuentra entre 0 y 9 trabajos anteriores.

3. Análisis Bivariado

Para el análisis bivariado, se busca comprender cuales son las variables más determinantes a la hora de predecir la variable objetivo de rotación, para esto se decodificarán las variables categóricas y se entrenará un modelo de regresión logistica que permita obtener los coeficientes de cada variable y su importancia dentro del dataset respecto a la rotación y se comparan los resultados con las hipotesis iniciales.

3.1. Variables cualitativas

Dentro de las variables cualitativas podemos ver cuales son las más representativas y las que tienen mayor significancia estadistica, en los resultados obtenidos podemos ver que de las variables de estado civil respecto a la de casados que es la base con la que se comparan los divociados,que según su coeficiente tienen menor probabilidad de rotar respecto a los casados, mientras que los solteros tienen una mayor probabilidad logaritmica, esto ratifica la hipótesis inicial de que los solteros tienen una mayor tendencia a rotar.

Por otra parte los cargos en comparación con el director de investigación se ve generalizadamente que tienen una mayor relevancia y tendencia a rotar que esta, sin embargo, las variables que pueden interceder de manera más representativa son el ejecutivo de ventas, el area de recursos humanos, representante de ventas y técnico de laboratorio, estos tienden a rotar más que los demás cargos y son estadisticamente significativos.

Respecto a la satisfacción laboral, las componentes comparadas respecto a la satifacción tipo 1 o muy baja, se denota que como se indicó en la hipotesis inicial las personas con baja satisfacción laboral tienden a rotar más, en este caso podemos ver que a medida que aumenta la satisfacción laborar la probabilidad disminuye como se ve en sus coeficientes.

data1$Rotación[data1$Rotación == "Si"] <- 1
data1$Rotación[data1$Rotación == "No"] <- 0
data1$Rotación <- as.numeric(data1$Rotación)

# Modelo 
Modelo_Variables_Cualitativas <- glm(Rotación ~ factor(Estado_Civil) + factor(Cargo) + factor(Satisfación_Laboral), data = data1, family = binomial(link = "logit"))
summary(Modelo_Variables_Cualitativas)
## 
## Call:
## glm(formula = Rotación ~ factor(Estado_Civil) + factor(Cargo) + 
##     factor(Satisfación_Laboral), family = binomial(link = "logit"), 
##     data = data1)
## 
## Coefficients:
##                                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           -3.4066     0.7352  -4.634 3.59e-06 ***
## factor(Estado_Civil)Divorciado        -0.2287     0.2240  -1.021 0.307317    
## factor(Estado_Civil)Soltero            0.8443     0.1649   5.122 3.03e-07 ***
## factor(Cargo)Director_Manofactura      1.0155     0.7908   1.284 0.199119    
## factor(Cargo)Ejecutivo_Ventas          2.0613     0.7340   2.808 0.004979 ** 
## factor(Cargo)Gerente                   0.7003     0.8544   0.820 0.412382    
## factor(Cargo)Investigador_Cientifico   1.9203     0.7370   2.606 0.009169 ** 
## factor(Cargo)Recursos_Humanos          2.5425     0.7936   3.204 0.001356 ** 
## factor(Cargo)Representante_Salud       1.0118     0.7990   1.266 0.205390    
## factor(Cargo)Representante_Ventas      3.1358     0.7553   4.152 3.30e-05 ***
## factor(Cargo)Tecnico_Laboratorio       2.4447     0.7340   3.331 0.000866 ***
## factor(Satisfación_Laboral)2          -0.4822     0.2268  -2.126 0.033479 *  
## factor(Satisfación_Laboral)3          -0.4394     0.2012  -2.184 0.028942 *  
## factor(Satisfación_Laboral)4          -0.9536     0.2137  -4.462 8.12e-06 ***
## ---
## 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: 1153.8  on 1456  degrees of freedom
## AIC: 1181.8
## 
## Number of Fisher Scoring iterations: 6

3.2. Variables Cuantitativas

Dentro de las variables cuantitativas se quiso revisar con la matríz de pearson cuales eran las variables que más influencia tienen respecto a la variable rotación, se puede apreciar que las variables que más influencia tienen en la rotación son la Edad, el ingreso mensual, los años de experiencia y la antiguedad en la empresa y en el cargo. Esto va muy de la mano con las variables elegidas, la única que probablemente no tenga una significancia estadistica es la cantidad de trabajos anteriores.

##                        Edad              Distancia_Casa 
##                 -0.15922783                  0.07792358 
##                   Educación             Ingreso_Mensual 
##                 -0.03137282                 -0.15983958 
##         Trabajos_Anteriores Porcentaje_aumento_salarial 
##                  0.04349374                 -0.01347820 
##            Años_Experiencia              Capacitaciones 
##                 -0.17106325                 -0.05947780 
##                  Antigüedad            Antigüedad_Cargo 
##                 -0.13439221                 -0.16054500 
##       Años_ultima_promoción 
##                 -0.03301878

Una vez utilizado el modelo para observar la significancia de las variables cuantitativas, se observa que todas tienen una significancia estadistica respecto a la rotación, tambien se puede análizar con los coeficientes logaritmicos que por cada año en la edad, la probabilidad logaritmica de que el empleado rote disminuye, respecto al ingreso mensual ocurre lo mismo con la edad y por el contrario los trabajos anteriores, a medida que aumenta la cantidad de trabajos anteriores es mas probable que rote, lo que complementa las hipótesis iniciales y las ratifica.

data1$Rotación[data1$Rotación == "Si"] <- 1
data1$Rotación[data1$Rotación == "No"] <- 0
data1$Rotación <- as.numeric(data1$Rotación)

# Modelo 
Modelo_Variables_Cualitativas <- glm(Rotación ~ Edad + Ingreso_Mensual + Trabajos_Anteriores , data = data1, family = binomial(link = "logit"))
summary(Modelo_Variables_Cualitativas)
## 
## Call:
## glm(formula = Rotación ~ Edad + Ingreso_Mensual + Trabajos_Anteriores, 
##     family = binomial(link = "logit"), data = data1)
## 
## Coefficients:
##                       Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          1.031e-01  3.109e-01   0.332     0.74    
## Edad                -4.282e-02  1.007e-02  -4.251 2.13e-05 ***
## Ingreso_Mensual     -9.682e-05  2.388e-05  -4.055 5.02e-05 ***
## Trabajos_Anteriores  1.128e-01  2.897e-02   3.893 9.88e-05 ***
## ---
## 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: 1226.3  on 1466  degrees of freedom
## AIC: 1234.3
## 
## Number of Fisher Scoring iterations: 5

4. Estimación del modelo

Para el cuarto item se busca entrenar un modelo teniendo en cuenta las 6 variables inicialmente elegidas, y a partir de este obtener el mejor resultado posible a partir de un modelo de regresión logística y asi poder predecir cuando un individuo estará sometido a rotación teniendo en cuenta los parametros de afectación elegidos. Al entrenar el modelo se observa la misma tendencia evidenciada en la sección anterior.

set.seed(72) 

proporcion_entrenamiento <- 0.7

indices <- sample(1:nrow(data1), nrow(data1))

n_entrenamiento <- round(proporcion_entrenamiento * nrow(data1))

datos_entrenamiento <- data1[indices[1:n_entrenamiento], ]

datos_prueba <- data1[indices[(n_entrenamiento + 1):nrow(data1)], ]

modelo_logistico <- glm(Rotación ~ Edad + Ingreso_Mensual + Trabajos_Anteriores + factor(Estado_Civil) +   factor(Cargo) + factor(Satisfación_Laboral), data = datos_entrenamiento, family = binomial(link = "logit"))

summary(modelo_logistico)
## 
## Call:
## glm(formula = Rotación ~ Edad + Ingreso_Mensual + Trabajos_Anteriores + 
##     factor(Estado_Civil) + factor(Cargo) + factor(Satisfación_Laboral), 
##     family = binomial(link = "logit"), data = datos_entrenamiento)
## 
## Coefficients:
##                                        Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                          -2.762e+00  1.330e+00  -2.076 0.037907 *  
## Edad                                 -4.422e-02  1.247e-02  -3.545 0.000392 ***
## Ingreso_Mensual                       2.629e-05  5.294e-05   0.497 0.619417    
## Trabajos_Anteriores                   9.991e-02  3.677e-02   2.717 0.006592 ** 
## factor(Estado_Civil)Divorciado       -1.251e-01  2.636e-01  -0.475 0.634977    
## factor(Estado_Civil)Soltero           7.435e-01  2.005e-01   3.709 0.000208 ***
## factor(Cargo)Director_Manofactura     1.214e+00  1.179e+00   1.029 0.303398    
## factor(Cargo)Ejecutivo_Ventas         2.521e+00  1.125e+00   2.241 0.025019 *  
## factor(Cargo)Gerente                  1.596e+00  1.120e+00   1.425 0.154078    
## factor(Cargo)Investigador_Cientifico  2.351e+00  1.214e+00   1.937 0.052795 .  
## factor(Cargo)Recursos_Humanos         2.940e+00  1.235e+00   2.381 0.017265 *  
## factor(Cargo)Representante_Salud      1.307e+00  1.177e+00   1.110 0.266803    
## factor(Cargo)Representante_Ventas     3.548e+00  1.246e+00   2.847 0.004410 ** 
## factor(Cargo)Tecnico_Laboratorio      2.859e+00  1.209e+00   2.366 0.017999 *  
## factor(Satisfación_Laboral)2         -5.514e-01  2.883e-01  -1.913 0.055805 .  
## factor(Satisfación_Laboral)3         -3.140e-01  2.436e-01  -1.289 0.197396    
## factor(Satisfación_Laboral)4         -6.299e-01  2.519e-01  -2.500 0.012414 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 912.63  on 1028  degrees of freedom
## Residual deviance: 796.89  on 1012  degrees of freedom
## AIC: 830.89
## 
## Number of Fisher Scoring iterations: 6

5. Evaluación

Mediante la Curva ROC, en esta sección podremos observar cual es la predictivad del modelo elegido y como este puede otorgar valores realmente significativos y confiables al momento de predecir un evento nuevo de rotación. En este caso la curva ROC arroja un AUC de 0.73, esto indica que el modelo tiene una predicción moderada tirando a alta, y en el 73% de las veces puede predecir bien entre si la persona puede rotar o no, lo que para quien realiza el estudio considera que es una métrica aceptable.

6. Predicciones

Este punto pretende probar el modelo con un caso hipotético de un nuevo individuo con diversas características y determinar la probabilidad de que este realice un proceso de rotación, además se determina un umbral para saber si el usuario se debe intervenir o no. En este caso el usuario nuevo a simple vista tiene una gran probabilidad de rotar, esto debido a que es un Representante de ventas la cual tiene mayor probabilidad de rotar, adicionalmente un nivel de satifacción de 1 (muy bajo), tiene un edad de 20 años, es decir que a menor edad es mas probable que rote, adicionalmemte es soltero y ha tenido 6 trabajos anteriores. para este individuo se observa una probabilidad de 79%.

Nuevo_Trabajador <- data.frame(
  Edad = 20,
  `Viaje de Negocios` = "Raramente",
  Departamento = "IyD",
  Distancia_Casa = 8,
  Educación = 4,
  Campo_Educación = "Ciencias",
  Satisfacción_Ambiental = 2,
  Genero = "F",
  Cargo = "Representante_Ventas",
  Satisfación_Laboral = 1,
  Estado_Civil = "Soltero",
  Ingreso_Mensual = 2500,
  Trabajos_Anteriores = 6,
  Horas_Extra = "No",
  Porcentaje_aumento_salarial = 4,
  Rendimiento_Laboral = 3,
  Años_Experiencia = 5,
  Capacitaciones = 2,
  Equilibrio_Trabajo_Vida = 3,
  Antigüedad = 5,
  Antigüedad_Cargo = 3,
  Años_ultima_promoción = 4,
  Años_acargo_con_mismo_jefe = 3
)

Probabilidad_Rotacion <- predict(modelo_logistico, newdata = Nuevo_Trabajador, type = "response")
Probabilidad_Rotacion
##         1 
## 0.7875708

7. Conclusiones

Una vez realizado el análisis de la base de datos inicial se pueden obtener las siguientes conclusiones y sugerencias respecto a la información obtenida: