Problema: Rotación de cargo

En una organización, se busca comprender y prever los factores que influyen en la rotación de empleados entre distintos cargos. La empresa ha recopilado datos históricos sobre el empleo de sus trabajadores, incluyendo variables como la antigüedad en el cargo actual, el nivel de satisfacción laboral, el salario actual, edad y otros factores relevantes. La gerencia planea desarrollar un modelo de regresión logística que permita estimar la probabilidad de que un empleado cambie de cargo en el próximo período y determinar cuales factores indicen en mayor proporción a estos cambios.

Con esta información, la empresa podrá tomar medidas proactivas para retener a su talento clave, identificar áreas de mejora en la gestión de recursos humanos y fomentar un ambiente laboral más estable y tranquilo. La predicción de la probabilidad de rotación de empleados ayudará a la empresa a tomar decisiones estratégicas informadas y a mantener un equipo de trabajo comprometido y satisfecho en sus roles actuales.

A continuación se describen los pasos que la gerencia ha propuesto para el análisis:

1. Selección de variables

Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.

data("rotacion")
glimpse(rotacion)
## 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, …

Tenemos un dataset con 24 caracteristicas y 1470 registros los campos describen al colaborador y nos indican caracteristicas como:

colnames(rotacion)[3] <- "Viaje_de_Negocios"
colnames(rotacion)
##  [1] "Rotación"                    "Edad"                       
##  [3] "Viaje_de_Negocios"           "Departamento"               
##  [5] "Distancia_Casa"              "Educación"                  
##  [7] "Campo_Educación"             "Satisfacción_Ambiental"     
##  [9] "Genero"                      "Cargo"                      
## [11] "Satisfación_Laboral"         "Estado_Civil"               
## [13] "Ingreso_Mensual"             "Trabajos_Anteriores"        
## [15] "Horas_Extra"                 "Porcentaje_aumento_salarial"
## [17] "Rendimiento_Laboral"         "Años_Experiencia"           
## [19] "Capacitaciones"              "Equilibrio_Trabajo_Vida"    
## [21] "Antigüedad"                  "Antigüedad_Cargo"           
## [23] "Años_ultima_promoción"       "Años_acargo_con_mismo_jefe"

Desarrollo Punto 1

Variables Categóricas:

1. Viaje de Negocios

Los empleados que deben viajar frecuentemente por motivos laborales pueden experimentar estrés y agotamiento, lo que podría llevar a una insatisfacción generalizada. La falta de tiempo para actividades personales y familiares puede hacer que los empleados se sientan distantes de su vida personal, lo que a largo plazo podría contribuir a la rotación.

Se espera que los empleados que realizan viajes de negocios con mayor frecuencia tengan una mayor probabilidad de rotación en comparación con aquellos que no viajan con frecuencia, debido al estrés asociado con los viajes frecuentes y la falta de equilibrio entre la vida laboral y personal.

2. Educación

Si el campo de estudio de un empleado no está alineado con su puesto de trabajo actual, podría haber una desconexión entre lo que la persona se espera profesionalmente y lo que realmente está haciendo. Esto puede generar insatisfacción y una mayor probabilidad de rotación, ya que el empleado podría estar buscando trabajos más alineados con su formación académica.

Se espera que los empleados cuyo campo de educación no coincide con su trabajo actual tengan una mayor probabilidad de rotar, dado que buscarán oportunidades laborales más acordes a su formación.

3. Horas Extra

Trabajar horas extra de manera regular puede ser un indicativo de sobrecarga laboral. Esta situación puede generar fatiga, insatisfacción y estrés, lo que aumenta la probabilidad de que el empleado decida dejar la empresa en busca de un mejor balance entre vida personal y laboral.

Se espera que los empleados que regularmente trabajan horas extra tengan una mayor probabilidad de rotación que aquellos que no lo hacen, debido a la posible insatisfacción y agotamiento que provoca el trabajo adicional fuera del horario estándar.

Variables Cuantitativas:

1. Edad

La edad está relacionada con las expectativas profesionales. Los empleados más jóvenes suelen estar en etapas de exploración de carreras, buscando oportunidades de crecimiento o mejores condiciones laborales. En cambio, los empleados mayores podrían valorar la estabilidad laboral y estar menos inclinados a cambiar de trabajo.

Se espera que los empleados más jóvenes tengan una mayor probabilidad de rotación en comparación con los empleados mayores, quienes generalmente buscan estabilidad a largo plazo.

2. Antigüedad en la Empresa

La antigüedad en la empresa puede indicar un nivel de compromiso o, por el contrario, de estancamiento. Los empleados con menor antigüedad pueden estar más dispuestos a rotar porque están buscando crecimiento y nuevas oportunidades. Mientras que aquellos con mayor antigüedad podrían ser más propensos a quedarse debido a la estabilidad alcanzada.

