Un 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.
El objetivo de este informe es predecir la probabilidad de rotación de empleados y proponer acciones para minimizarla.
Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.
Se espera que las horas extra se relacionen con la rotación ya que las personas podrían desgastarse más al trabajar horas adicionales y descuidar aspectos personales. La hipótesis es que las personas que trabajan horas extra tienen mayor posibilidad de rotar que las que no trabajan extra.
Se espera que el estado civil se relacione con la rotación ya que las personas casadas tienden a buscar mayor estabilidad laboral, mientras que los solteros pueden estar más abiertos a cambios de empleo. La hipótesis es que las personas solteras tienen mayor posibilidad de rotar que las personas casadas.
Se espera que la frecuencia de viaje de negocios se relacione con la rotación ya que los desplazamientos frecuentes pueden generar fatiga, afectar el equilibrio entre la vida personal y laboral y disminuir la satisfacción del empleado. La hipótesis es que las personas que viajan frecuentemente tienen mayor posibilidad de rotar que las que viajan raramente o nunca.
Se espera que la antigüedad en la empresa se relacione con la rotación ya que los empleados nuevos aún no han desarrollado un sentido de pertenencia o compromiso con la organización. La hipótesis es que las personas con menor antigüedad tienen mayor posibilidad de rotar que las que llevan más tiempo en la empresa.
Se espera que la distancia del trabajo a la casa se relacione con la rotación ya que un genera tiempo perdido para la persona en los trayectos diarios al trabajo. Hipótesis: A mayor distancia entre casa y trabajo, mayor probabilidad de rotación, ya que esto puede generar incomodidad o desmotivación.
Se espera que el ingreso mensual se relacione con la rotación ya que los empleados con menores ingresos pueden sentirse menos valorados o buscar mejores oportunidades económicas en otras empresas. La hipótesis es que las personas con menor ingreso mensual tienen mayor posibilidad de rotar que las que tienen un ingreso más alto.
Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotacion.
Se codifica la variable rotación en donde Si = 1 y No = 0
En particular, las variables categóricas como horas extra, estado civil, satisfacción laboral y ambiental, y cargo presentan diferencias marcadas entre quienes permanecen y quienes se retiran. De igual forma, las variables cuantitativas como antigüedad, antigüedad en el cargo e ingreso mensual muestran que los empleados con mayor permanencia, menor carga laboral y mejores ingresos tienden a quedarse.
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.
Se codifica la variable rotación en donde Si = 1 y No = 0
| Variable | Coeficiente | Signo | p_valor | Interpretacion |
|---|---|---|---|---|
| edad | -0.0523 | Negativo | 0.0000 | ↑ edad → ↓ rotación |
| ingreso_mensual | -0.0001 | Negativo | 0.0000 | ↑ ingreso_mensual → ↓ rotación |
| anos_experiencia | -0.0777 | Negativo | 0.0000 | ↑ anos_experiencia → ↓ rotación |
| antiguedad | -0.0808 | Negativo | 0.0000 | ↑ antiguedad → ↓ rotación |
| antiguedad_cargo | -0.1463 | Negativo | 0.0000 | ↑ antiguedad_cargo → ↓ rotación |
| anos_acargo_con_mismo_jefe | -0.1414 | Negativo | 0.0000 | ↑ anos_acargo_con_mismo_jefe → ↓ rotación |
| satisfaccion_ambiental | -0.2531 | Negativo | 0.0001 | ↑ satisfaccion_ambiental → ↓ rotación |
| satisfacion_laboral | -0.2510 | Negativo | 0.0001 | ↑ satisfacion_laboral → ↓ rotación |
| distancia_casa | 0.0247 | Positivo | 0.0030 | ↑ distancia_casa → ↑ rotación |
| equilibrio_trabajo_vida | -0.2396 | Negativo | 0.0145 | ↑ equilibrio_trabajo_vida → ↓ rotación |
| capacitaciones | -0.1299 | Negativo | 0.0229 | ↑ capacitaciones → ↓ rotación |
| trabajos_anteriores | 0.0456 | Positivo | 0.0960 | ↑ trabajos_anteriores → ↑ rotación |
| anos_ultima_promocion | -0.0298 | Negativo | 0.2065 | ↑ anos_ultima_promocion → ↓ rotación |
| educacion | -0.0827 | Negativo | 0.2293 | ↑ educacion → ↓ rotación |
| porcentaje_aumento_salarial | -0.0101 | Negativo | 0.6054 | ↑ porcentaje_aumento_salarial → ↓ rotación |
| rendimiento_laboral | 0.0217 | Positivo | 0.9118 | ↑ rendimiento_laboral → ↑ rotación |
| Variable | p_valor | Relacion_Significativa |
|---|---|---|
| viaje_de_negocios | 0.0000 | Sí |
| departamento | 0.0045 | Sí |
| campo_educacion | 0.0068 | Sí |
| genero | 0.2906 | No |
| estado_civil | 0.0000 | Sí |
| horas_extra | 0.0000 | Sí |
| cargo | 0.0000 | Sí |
| satisfaccion_ambiental | 0.0001 | Sí |
| satisfacion_laboral | 0.0006 | Sí |
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.
=== RESUMEN MODELO LOGIT ===
Call:
glm(formula = rotacion ~ horas_extra + estado_civil + viaje_de_negocios +
antiguedad + distancia_casa + ingreso_mensual, family = binomial(link = "logit"),
data = data)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.391e+00 2.530e-01 -5.500 3.80e-08 ***
horas_extraSi 1.443e+00 1.574e-01 9.171 < 2e-16 ***
estado_civilDivorciado -2.668e-01 2.296e-01 -1.162 0.245256
estado_civilSoltero 9.019e-01 1.707e-01 5.284 1.27e-07 ***
viaje_de_negociosNo_Viaja -1.340e+00 3.515e-01 -3.812 0.000138 ***
viaje_de_negociosRaramente -6.392e-01 1.800e-01 -3.551 0.000383 ***
antiguedad -4.711e-02 1.826e-02 -2.579 0.009898 **
distancia_casa 3.285e-02 9.243e-03 3.555 0.000378 ***
ingreso_mensual -1.049e-04 2.474e-05 -4.241 2.23e-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: 1088.7 on 1461 degrees of freedom
AIC: 1106.7
Number of Fisher Scoring iterations: 5
Confusion Matrix and Statistics
Reference
Prediction 0 1
0 1215 196
1 18 41
Accuracy : 0.8544
95% CI : (0.8353, 0.8721)
No Information Rate : 0.8388
P-Value [Acc > NIR] : 0.05381
Kappa : 0.2274
Mcnemar's Test P-Value : < 2e-16
Sensitivity : 0.9854
Specificity : 0.1730
Pos Pred Value : 0.8611
Neg Pred Value : 0.6949
Prevalence : 0.8388
Detection Rate : 0.8265
Detection Prevalence : 0.9599
Balanced Accuracy : 0.5792
'Positive' Class : 0
=== MÉTRICAS CLAVE ===
Precisión: 0.6949
Recall (Sensibilidad): 0.173
F1 Score: 0.277
AUC: 0.7731
1. Precisión alta (0.6949): El modelo acierta en la mayoría de los casos cuando predice que un empleado va a rotar.
2. Recall muy bajo (0.173): El modelo no detecta bien a los empleados que realmente se van, lo cual es crítico ya que el objetivo es prevenir la rotación.
3. F1 Score bajo (0.277): Hay desequilibrio entre precisión y recall, lo que refleja bajo desempeño general del modelo para la clase minoritaria (los que rotan).
4. AUC aceptable (0.7731): El modelo tiene capacidad moderada para distinguir entre quienes se quedan y quienes se van, pero no es óptimo.
5. Alta sensibilidad (0.9854) vs. baja especificidad (0.173): Detecta casi todos los que se quedan (clase 0), pero falla al detectar los que se van (clase 1).
Aunque el modelo logístico tiene buena precisión y AUC, su bajo recall lo hace poco útil para detectar los empleados que realemnte se van. Se debe probar otros enfoques (como SMOTE) para mejorar la detección de empleados con alta probabilidad de rotación.
Ahora usaremos el modelo con pesos (Weighted) para corregir el desbalance y comparar su desempeño
=== RESUMEN MODELO WEIGHTED ===
Call:
glm(formula = rotacion ~ horas_extra + estado_civil + viaje_de_negocios +
antiguedad + distancia_casa + ingreso_mensual, family = binomial(link = "logit"),
data = data, weights = pesos)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.520e-01 1.446e-01 1.051 0.29303
horas_extraSi 1.356e+00 9.536e-02 14.214 < 2e-16 ***
estado_civilDivorciado -3.676e-01 1.274e-01 -2.885 0.00392 **
estado_civilSoltero 8.099e-01 1.015e-01 7.983 1.43e-15 ***
viaje_de_negociosNo_Viaja -1.400e+00 1.955e-01 -7.165 7.76e-13 ***
viaje_de_negociosRaramente -5.890e-01 1.111e-01 -5.302 1.14e-07 ***
antiguedad -2.097e-02 9.617e-03 -2.180 0.02923 *
distancia_casa 2.818e-02 5.580e-03 5.051 4.40e-07 ***
ingreso_mensual -9.557e-05 1.352e-05 -7.070 1.55e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3418.6 on 1469 degrees of freedom
Residual deviance: 2846.8 on 1461 degrees of freedom
AIC: 2808.2
Number of Fisher Scoring iterations: 5
=== MATRIZ DE CONFUSIÓN ===
Confusion Matrix and Statistics
Reference
Prediction 0 1
0 862 65
1 371 172
Accuracy : 0.7034
95% CI : (0.6793, 0.7267)
No Information Rate : 0.8388
P-Value [Acc > NIR] : 1
Kappa : 0.2792
Mcnemar's Test P-Value : <2e-16
Sensitivity : 0.6991
Specificity : 0.7257
Pos Pred Value : 0.9299
Neg Pred Value : 0.3168
Prevalence : 0.8388
Detection Rate : 0.5864
Detection Prevalence : 0.6306
Balanced Accuracy : 0.7124
'Positive' Class : 0
=== MÉTRICAS CLAVE MODELO WEIGHTED ===
Precisión: 0.3168
Recall (Sensibilidad): 0.7257
F1 Score: 0.441
AUC: 0.769
1. Recall alto (0.7257): El modelo mejora significativamente la capacidad para detectar empleados que se van, lo cual es crítico para prevenir la rotación.
2. Precisión baja (0.3168): Muchos empleados predichos como “rotación” en realidad no se van, lo que podría generar intervenciones innecesarias.
3. F1 Score mejorado (0.441): Muestra un mejor equilibrio entre precisión y recall comparado con el modelo logit.
4. AUC aceptable (0.769): El modelo tiene buena capacidad para distinguir entre empleados que se quedan y los que se van, aunque ligeramente menor que el modelo logit (0.7731) y SMOTE.
5. Balanced Accuracy: 0.7124: Buen desempeño en ambas clases, mejorando el balance respecto al modelo logit.
El modelo Weighted mejora significativamente el recall y el F1 Score respecto al modelo base (logit), siendo más útil en escenarios donde es clave identificar posibles renuncias.
Dado el desbalance entre las clases, SMOTE ayuda a mejorar la detección de empleados que podrían irse, sin afectar mucho la precisión para identificar a los que se quedan.
=== RESUMEN MODELO SMOTE ===
Call:
glm(formula = rotacion ~ ., family = binomial(link = "logit"),
data = data_smote)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.771e-01 1.658e-01 -1.068 0.285411
horas_extraSi 1.624e+00 1.100e-01 14.766 < 2e-16 ***
estado_civilDivorciado -3.263e-01 1.470e-01 -2.221 0.026378 *
estado_civilSoltero 9.730e-01 1.182e-01 8.233 < 2e-16 ***
viaje_de_negociosNo_Viaja -1.569e+00 2.333e-01 -6.726 1.74e-11 ***
viaje_de_negociosRaramente -6.370e-01 1.295e-01 -4.919 8.72e-07 ***
antiguedad -3.946e-02 1.146e-02 -3.442 0.000578 ***
distancia_casa 3.031e-02 6.437e-03 4.710 2.48e-06 ***
ingreso_mensual -9.199e-05 1.511e-05 -6.086 1.16e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2986.2 on 2180 degrees of freedom
Residual deviance: 2419.3 on 2172 degrees of freedom
AIC: 2437.3
Number of Fisher Scoring iterations: 4
=== MATRIZ DE CONFUSIÓN SMOTE ===
Confusion Matrix and Statistics
Reference
Prediction 0 1
0 967 330
1 266 618
Accuracy : 0.7267
95% CI : (0.7075, 0.7453)
No Information Rate : 0.5653
P-Value [Acc > NIR] : < 2.2e-16
Kappa : 0.4396
Mcnemar's Test P-Value : 0.009863
Sensitivity : 0.7843
Specificity : 0.6519
Pos Pred Value : 0.7456
Neg Pred Value : 0.6991
Prevalence : 0.5653
Detection Rate : 0.4434
Detection Prevalence : 0.5947
Balanced Accuracy : 0.7181
'Positive' Class : 0
=== MÉTRICAS CLAVE MODELO SMOTE ===
Precisión: 0.6991
Recall (Sensibilidad): 0.6519
F1 Score: 0.6747
AUC: 0.786
1. Alta sensibilidad (0.7843): El modelo detecta bien a los empleados que se van, lo cual es clave para tomar acciones preventivas.
2. Buena precisión (0.6991): Gran proporción de empleados predichos como “rotación” realmente se van, lo que reduce el riesgo de intervenciones innecesarias.
3. F1 Score sobresaliente (0.6747): Indica un buen equilibrio entre detectar y acertar, siendo el mejor valor entre los tres modelos.
4. AUC más alto (0.786): El modelo tiene la mejor capacidad de discriminación entre quienes se quedan y quienes se van.
5. Balanced Accuracy (0.7181): Desempeño equilibrado para ambas clases, mostrando robustez general del modelo.
El modelo SMOTE es el más balanceado y efectivo para el objetivo de predecir rotación. Tiene alto poder predictivo, reduce los falsos negativos y mantiene una buena precisión.
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.
Dado el desbalanceo que presenta la variable respuesta (Rotación) en la base de datos, se implementaron tres modelos para medir su rendimiento: Modelo original Logit, Modelo Weighted y un modelo utilizando SMOTE para compensar este desequilibrio.
La selección del mejor modelo depende directamente del objetivo del negocio el cual es la detección de los trabajadores que pueden rotar.
¿Qué es más costoso para la empresa?
• Falsos Negativos (FN): Empleados que realmente iban a rotar pero el modelo no los identificó. Esto implica que no se ejecutaron acciones de retención a tiempo, lo que lleva pérdida de talento y altos costos de reemplazo.
• Falsos Positivos (FP): Empleados que fueron identificados como posibles rotantes, pero que finalmente no se fueron. Aunque se realicen acciones preventivas innecesarias, el impacto es menor comparado con los Falsos Negativos.
Métricas más relevantes para este caso: • Recall (Sensibilidad): Qué tan bien el modelo detecta a los empleados que realmente se van. • F1 Score: Combina Precisión y Recall, dando una medida más equilibrada. • AUC: Representa la capacidad del modelo para distinguir correctamente entre empleados que se irán y los que no.
| Modelo | Precisión | Recall | F1 Score | AUC | Conclusión |
|---|---|---|---|---|---|
| Logit | 0.6949 | 0.173 | 0.277 | 0.7731 | Alta precisión, bajo recall |
| Weighted | 0.3168 | 0.7257 | 0.441 | 0.769 | Mejora el recall, pero pierde precisión |
| SMOTE | 0.6991 | 0.6519 | 0.6747 | 0.786 | Mejor desempeño general, modelo más balanceado |
El modelo SMOTE demuestra ser la mejor alternativa para el objetivo de anticipar la rotación laboral. A pesar de tener un leve sacrificio en precisión frente al modelo Logit, logra un equilibrio óptimo entre precisión, recall y F1 Score, lo cual aumenta significativamente la capacidad preventiva del modelo, permitiendo una mejor toma de decisiones desde el área de gestión humana.
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).
Dado que el costo de un falso negativo es más alto, necesitamos incrementar la detección de los empleados que se van, el umbral se establece en 0.4.
Se utilizarán las siguientes características de un empleado:
Probabilidad de rotación del nuevo empleado: 0.8663
Con base en las características del empleado analizado, se obtiene una probabilidad de rotación de 0.8663, lo cual indica un riesgo alto de salida.
Este resultado sugiere que el empleado podría estar motivado a abandonar la organización, posiblemente debido a:
• Antigüedad elevada en la empresa, que puede estar generando agotamiento profesional.
• Estancamiento en el mismo rol, lo cual puede derivar en desmotivación por falta de nuevos desafíos.
• Horas extra frecuentes, que suelen estar asociadas a sobrecarga laboral y desequilibrio vida-trabajo.
• Considerar al empleado para una rotación interna, lo que podría renovar su motivación y aumentar el sentido de progreso dentro de la organización.
• Evaluar si su salario está alineado con el de sus pares y considerar bonos o incentivos económicos como mecanismo de reconocimiento y retención.
• Revisar las responsabilidades asignadas para reducir la necesidad de horas extra, contribuyendo al bienestar .
Estas acciones pueden contribuir a retener talento valioso, disminuir los costos asociados al reemplazo.
En las conclusiones adicione una discusión sobre cuál sería la estrategia para disminuir la rotación en la empresa (con base en las variables que resultaron significativas en el punto 3).
El análisis estadístico ha identificado múltiples factores significativos asociados a la rotación de empleados. Entre las variables más relevantes destacan:
• Edad, antigüedad, antigüedad en el cargo y años con el mismo jefe: A mayor estabilidad y permanencia, menor probabilidad de rotación.
• Satisfacción ambiental y laboral, equilibrio trabajo-vida y capacitaciones: Niveles altos en estas variables reducen la intención de rotación.
• Ingreso mensual también muestra una relación inversa con la rotación: salarios bajos están asociados a mayor salida.
• Horas extra, viajes de negocios, estado civil y tipo de cargo también muestran asociación significativa con la rotación.
Estrategia de retención:
Diseño de Planes de Carrera y Desarrollo Profesional.Crear programas de rotación interna para quienes llevan muchos años en el mismo cargo.
Mejorar el Clima y Satisfacción Laboral. Implementar encuestas periódicas de satisfacción ambiental y laboral, con planes de acción sobre los puntos críticos.
Relación Vida-Trabajo. Establecer políticas de control de horas extra y fomentar el equilibrio personal-laboral con horarios flexibles.(En todos los modelos de regresión la variable horas extra es la mas influyente en la rotación de los empleados)
Capacitación y Formación Continua, dado que a mayores capacitaciones la rotación disminuye.
Revisión de salarios, aumentos a mejor desempeño acompañado de incentivos.
Diseñar acciones específicas para perfiles de alto riesgo de rotación con base en modelos predictivos. Las acciones se deberían concentrar en las variables que fueron más significativas en los modelos predictivos y que son gestionables para la empresa. (Horas extra, Ingreso mensual, Antigüedad / Antigüedad en el Cargo, viajes y capacitación )
Evaluar e intervenir en áreas o departamentos con mayor rotación detectada.(Ventas y RH)
Minimizar viajes innecesarios, ofrecer compensaciones por tiempo fuera de casa, o priorizar trabajo remoto si es posible.