Se espera que los empleados con menor antigüedad en la empresa tengan una mayor probabilidad de rotación en comparación con aquellos con mayor antigüedad, ya que los empleados nuevos son más propensos a buscar mejores oportunidades laborales.

3. Años de Experiencia

Los empleados con más años de experiencia pueden estar menos inclinados a cambiar de trabajo, ya que pueden valorar la estabilidad y la seguridad que ofrecen los empleos a largo plazo. Además, con la experiencia, los empleados pueden estar más satisfechos en su puesto actual si sienten que tienen un buen nivel de competencia y una visión clara de sus oportunidades de carrera.

Se espera que los empleados con más años de experiencia tengan una menor probabilidad de rotación, ya que tienden a valorar más la estabilidad y seguridad en el empleo.

2. Análisis univariado

Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotacion.

Desarrollo Punto 2

Para realizar el análisis univariado de los datos sobre la rotación, primero debemos examinar las variables categóricas y cuantitativas:

Análisis Univariado de la Base de Datos de Rotación

Variables Categóricas:

Rotación

table(rotacion$Rotación)
## 
##   No   Si 
## 1233  237

La variable Rotación muestra que la mayoría de los empleados no han rotado (1233 empleados), mientras que solo una pequeña parte ha rotado (237 empleados). Esto indica que la rotación no es un fenómeno muy común dentro de esta empresa, al menos en el período de tiempo considerado.

Viaje de Negocios

table(rotacion$Viaje_de_Negocios)
## 
## Frecuentemente       No_Viaja      Raramente 
##            277            150           1043

La mayoría de los empleados (1043) viajan rara vez por negocios, seguidos por los 277 que viajan frecuentemente y 150 que no viajan en absoluto. Esto sugiere que, en general, los viajes de negocios no son una constante para la mayoría de los empleados, lo que podría influir en su nivel de estrés y bienestar.

Educación

table(rotacion$Educación)
## 
##   1   2   3   4   5 
## 170 282 572 398  48

La distribución de los niveles educativos de los empleados muestra que la mayoría tiene un nivel educativo de 3 (572 empleados), seguido por el nivel 4 (398 empleados). Los niveles 1 y 5 son mucho menos frecuentes. Esto sugiere que la mayoría de los empleados cuentan con un nivel educativo medio a alto, lo cual puede tener un impacto en sus expectativas laborales y en su posible rotación.

Horas Extra

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

Un total de 1054 empleados no trabajan horas extra, mientras que 416 empleados sí las realizan. La proporción de empleados que trabaja horas extra podría estar vinculada con la carga de trabajo y, posiblemente, con la insatisfacción laboral, lo cual puede influir en la rotación.

Variables Cuantitativas:

Edad

summary(rotacion$Edad)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   30.00   36.00   36.92   43.00   60.00
hist(rotacion$Edad, col = "lightpink", xlab = "Edad", main = "Distribución de Edad")

La edad de los empleados varía entre 18 y 60 años, con una mediana de 36 años y una media de aproximadamente 36.92 años. Esto sugiere que la mayoría de los empleados están en el rango de edad de 30 a 43 años. La distribución parece ligeramente sesgada hacia la derecha, lo que podría implicar que hay algunos empleados de mayor edad, pero la mayoría son relativamente jóvenes.

Antigüedad

summary(rotacion$Antigüedad)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   3.000   5.000   7.008   9.000  40.000
hist(rotacion$Antigüedad, col = "lightblue", xlab = "Antigüedad en la Empresa", main = "Distribución de Antigüedad")

La antigüedad en la empresa varía desde 0 hasta 40 años, con una mediana de 5 años y una media de 7.01 años. Esto indica que la mayoría de los empleados tienen relativamente poca antigüedad en la empresa, lo que puede sugerir una mayor rotación entre los empleados más nuevos.

Años de Experiencia

summary(rotacion$Años_Experiencia)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    6.00   10.00   11.28   15.00   40.00
hist(rotacion$Años_Experiencia, col = "lightgreen", xlab = "Años de Experiencia", main = "Distribución de Años de Experiencia")

Los años de experiencia laboral oscilan entre 0 y 40 años, con una mediana de 10 años y una media de aproximadamente 11.28 años. Esto sugiere que la mayoría de los empleados tienen entre 6 y 15 años de experiencia, aunque algunos tienen una experiencia significativamente mayor. Esto podría estar relacionado con el nivel de estabilidad que buscan los empleados a medida que ganan más experiencia.

Conclusiones del Análisis Univariado

Con este análisis se ha proporcionado información muy útil respecto a la distribución de las variables categóricas y cuantitativas. En general, se observa que:

  • La rotación no es un fenómeno común, con una gran mayoría de empleados que no rotan.

  • Las características como la edad, antigüedad y años de experiencia sugieren que la empresa tiene una fuerza laboral bastante joven con experiencia intermedia.

  • Las variables como las horas extra y los viajes de negocios pueden influir en la satisfacción laboral y la posible rotación de empleados.

3. Análisis bivariado

Realiza un análisis de bivariado en donde la variable respuesta sea rotacion codificada de la siguiente manera

𝑦 = 1 es si rotación
𝑦 = 0 es no rotación

Con base en estos resultados identifique cuales son las variables determinantes de la rotación e interpretar el signo del coeficiente estimado. Compare estos resultados con la hipótesis planteada en el punto 2.

Desarrollo Punto 3

Se codificó la variable Rotación como 0 (No Rotaron) y 1 (Rotaron), luego se ajustó el modelo de regresión logística:

# Codificación de la variable 'Rotación' como 0 y 1
rotacion$Rotación <- ifelse(rotacion$Rotación == "Si", 1, 0)

# Ajuste del modelo de regresión logística
modelo_bivariado <- glm(Rotación ~ ., data = rotacion, family = "binomial")

# Resumen del modelo
summary(modelo_bivariado)
## 
## Call:
## glm(formula = Rotación ~ ., family = "binomial", data = rotacion)
## 
## Coefficients:
##                                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                   2.613e-01  1.600e+00   0.163 0.870276    
## Edad                         -3.655e-02  1.328e-02  -2.753 0.005899 ** 
## Viaje_de_NegociosNo_Viaja    -1.763e+00  3.958e-01  -4.454 8.44e-06 ***
## Viaje_de_NegociosRaramente   -8.215e-01  2.062e-01  -3.984 6.78e-05 ***
## DepartamentoRH               -1.292e+01  3.780e+02  -0.034 0.972728    
## DepartamentoVentas            1.231e-01  1.023e+00   0.120 0.904238    
## Distancia_Casa                4.250e-02  1.046e-02   4.063 4.85e-05 ***
## Educación                    -1.149e-02  8.552e-02  -0.134 0.893169    
## Campo_EducaciónHumanidades    8.342e-01  7.860e-01   1.061 0.288527    
## Campo_EducaciónMercadeo       3.823e-01  3.178e-01   1.203 0.229009    
## Campo_EducaciónOtra           5.979e-02  4.024e-01   0.149 0.881890    
## Campo_EducaciónSalud         -1.136e-01  2.121e-01  -0.536 0.592226    
## Campo_EducaciónTecnicos       9.281e-01  2.970e-01   3.125 0.001779 ** 
## Satisfacción_Ambiental       -4.424e-01  8.119e-02  -5.449 5.05e-08 ***
## GeneroM                       3.248e-01  1.795e-01   1.809 0.070386 .  
## CargoDirector_Manofactura     1.269e+00  9.710e-01   1.307 0.191293    
## CargoEjecutivo_Ventas         1.989e+00  1.390e+00   1.431 0.152359    
## CargoGerente                  1.247e+00  1.032e+00   1.208 0.227061    
## CargoInvestigador_Cientifico  1.643e+00  1.021e+00   1.609 0.107544    
## CargoRecursos_Humanos         1.519e+01  3.780e+02   0.040 0.967950    
## CargoRepresentante_Salud      1.037e+00  9.640e-01   1.076 0.282059    
## CargoRepresentante_Ventas     2.962e+00  1.482e+00   1.998 0.045682 *  
## CargoTecnico_Laboratorio      2.587e+00  1.018e+00   2.541 0.011041 *  
## Satisfación_Laboral          -4.048e-01  7.925e-02  -5.109 3.24e-07 ***
## Estado_CivilDivorciado       -3.973e-01  2.530e-01  -1.570 0.116313    
## Estado_CivilSoltero           1.033e+00  1.941e-01   5.323 1.02e-07 ***
## Ingreso_Mensual              -9.588e-07  5.854e-05  -0.016 0.986932    
## Trabajos_Anteriores           1.756e-01  3.746e-02   4.688 2.76e-06 ***
## Horas_ExtraSi                 1.872e+00  1.869e-01  10.014  < 2e-16 ***
## Porcentaje_aumento_salarial  -2.302e-02  3.805e-02  -0.605 0.545193    
## Rendimiento_Laboral           1.702e-01  3.889e-01   0.438 0.661621    
## Años_Experiencia             -5.408e-02  2.782e-02  -1.944 0.051874 .  
## Capacitaciones               -1.828e-01  7.125e-02  -2.566 0.010301 *  
## Equilibrio_Trabajo_Vida      -3.654e-01  1.207e-01  -3.027 0.002470 ** 
## Antigüedad                    9.630e-02  3.750e-02   2.568 0.010220 *  
## Antigüedad_Cargo             -1.414e-01  4.386e-02  -3.224 0.001264 ** 
## Años_ultima_promoción         1.787e-01  4.112e-02   4.345 1.39e-05 ***
## Años_acargo_con_mismo_jefe   -1.563e-01  4.599e-02  -3.399 0.000677 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1298.58  on 1469  degrees of freedom
## Residual deviance:  893.23  on 1432  degrees of freedom
## AIC: 969.23
## 
## Number of Fisher Scoring iterations: 14

Variables Significativamente Asociadas con la Rotación

Estas variables muestran una relación significativa con la rotación de empleados (nivel de significancia del 5%):

  1. Edad (Coeficiente -0.0365):
  • A medida que la edad aumenta, la probabilidad de rotación disminuye. Los empleados más jóvenes tienen más probabilidades de rotar. Este resultado indica que la rotación es más común en empleados más jóvenes.
  1. Viaje de Negocios (Coeficientes: No Viaja -1.7630 y Raramente -0.8215):
  • Los empleados que no viajan o que viajan raramente tienen menos probabilidades de rotar en comparación con aquellos que viajan frecuentemente. Los viajes de negocios parecen estar relacionados con una mayor rotación.
  1. Distancia entre la Casa y el Trabajo (Coeficiente: 0.0425):
  • A medida que la distancia entre la casa y el trabajo aumenta, la probabilidad de rotación también aumenta. Los empleados con distancias más largas tienden a tener una mayor propensión a cambiar de puesto.
  1. Educación (Coeficiente Técnicos: 0.9281):
  • Los empleados con formación técnica tienen más probabilidades de rotar en comparación con otros campos educativos. Las habilidades técnicas suelen ser más demandadas en el mercado laboral, lo que facilita el cambio de empleo.
  1. Satisfacción Ambiental (Coeficiente: -0.4424):
  • A mayor satisfacción con el ambiente laboral, menor es la probabilidad de rotación. Un ambiente de trabajo positivo reduce la probabilidad de que los empleados dejen la empresa.
  1. Estado Civil (Coeficiente Soltero: 1.0330):
  • Los empleados solteros tienen más probabilidades de rotar en comparación con los empleados casados. Esto puede deberse a la mayor flexibilidad y menor responsabilidad familiar de los empleados solteros.
  1. Horas Extra (Coeficiente Sí: 1.8720):
  • Los empleados que trabajan horas extra tienen más probabilidades de rotar. El trabajo adicional puede estar asociado con agotamiento o insatisfacción laboral, lo que aumenta la probabilidad de buscar un cambio de trabajo.
  1. Antigüedad en el Cargo (Coeficiente: -0.1414):
  • A medida que la antigüedad en el cargo aumenta, disminuye la probabilidad de rotación. Los empleados con más antigüedad en un cargo tienden a estar más comprometidos y menos inclinados a rotar.

Variables No Significativas

Existen algunas variables que no resultaron significativas para la rotación de empleados:

  1. Estado Civil (Coeficientes: Casado: -0.3973, Soltero: 1.0330):
  • Aunque la variable estado civil muestra que los empleados solteros tienen mayor probabilidad de rotar, el coeficiente de los empleados casados no es significativo.Esto sugiere que el estado civil no es un predictor fuerte de rotación.
  1. Satisfacción Ambiental (Coeficiente: -0.4424):

A pesar de que la relación entre la satisfacción ambiental y la rotación es negativa, esta no resultó ser estadísticamente significativa en el modelo. La falta de significancia sugiere que, aunque el ambiente laboral es importante, no siempre es un factor determinante para la rotación. Podría haber otros factores más influentes, como la carga de trabajo o las oportunidades de crecimiento.

Gráficos para Análisis Bivariado

Gráficos Variables Categóricas

Para las variables categóricas como Viaje de Negocios, Educación y Horas Extra, la mejor forma de visualizarlas sería a través de gráficos de barras que muestren la proporción de empleados que rotaron en cada categoría.

# Gráfico de Viaje de Negocios vs. Rotación
g1 <- PlotXTabs2(rotacion, `Viaje_de_Negocios`, Rotación, plottype = "percent")
g1

En la gráfica se observa que el 25% de los empleados que viajan frecuentemente por negocios han rotado de cargo, mientras que el 15% de los empleados que viajan raramente también han rotado. Esto implica que, entre estos 1,320 empleados, aproximadamente el 40% de la rotación proviene de aquellos que viajan frecuentemente o raramente, en comparación con solo un 8% de rotación en los empleados que no realizan viajes de negocios.

# Gráfico de Educación vs. Rotación
g2 <- PlotXTabs2(rotacion, Educación, Rotación, plottype = "percent")
g2

En la gráfica se observa que la proporción de empleados que rotaron varía ligeramente según el nivel educativo. Los empleados con niveles educativos 1, 2, 3, 4 y 5 muestran porcentajes de rotación del 18%, 16%, 17%, 15% y 10%, respectivamente. Esta distribución indica que no existe una diferencia significativa en la probabilidad de rotación en función del nivel educativo. Por lo tanto, se desestima la hipótesis inicial que sugería que los empleados cuyo campo de estudio no coincide con su puesto de trabajo tendrían una mayor probabilidad de rotar.

# Gráfico de Horas Extra vs. Rotación
g3 <- PlotXTabs2(rotacion, Horas_Extra, Rotación, plottype = "percent")
g3

En la gráfica se observa que el 31% de los empleados que trabajan horas adicionales han rotado de cargo, mientras que solo el 10% de los empleados que no realizan horas extra han rotado. Esto confirma lo planteado en la hipótesis inicial, que sugería que los empleados que trabajan horas adicionales tienen una mayor probabilidad de rotar debido a la posible insatisfacción y agotamiento derivados de la sobrecarga laboral.

Gráficos Variables Cuantitativas

rotacion$Rotación <- factor(rotacion$Rotación, levels = c(0, 1), labels = c("No Rotaron", "Rotaron"))

# Gráfico para la Edad según Rotación
g4 <- ggplot(rotacion, aes(x = Rotación, y = Edad, fill = Rotación)) +
  geom_boxplot() +
  scale_fill_manual(values = c("No Rotaron" = "lightblue", "Rotaron" = "salmon")) +
  theme_gray() + 
  labs(title = "Distribución de Edad según Rotación", x = "Rotación", y = "Edad")

g4

En esta gráfica se observa que la mediana de las personas que sí rotaron es de 32 años comparada con 36 años de los que no rotaron. Como vemos, hay una tendencia que marca que los empleados de menor edad rotaron en mayor proporción, lo que se comporta de acuerdo a la hipótesis inicial.

# Gráfico para Antigüedad en la Empresa según Rotación
g5 <- ggplot(rotacion, aes(x = Rotación, y = Antigüedad, fill = Rotación)) +
  geom_boxplot() +
  scale_fill_manual(values = c("No Rotaron" = "lightblue", "Rotaron" = "salmon")) +
  theme_gray() +
  labs(title = "Distribución de Antigüedad según Rotación", x = "Rotación", y = "Antigüedad")

g5

En esta gráfica se observa que los empleados con mayor antigüedad en la empresa son los que tienen menos probabilidades de rotar, confirmando que aquellos con más tiempo en la empresa tienden a quedarse.

# Gráfico para Años de Experiencia según Rotación
g6 <- ggplot(rotacion, aes(x = Rotación, y = Años_Experiencia, fill = Rotación)) +
  geom_boxplot() +
  scale_fill_manual(values = c("No Rotaron" = "lightblue", "Rotaron" = "salmon")) +
  theme_gray() +
  labs(title = "Distribución de Años de Experiencia según Rotación", x = "Rotación", y = "Años de Experiencia")

g6

En la gráfica se observa que, en general, los empleados con menos años de experiencia en la empresa tienen una mayor probabilidad de rotación. Los empleados con una menor cantidad de años de experiencia parecen estar más dispuestos a cambiar de puesto o dejar la empresa en comparación con aquellos con más experiencia, lo que también concuerda con la hipótesis planteada.

Conclusiones del Análisis Bivariado

El análisis bivariado utilizando regresión logística ha mostrado que varias variables están significativamente asociadas con la rotación de empleados. Se confirmaron varias hipótesis iniciales, como la mayor propensidad de rotación en empleados más jóvenes, aquellos que realizan horas extra y los que tienen mayor distancia entre su hogar y el trabajo.

Aunque algunas variables como el estado civil y la satisfacción ambiental no mostraron una relación significativa con la rotación, los resultados sugieren que las condiciones laborales (como las horas extra y la distancia al trabajo) son factores clave en la decisión de cambiar de empleo.

Se recomienda a las empresas mejorar las condiciones de trabajo, especialmente para los empleados más jóvenes y aquellos con cargas laborales elevadas, para reducir la rotación y aumentar la satisfacción y la retención. Además, se podrían implementar programas de apoyo a la conciliación laboral y familiar, sobre todo para aquellos empleados que enfrentan largos desplazamientos diarios.

4. Estimación del modelo

Realiza la estimación de un modelo de regresión logístico en el cual la variable respuesta es rotacion

𝑦 = 1 es si rotación
𝑦 = 0 es no rotación

y las covariables las 6 seleccionadas en el punto 1. Interprete los coeficientes del modelo y la significancia de los parámetros.

Desarrollo Punto 4

En este análisis, vamos a ajustar un modelo de regresión logística penalizada utilizando la librería brglm2 para evitar problemas de separación o estimaciones infinitas. La variable de respuesta es Rotación, que toma valores binarios, y las covariables seleccionadas en el punto 1 son:

  1. Viaje de Negocios
  2. Educación
  3. Horas Extra
  4. Antigüedad en el Cargo
  5. Edad
  6. Años de Experiencia

A continuación, ajustamos el modelo de regresión logística penalizada para el análisis de los resultados.

modelo_br <- brglm(Rotación ~ Viaje_de_Negocios + Educación + Horas_Extra + 
                   Antigüedad_Cargo + Edad + Años_Experiencia, 
                   data = rotacion, family = binomial)
summary(modelo_br)
## 
## Call:
## brglm(formula = Rotación ~ Viaje_de_Negocios + Educación + 
##     Horas_Extra + Antigüedad_Cargo + Edad + Años_Experiencia, 
##     family = binomial, data = rotacion)
## 
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                 0.20101    0.40462   0.497 0.619342    
## Viaje_de_NegociosNo_Viaja  -1.34257    0.34261  -3.919  8.9e-05 ***
## Viaje_de_NegociosRaramente -0.67860    0.17654  -3.844 0.000121 ***
## Educación                   0.03887    0.07463   0.521 0.602546    
## Horas_ExtraSi               1.39244    0.15369   9.060  < 2e-16 ***
## Antigüedad_Cargo           -0.10799    0.02827  -3.820 0.000134 ***
## Edad                       -0.03375    0.01201  -2.810 0.004959 ** 
## Años_Experiencia           -0.03080    0.01697  -1.814 0.069628 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1261.0  on 1469  degrees of freedom
## Residual deviance: 1119.4  on 1462  degrees of freedom
## Penalized deviance: 1074.672 
## AIC:  1135.4

Interpretación de los Coeficientes

  • Viaje_de_NegociosNo_Viaja (-1.34257): Este coeficiente es negativo y significativo, lo que indica que la falta de viajes de negocios está asociada con una menor probabilidad de rotación.

  • Viaje_de_NegociosRaramente (-0.67860): Es un valor negativo y significativo, lo que sugiere que los viajes de negocios tienen un impacto importante en la rotación, incluso si son esporádicos.

  • Educación (0.03887): La educación no tiene un gran impacto en la probabilidad de rotación. El coeficiente es positivo, lo que sugeriría que más educación podría estar levemente asociado con una mayor probabilidad de rotación. Pero, como el valor p es alto (0.60), esto significa que este resultado no es confiable y no podemos sacar conclusiones claras sobre la relación entre educación y rotación.

  • Horas_ExtraSi (1.39244): Trabajar horas extra está fuertemente asociado con una mayor probabilidad de rotación. El coeficiente es positivo y altamente significativo, lo que indica que los empleados que trabajan horas extra tienen una mayor probabilidad de cambiar de puesto o de empresa.

  • Antigüedad_Cargo (-0.10799): A medida que la antigüedad en el cargo aumenta, la probabilidad de rotación disminuye. Este coeficiente es negativo y significativo, lo que sugiere que los empleados con más antigüedad en un cargo tienen menos probabilidades de rotar.

  • Edad (-0.03375): La edad también tiene una relación negativa con la rotación. Los empleados mayores tienen una menor probabilidad de rotación, lo que es consistente con la hipótesis de que los empleados más jóvenes son más propensos a cambiar de puesto.

  • Años_Experiencia (-0.03080): La experiencia en años también tiene un efecto negativo sobre la rotación, lo que significa que los empleados con más años de experiencia en la empresa son menos propensos a rotar. Sin embargo, este coeficiente no es completamente significativo (valor p de 0.0696), lo que sugiere que el efecto es marginalmente significativo.

Conclusiones

El análisis de regresión logística penalizada mostró que las variables que más afectan la probabilidad de rotación de los empleados son las relacionadas con el trabajo y el entorno laboral, como los viajes de negocios y las horas extra, así como factores relacionados con la antigüedad y la edad del empleado. Sin embargo, algunas variables, como la educación, no tienen un impacto estadísticamente significativo en la rotación de empleados.

5. Evaluación

Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.

## Setting levels: control = No Rotaron, case = Rotaron
## Setting direction: controls < cases
# Curva ROC
plot(roc_curve, main = "Curva ROC", col = "blue", lwd = 2)

# Cálculo del AUC
auc_value <- auc(roc_curve)
cat("El AUC del modelo es:", auc_value, "\n")
## El AUC del modelo es: 0.7544119

Esto indica que el modelo tiene un buen desempeño en general, ya que supera el umbral de 0.7, por lo que, cuenta con buena capacidad predictiva, y en esta caso específico es relativamente bueno para predecir la rotación de los empleados.

6. Predicciones

Realiza una predicción la probabilidad de que un individuo (hipotético) rote y defina un corte para decidir si se debe intervenir a este empleado o no (posible estrategia para motivar al empleado).

Voy a crear un nuevo empleado con las siguientes características hipotéticas:

  • Viaje de Negocios: Rara vez
  • Educación: Técnico
  • Horas Extra: Sí
  • Antigüedad en el Cargo: 2 años
  • Edad: 29 años
  • Años de Experiencia: 5 años

Convierto las variables categóricas en factores con los niveles adecuados:

names(modelo_br$coefficients)
## [1] "(Intercept)"                "Viaje_de_NegociosNo_Viaja" 
## [3] "Viaje_de_NegociosRaramente" "Educación"                 
## [5] "Horas_ExtraSi"              "Antigüedad_Cargo"          
## [7] "Edad"                       "Años_Experiencia"
# Empleado
nuevo_empleado <- data.frame(
  Viaje_de_Negocios = "Frecuentemente",  
  Edad = 30,                            
  Departamento = "Ventas",            
  Distancia_Casa = 5,
  Horas_Extra = "Si",
  Educación = 2,
  Antigüedad_Cargo = 2, 
  Campo_Educación = "Ciencias",         
  Satisfacción_Ambiental = 3 ,
  Años_Experiencia = 5
)

nuevo_empleado$Viaje_de_Negocios <- factor(nuevo_empleado$Viaje_de_Negocios, 
                                           levels = c("No Viaja", "Raramente", "Frecuentemente"))
nuevo_empleado$Departamento <- as.factor(nuevo_empleado$Departamento)
nuevo_empleado$Campo_Educación <- as.factor(nuevo_empleado$Campo_Educación)
nuevo_empleado$Horas <- as.factor(nuevo_empleado$Campo_Educación)
nuevo_empleado$Horas_Extra <- factor(nuevo_empleado$Horas_Extra, levels = c("No", "Si"))

Realizo la predicción:

# Oredicción con el modelo ajustado
probabilidad_rotacion <- predict(modelo_br, nuevo_empleado, type = "response")

# Probabilidad de rotación
probabilidad_rotacion
##         1 
## 0.5716898

Defino un corte para la intervención:

# Corte para la intervención
corte <- 0.5
intervencion <- ifelse(probabilidad_rotacion >= corte, "Intervenir", "No Intervenir")

intervencion
##            1 
## "Intervenir"

Dado que la probabilidad de rotación es 0.5717, y usando un corte de 0.5, la recomendación es “Intervenir”.

Esto significa que, según el modelo, este empleado tiene una probabilidad considerable de rotar, y sería prudente tomar medidas para motivarlo o tratar de mejorar su situación antes de que decida dejar la empresa.

Ahora, lo voy a intentar con otro empleado con las siguientes características:

  • Edad: 28 años
  • Viaje de Negocios: Frecuentemente
  • Horas Extra: Sí
  • Antigüedad en el Cargo: 2 años
  • Años de Experiencia: 4 años
  • Educación: 3 (por ejemplo, nivel universitario)
nuevo_empleado2 <- data.frame(
  Edad = 28,
  Viaje_de_Negocios = "Frecuentemente",
  Horas_Extra = "Si",
  Antigüedad_Cargo = 2,
  Años_Experiencia = 4,
  Educación = 3
)

probabilidad_rotacion2 <- predict(modelo_br, nuevo_empleado2, type = "response")
probabilidad_rotacion2
##         1 
## 0.6048962

Dado que la probabilidad es mayor que 0.5, la recomendación sería “Intervenir”. Es decir, se sugiere que se tomen medidas para tratar de reducir la probabilidad de rotación de este empleado, como ofrecer incentivos, cambios en sus responsabilidades, o mejorar sus condiciones de trabajo.

Ahora, haré un ejemplo con un empleado que según las características del análisis no debería considerarse de rotación:

nuevo_empleado_no_rotacion <- data.frame(
  Edad = 40,
  Viaje_de_Negocios = factor("Raramente", levels = c("No_Viaja", "Raramente", "Frecuentemente")),
  Departamento = factor("Ventas", levels = c("Ventas", "Marketing", "IyD")),
  Distancia_Casa = 3,
  Educación = 3,
  Campo_Educación = factor("Ciencias", levels = c("Ciencias", "Ingeniería", "Salud")),
  Satisfacción_Ambiental = 4,
  Horas_Extra = factor("No", levels = c("No", "Si")),
  Antigüedad_Cargo = 5,
  Años_Experiencia = 15
)

probabilidad_rotacion_no <- predict(modelo_br, nuevo_empleado_no_rotacion, type = "response")
probabilidad_rotacion_no
##          1 
## 0.06222024

Efectivamente, la probabilidad de rotación para este empleado es 0.0622 (aproximadamente un 6.22%). Esto sugiere que, con las características proporcionadas, este empleado tiene una probabilidad bastante baja de rotar.

Dado que la probabilidad es baja, se podría concluir que no sería necesario intervenir en este caso para evitar la rotación, ya que el riesgo de que el empleado decida irse es bajo. Aún así, se podrían utilizar estrategias que ayuden a retener a empleados con características similares como recompensas y reconocimiento, desarrollo profesional, asegurarse de que los empleados no tengan exceso de carga de trabajo, facilitando un buen balance entre vida personal y profesional (por ejemplo, a través de flexibilidad laboral), y muchas otras opciones.

7. Conclusiones

Con el análisis realizado, se concluye que la rotación de empleados en la empresa está influenciada por varias variables significativas. A continuación, se discuten las variables y las estrategias recomendadas para disminuir la rotación:

1. Edad

  • Observación: Los empleados más jóvenes tienen una mayor probabilidad de rotación en comparación con los empleados mayores.
  • Estrategia: Implementar programas de retención dirigidos a empleados más jóvenes, como oportunidades de desarrollo profesional, mentoría, o planes de carrera personalizados. Además, ofrecer flexibilidad laboral y un ambiente que permita el crecimiento y la progresión dentro de la empresa puede ser crucial para retener a este grupo.

2. Viaje de Negocios

  • Observación: Los empleados que viajan con mayor frecuencia por negocios tienen una mayor probabilidad de rotación. En contraste, aquellos que no viajan o lo hacen raramente muestran menor propensión a rotar.
  • Estrategia: Aumentar el apoyo para aquellos empleados que viajan con frecuencia. Esto puede incluir mejores beneficios relacionados con los viajes, programas de bienestar para reducir el agotamiento, y políticas que promuevan un equilibrio adecuado entre la vida personal y profesional. También se podría reducir la frecuencia de los viajes o buscar maneras de hacerlos más agradables.

3. Distancia entre la Casa y el Trabajo

  • Observación: A mayor distancia entre la casa y el trabajo, mayor es la probabilidad de rotación.
  • Estrategia: Considerar políticas de trabajo remoto o flexible para empleados que viven lejos de la oficina, o bien proporcionar subsidios de transporte o programas de reubicación que faciliten el desplazamiento. También, la empresa podría explorar la posibilidad de tener más sedes o lugares de trabajo cercanos a la residencia de los empleados.

4. Horas Extra

  • Observación: Los empleados que trabajan horas extra tienen una mayor probabilidad de rotar. Esto podría estar relacionado con el agotamiento y la insatisfacción laboral.
  • Estrategia: Reducir las horas extra, especialmente en aquellos departamentos donde esto sea una práctica común. La empresa podría considerar contratar más personal para distribuir la carga de trabajo de manera más equitativa y asegurar que los empleados no se sientan sobrecargados. Implementar un sistema de gestión de tiempo para controlar y limitar las horas extra también sería útil para reducir la rotación.

5. Antigüedad en el Cargo

  • Observación: Los empleados con mayor antigüedad en el cargo tienen menos probabilidades de rotar.
  • Estrategia: Fomentar la permanencia en los puestos mediante programas de reconocimiento y recompensas para los empleados con más años de servicio. Además, brindar oportunidades de desarrollo profesional continuo, promociones internas, y mayores beneficios puede fortalecer el compromiso y la retención de los empleados a largo plazo.

6. Satisfacción Ambiental

  • Observación: Un ambiente laboral positivo está inversamente relacionado con la rotación de empleados.
  • Estrategia: Mejorar las condiciones laborales generales, promoviendo un entorno de trabajo saludable, inclusivo y motivador. Esto puede incluir mejorar las instalaciones, ofrecer programas de bienestar (como ejercicio físico, apoyo emocional o actividades recreativas) y fomentar una cultura organizacional positiva. Además, recibir y actuar sobre las sugerencias de los empleados acerca del ambiente de trabajo puede fortalecer su sentido de pertenencia.

Estrategia Integral para Reducir la Rotación

Con base en las variables significativas, la estrategia integral para reducir la rotación de empleados debería centrarse en:

  1. Mejorar las condiciones laborales:
    • Invertir en un ambiente laboral más flexible, cómodo y atractivo. Crear un lugar donde los empleados sientan que su bienestar es una prioridad para la empresa.
  2. Desarrollar programas de retención para empleados jóvenes:
    • Los empleados más jóvenes son más propensos a la rotación. Por lo tanto, se deberían crear planes de carrera claros y oportunidades de desarrollo personal y profesional para ellos.
  3. Ofrecer un equilibrio trabajo-vida más saludable:
    • Reducir las horas extra y ofrecer alternativas como el trabajo remoto o horarios flexibles. Además, se puede considerar la contratación de más personal para repartir la carga laboral de manera más equilibrada.
  4. Fomentar la lealtad y el compromiso:
    • Establecer programas de incentivos, reconocer los logros de los empleados y promover la promoción interna como una forma de incentivar la permanencia en la empresa. Esto también incluye ofrecer una compensación competitiva y beneficios atractivos.
  5. Facilitar el desplazamiento y mejorar el bienestar:
    • Para aquellos empleados con largas distancias entre su hogar y la oficina, proporcionar subsidios de transporte, programas de reubicación o permitir el trabajo remoto.
  6. Promover el bienestar físico y emocional:
    • Implementar programas de bienestar en el lugar de trabajo, como servicios de asesoría psicológica, actividades recreativas o espacios para relajarse, para mejorar la satisfacción ambiental.

Al poner en práctica estas estrategias, la empresa podría reducir significativamente la rotación de empleados, mejorar el compromiso y la satisfacción general, lo que a su vez contribuiría a una mayor productividad y estabilidad organizacional.