1 INTRODUCCIÓN

La rotación de empleados dentro de una organización representa un fenómeno crítico para la gestión del talento humano, ya que impacta directamente la productividad, los costos operativos y la estabilidad organizacional. Comprender los factores que influyen en los cambios de cargo permite a las empresas anticiparse a posibles movimientos internos y diseñar estrategias orientadas a la retención y desarrollo del personal.

En este estudio se analiza una base de datos que contiene información demográfica, laboral y organizacional de los empleados, con el objetivo de identificar las variables que inciden en la rotación de cargo. Para ello, se propone el uso de un modelo de regresión logística, el cual permitirá estimar la probabilidad de rotación en función de diferentes características individuales y laborales.

El análisis se desarrollará en varias etapas, incluyendo la exploración de los datos, el análisis univariado y bivariado, la estimación del modelo y la evaluación de su capacidad predictiva. Finalmente, se plantearán conclusiones y recomendaciones estratégicas basadas en los resultados obtenidos.


Tabla 1. Dimensión del conjunto de datos

knitr::kable(
  data.frame(
    Concepto = c("Número de observaciones", "Número de variables"),
    Valor = dim(rotacion)
  ),
  caption = "Dimensión de la base de datos de rotación"
)
Dimensión de la base de datos de rotación
Concepto Valor
Número de observaciones 1470
Número de variables 24


Tabla 2. Descripción de variables

tabla_variables <- tibble::tibble(
  Variable = names(rotacion),
  Tipo = sapply(rotacion, class),
  Valores_Unicos = sapply(rotacion, n_distinct),
  Nulos = sapply(rotacion, function(x) sum(is.na(x)))
)

tabla_variables %>%
  kable(caption = "Caracterización de variables de la base de rotación")
Caracterización de variables de la base de rotación
Variable Tipo Valores_Unicos Nulos
Rotación character 2 0
Edad numeric 43 0
Viaje de Negocios character 3 0
Departamento character 3 0
Distancia_Casa numeric 29 0
Educación numeric 5 0
Campo_Educación character 6 0
Satisfacción_Ambiental numeric 4 0
Genero character 2 0
Cargo character 9 0
Satisfación_Laboral numeric 4 0
Estado_Civil character 3 0
Ingreso_Mensual numeric 1349 0
Trabajos_Anteriores numeric 10 0
Horas_Extra character 2 0
Porcentaje_aumento_salarial numeric 15 0
Rendimiento_Laboral numeric 2 0
Años_Experiencia numeric 40 0
Capacitaciones numeric 7 0
Equilibrio_Trabajo_Vida numeric 4 0
Antigüedad numeric 37 0
Antigüedad_Cargo numeric 19 0
Años_ultima_promoción numeric 16 0
Años_acargo_con_mismo_jefe numeric 18 0

Con el fin de comprender la estructura de la base de datos, se presenta la dimensión del conjunto de datos y una caracterización de sus variables. Esta última incluye el tipo de dato, el número de valores únicos y la presencia de datos faltantes, lo cual permite identificar variables relevantes y evaluar su idoneidad para el análisis posterior.

A partir de esta exploración inicial, se procede a la selección de variables categóricas y cuantitativas que serán utilizadas en el modelo de regresión logística.


2 SELECCIÓN DE VARIABLES

Con base en la revisión de la base de datos y el contexto organizacional, se seleccionaron tres variables categóricas y tres variables cuantitativas que se consideran potencialmente relacionadas con la rotación de empleados.


2.1 Variables categóricas

Horas_Extra
Se espera que la realización de horas extras esté asociada con la rotación de personal, ya que pueden afectar el bienestar físico y mental de los trabajadores. Las jornadas laborales prolongadas y repetidas pueden contribuir al aumento del estrés laboral, el agotamiento, así como al desequilibrio entre la vida laboral y personal. Estas condiciones pueden generar desmotivación y una disminución en la satisfacción laboral, lo que lleva a los empleados a buscar mejores condiciones de trabajo y a tomar la decisión de abandonar el puesto.

Hipótesis: Los empleados que trabajan horas extra tienen mayor probabilidad de rotar.


Estado_Civil

Se considera que el estado civil es una variable relevante en el estudio de la rotación de personal, puesto que se asume que los empleados casados tienden a buscan mayor estabilidad financiera debido a las responsabilidades familiares que poseen y la necesidad de mantener ingresos constantes puede llevarlos a permanecer por más tiempo en un mismo puesto de trabajo, reduciendo su intención de abandonar el cargo y buscar nuevas oportunidades laborales.

Por otro lado, los empleados solteros tienden a buscar mejores oportunidades laborales, ya que suelen contar con mayor adaptabilidad, menos responsabilidades económicas fijas y una mayor disposición a la movilidad geográfica. Estas condiciones les permiten asumir más riesgos y cambiar de empleo con mayor frecuencia.

Hipótesis: Los empleados solteros tienen mayor probabilidad de rotar que los casados.


Satisfacción_Laboral

Se considera que la satisfacción laboral es importante en el estudio de la rotación y retención de personal en una empresa, puesto que los empleados satisfechos tienden a permanecer en sus puestos de trabajo, son menos propensos a la rotación. Cuando los empleados sienten que hay un ambiente laboral positivo, cuentan con oportunidades de desarrollo profesional, reciben reconocimiento y buena compensación, su intención de abandonar el cargo disminuye.

Por otro lado, aquellos trabajadores que se sienten insatisfechos se desempeñan en ambientes laborales hostiles, con conflictos o en malas condiciones laborales, y no se sienten valorados ni recompensados, prefieren buscar otro empleo donde se sientan cómodos, presentan mayor probabilidad de abandonar el cargo y buscar nuevas oportunidades laborales.

Hipótesis: A menor satisfacción laboral, mayor probabilidad de rotación.



2.2 Variables cuantitativas


Edad
Se considera que la edad puede estar relacionada con la estabilidad laboral, ya que los empleados más jóvenes suelen estar en etapas de exploración y consolidación de su carrera profesional. En este sentido, tienden a cambiar de empleo o carrera con mayor frecuencia en busca de mejores salarios, oportunidades de aprendizaje y desarrollo profesional.

Por otro lado, los trabajadores de mayor edad suelen presentar mayor estabilidad dentro de las organizaciones, debido a su mayor antigüedad, conocimiento del funcionamiento de la empresa y acumulación de beneficios laborales. Además, factores como el apego emocional a la organización y la búsqueda de estabilidad a futuro pueden contribuir a que presenten una menor propensión a cambiar de empleo.

Hipótesis: A menor edad, mayor probabilidad de rotación.


Ingreso_Mensual

Se espera que el nivel de ingresos influye en la permanencia en el cargo, ya que cuando los trabajadores perciben un salario bajo, estancado o poco competitivo, que no es acorde a la carga laboral, ni al nivel de responsabilidad ni al esfuerzo realizado, además de no ser suficiente para cubrir sus necesidades básicas o deudas, tiende a generarse desmotivación. Por lo cual, es común que los trabajadores inicien una búsqueda activa de nuevas oportunidades laborales que les ofrezcan mejores condiciones económicas. Por ende, se considera que una proporción importante de las renuncias está relacionada con la expectativa de mejores salarios.

Hipótesis: A menor ingreso mensual, mayor probabilidad de rotación.


Distancia_casa

Se considera que la distancia entre el hogar y el lugar de trabajo es importante en el estudio de la rotación del personal. Los desplazamientos más largos pueden provocar el cambio de empleo, ya que implican mayores gastos económicos (combustible o transporte público), menos tiempo disponible para actividades personales, y la percepción de pérdida de tiempo. Asimismo, estos trayectos incrementan el cansancio, el estrés y la ansiedad, dificultan la conciliación entre la vida laboral y personal, y obligan a iniciar la jornada más temprano y finalizarla más tarde en el hogar.

Teniendo en cuenta lo anterior, se considera que a medida que aumenta la distancia del trayecto también aumenta la probabilidad de renuncia, debido al impacto negativo en la calidad de vida y es más probable que busquen oportunidades labores que se ubiquen más cerca de sus hogares.

Hipótesis: A mayor distancia de la casa, mayor probabilidad de rotación.



3 ANALISIS UNIVARIADO

3.1 Variables categóricas


Gráfico 1. Rotación

ggplot(rotacion, aes(x = Rotación)) +
  geom_bar(fill = "#a4b446") +
  geom_text(stat = "count", aes(label = ..count..), vjust = -0.3)

La variable Rotación evidencia que la mayoría de los empleados no ha cambiado de cargo, con 1233 observaciones (83.9%), mientras que 237 empleados (16.1%) sí han rotado. Esto sugiere un comportamiento relativamente estable dentro de la organización, aunque el grupo que rota representa una proporción relevante para profundizar en su análisis.


Gráfico 2. Estado Civil

ggplot(rotacion, aes(x = Estado_Civil)) +
  geom_bar(fill = "#c02525") +
  geom_text(stat = "count", aes(label = ..count..), vjust = -0.3)

La mayoría de los empleados de la empresa estan casados, representando aproximadamente el 45,8% del total. En segundo lugar, se ubican los trabajadores solteros con un 32% y finalmente los divorciados con 22,2%. Lo que sugiere que predomina una población laboral con responsabildiades familiares, que se esperaria que se relacione con mayor estabilidad y permanecia en el cargo actual.


Gráfico 3. Horas Extra

ggplot(rotacion, aes(x = Horas_Extra)) +
  geom_bar(fill = "steelblue") +
  geom_text(stat = "count", aes(label = ..count..), vjust = -0.3)

La mayoría de los empleados no realiza horas extras, representando el 71,7% del total, mientras que el 28,3% sí las realiza. Eto indica que una parte importante de la población podría estar expuesta a mayores cargas laborales, lo cual puede tener implicaciones en aspectos como el nivel de estrés, la fatiga, el equilibrio entre la vida laboral y personal.


Gráfico 4. Satisfacción_Laboral

ggplot(rotacion, aes(x = as.factor(Satisfación_Laboral))) +
  geom_bar(fill = "orange") +
  geom_text(stat = "count", aes(label = ..count..), vjust = -0.3)

Para la variable Satisfacción_Laboral (Gráfico 4), se observa una mayor concentración en los niveles altos de satisfacción. En particular, el nivel 4 (muy satisfecho) presenta 459 observaciones y el nivel 3 (satisfecho) cuenta con 442, representando ambos el 61,3% del total de empleados, mientras que los niveles 1 (muy insatisfecho) y 2 (insatisfecho) registran 289 y 280 respectivamente, representando el 38,7% de empleados restante. Esto indica que, en general, los empleados presentan una percepción positiva de su trabajo, aunque existe una proporción relevante de trabajadores con niveles bajos de satisfacción, con una percepcion desfavorable de la empresa y que podría influir en decisiones de cambio de cargo.



3.2 Variables numericas

En esta sección se analiza la distribución de las variables numericas, con el objetivo de identificar patrones, dispersión y posibles asimetrías en los datos.


Gráfico 5. Edad

ggplot(rotacion, aes(x = Edad)) +
  geom_histogram(fill = "#c02525", bins = 20)

Para la variable Edad (Gráfico 5), se observa una distribución aproximadamente unimodal, con una mayor concentración de empleados entre los 30 y 40 años. La distribución presenta una ligera asimetría hacia la derecha, lo que indica la presencia de empleados de mayor edad, aunque en menor proporción. Este comportamiento sugiere que la organización cuenta principalmente con una población laboral en etapa productiva media.


Tabla 3. Resumen estadístico de la variable Edad

library(knitr) 
library(kableExtra)

resumen <- summary(rotacion$Edad)

tabla <- data.frame(
  Medida = names(resumen),
  Valor = as.numeric(resumen)
)

kable(tabla, col.names = c("Medida", "Valor")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE)
Medida Valor
Min. 18.00000
1st Qu. 30.00000
Median 36.00000
Mean 36.92449
3rd Qu. 43.00000
Max. 60.00000

La edad promedio de los trabajadores de la empresa es de aproximadamente 36,9 años, con una mediana de 36 años. El colaborador con la edad mínima tiene 18 años , mientras que el trabajador con la edad máxima alcanza los 60 años.



Gráfico 6. Ingreso_Mensual

ggplot(rotacion, aes(x = Ingreso_Mensual)) +
  geom_histogram(fill = "steelblue", bins = 20)

En cuanto a la variable Ingreso_Mensual (Gráfico 6), se evidencia una distribución fuertemente asimétrica hacia la derecha. La mayoría de los empleados se concentra en niveles salariales bajos y medios, aproximadamente entre 2,000 y 6,000 unidades monetarias, mientras que un grupo reducido presenta ingresos significativamente más altos, alcanzando valores cercanos a 20,000. Esta dispersión sugiere la presencia de desigualdad salarial dentro de la organización, así como posibles valores atípicos en los niveles superiores de ingreso.


Tabla 4. Resumen estadístico de la variable Ingreso_Mensual

library(knitr) 
library(kableExtra)

resumen <- summary(rotacion$Ingreso_Mensual)

tabla <- data.frame(
  Medida = names(resumen),
  Valor = as.numeric(resumen)
)

kable(tabla, col.names = c("Medida", "Valor")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE)
Medida Valor
Min. 1009.000
1st Qu. 2911.000
Median 4919.000
Mean 6502.931
3rd Qu. 8379.000
Max. 19999.000

El ingreso mensual promedio de los trabajadores de la empresa es de aproximadamente 6502 unidades monetarias, con una mediana de 4919 unidades. El salario mínimo registrado es de 1009 unidades monetarias, mientras que el máximo alcanza las 19999 unidades.Se observa que la media es superior a la mediana, apoyando lo expresado anteriormente, que hay una distribución asimétrica, aunque existe un grupo de trabajadores con ingresos elevados, la mayoría percibe salarios por debajo del promedio.



Gráfico 7. Distancia_Casa

ggplot(rotacion, aes(x = Distancia_Casa)) +
  geom_histogram(fill = "orange", bins = 20)

En cuanto a la variable Distancia_Casa (Gráfico 7), se evidencia una distribución altamente asimétrica hacia la derecha. La mayoría de los empleados reside a distancias cortas del lugar de trabajo, principalmente por debajo de los 10 kilómetros, mientras que existe un grupo reducido que vive a mayores distancias, alcanzando valores cercanos a los 30 kilómetros. Esta dispersión indica heterogeneidad en las condiciones de desplazamiento de los empleados.


Tabla 5. Resumen estadístico de la variable Distancia_Casa

library(knitr) 
library(kableExtra)

resumen <- summary(rotacion$Distancia_Casa)

tabla <- data.frame(
  Medida = names(resumen),
  Valor = as.numeric(resumen)
)

kable(tabla, col.names = c("Medida", "Valor")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE)
Medida Valor
Min. 1.000000
1st Qu. 2.000000
Median 7.000000
Mean 9.192517
3rd Qu. 14.000000
Max. 29.000000

La distancia promedio que deben recorrer los trabajadores para llegar a la empresa es de aproximadamente 9,19 kilómetros, con una mediana de 7 kilómetros. La distancia mínima registrada es de 1 kilómetro, mientras que la máxima alcanzada es de 29 kilómetros. Se observa que la media es superior a la mediana, apoyando lo expresado anteriormente, que hay una distribución asimétrica, sugiere que, aunque existe un grupo de trabajadores que vive a mayores distancias del trabajo, la mayoría se ubica por debajo del promedio, es decir, relativamente cerca a la empresa.



4 ANALISIS BIVARIADO


En esta sección se analiza la relación entre las variables explicativas seleccionadas y la variable respuesta rotación, la cual fue codificada como una variable binaria (1 = Sí rota, 0 = No rota). El objetivo de este análisis es evaluar el efecto individual de cada variable sobre la probabilidad de rotación, mediante el uso de gráficos comparativos y modelos de regresión logística simples.

A través de este enfoque, se busca identificar cuáles variables presentan una relación significativa con la rotación y determinar la dirección de dicha relación, con el fin de contrastar los resultados obtenidos con las hipótesis planteadas previamente.

rotacion$y <- ifelse(rotacion$Rotación == "Si", 1, 0)


Gráfico 8. Estado_Civil vs Rotación

ggplot(rotacion, aes(x = Estado_Civil, fill = factor(y))) +
  geom_bar(position = "fill") +
  labs(x = "Estado_Civil", y = "Proporción", fill = "Rotación")

En el Gráfico 8 se evidencia que la proporción de rotación varía según el estado civil. En particular, los empleados solteros presentan una mayor proporción de rotación en comparación con los casados y divorciados, quienes muestran niveles más bajos y similares entre sí.


Tabla 6. Modelo logístico Rotación - Estado_Civil

modelo_estado <- glm(y ~ Estado_Civil, data = rotacion, family = "binomial")

broom::tidy(modelo_estado) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) -1.9476094 0.1166295 -16.699112 0.0000000
Estado_CivilDivorciado -0.2394628 0.2174897 -1.101030 0.2708835
Estado_CivilSoltero 0.8771680 0.1574576 5.570819 0.0000000

En el modelo de regresión logística (Tabla 4), el coeficiente asociado a Estado_CivilSoltero es positivo (0.877), indicando que ser soltero aumenta la probabilidad de rotación frente a la categoría base (casado). Este efecto es estadísticamente significativo, dado que su p-valor es cercano a cero. Por otro lado, la categoría Divorciado presenta un coeficiente negativo (-0.239) pero no es estadísticamente significativo, ya que su p-valor es alto.

Estos resultados confirman parcialmente la hipótesis planteada, evidenciando que el estado civil puede influir en la rotación de personal y que los empleados solteros tienen una mayor tendencia a rotar en comparación con otros estados civiles.



Gráfico 9. Horas_Extra vs Rotación

ggplot(rotacion, aes(x = Horas_Extra, fill = factor(y))) +
  geom_bar(position = "fill") +
  labs(x = "Horas_Extra", y = "Proporción", fill = "Rotación")

En el Gráfico 9 se observa que la proporción de empleados que rota es considerablemente mayor en aquellos que realizan horas extra en comparación con quienes no las realizan. Mientras que en el grupo que no trabaja horas extra la proporción de rotación es baja, en el grupo que sí realiza horas extra esta proporción aumenta de forma notable.


Tabla 7. Modelo logístico Rotacion - Horas_Extra

modelo_hextra <- glm(y ~ Horas_Extra, data = rotacion, family = "binomial")

broom::tidy(modelo_hextra) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) -2.149646 0.1007431 -21.337888 0
Horas_ExtraSi 1.327406 0.1465721 9.056333 0

El modelo de regresión logística (Tabla 7) muestra un coeficiente positivo para la variable Horas_ExtraSi (1.327), lo que indica que trabajar horas extra incrementa la probabilidad de rotación. Además, el p-valor asociado es prácticamente cero, lo que evidencia que este efecto es estadísticamente significativo.

Estos resultados son consistentes con la hipótesis planteada, en la cual se esperaba que una mayor carga laboral estuviera asociada a un incremento en la rotación de empleados, trabajar horas extras está influyendo en la probabilidad de rotar.



Gráfico 10. Satisfacción_Laboral vs Rotación

ggplot(rotacion, aes(x = Satisfación_Laboral, fill = factor(y))) +
  geom_bar(position = "fill") +
  labs(x = "Satisfación_Laboral", y = "Proporción", fill = "Rotación")

En el Gráfico 10 se evidencia que la proporción de rotación varía según el nivel de satisfacción. En particular, los empleados muy insatisfechos presentan una mayor proporción de rotación que el resto, mientras que el grupo que indicó que estaba muy satisfecho en su trabajo presentan la proporción de rotación más es baja, quienes reportaron que estan insatisfechos y satisfechos muestran niveles intermedios y similares entre sí de rotación.


Tabla 8. Modelo logístico Rotacion - Satisfacción_Laboral

rotacion$Satisfación_Laboral <- factor(rotacion$Satisfación_Laboral, levels = c(1,2,3,4))

modelo_satisf <- glm(y ~ Satisfación_Laboral,data = rotacion, family = "binomial")


broom::tidy(modelo_satisf) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) -1.2175170 0.1401278 -8.688621 0.0000000
Satisfación_Laboral2 -0.4091627 0.2136549 -1.915063 0.0554844
Satisfación_Laboral3 -0.4028202 0.1898538 -2.121739 0.0338596
Satisfación_Laboral4 -0.8400524 0.2032800 -4.132489 0.0000359

En el modelo de regresión logística (Tabla 8), los coeficientes asociados a Satisfación_Laboral son negativos, es decir, la probabilidad de rotación disminuye a medida que va aumentando el nivel de satisfacción en comparación con la categoría base (nivel 1: muy insatisfecho). Los efectos de los niveles 3 y 4 son estadísticamente significativos, mientras que el nivel 2 esta en el límite (0.055). Adicionalmente, los coeficientes de Satisfación_Laboral2 y Satisfación_Laboral3 son similares en magnitud frente a la categoría base, mientras que Satisfación_Labora4 presenta un efecto más pronunciado, indicado que los empleados muy satisfechos tienen menor probabilidad de rotación en comparación con aquellos muy insatisfechos, y esta reducción es mayor que la de los otros niveles de satisfacción (2 y 3).

Estos resultados confirman la hipótesis planteada, evidenciando que la satisfacción laboral es un factor determinante en la permanencia de los empleados dentro de la organización y que mayor satisfacción laboral reduce la probabilidad de rotación.



Gráfico 11. Edad vs Rotación

ggplot(rotacion, aes(x = factor(y), y = Edad)) +
  geom_boxplot(fill = "lightblue") +
  labs(x = "Rotación", y = "Edad")

En el Gráfico 11 se evidencia que los empleados que rotan tienden a presentar una menor edad en comparación con aquellos que no rotan. La mediana de edad es más baja en el grupo que rota, lo que sugiere una posible relación entre menor edad y mayor probabilidad de cambio de cargo.


Tabla 9. Modelo logístico Rotación - Edad

modelo_edad <- glm(y ~ Edad, data = rotacion, family = "binomial")

broom::tidy(modelo_edad) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) 0.2063689 0.3059696 0.6744752 0.5000093
Edad -0.0522544 0.0086999 -6.0063393 0.0000000

El modelo de regresión logística (Tabla 6) presenta un coeficiente negativo para la variable Edad (-0.052), lo que indica que a medida que aumenta la edad, disminuye la probabilidad de rotación. Este efecto es estadísticamente significativo, dado que su p-valor es cercano a cero.

Estos resultados son consistentes con la hipótesis planteada, en la cual se esperaba que los empleados más jóvenes presentaran una mayor tendencia a rotar dentro de la organización.


Gráfico 12. Ingreso_Mensual vs Rotación

ggplot(rotacion, aes(x = factor(y), y = Ingreso_Mensual)) +
  geom_boxplot(fill = "lightblue") +
  labs(x = "Rotación", y = "Ingreso_Mensual")

En el Gráfico 12 se observa que los empleados que no rotan presentan, en general, niveles de ingreso más altos en comparación con aquellos que sí rotan. La mediana de ingreso es claramente mayor en el grupo que permanece, mientras que los empleados que rotan se concentran en rangos salariales más bajos. Asimismo, se evidencian valores atípicos en ambos grupos, especialmente en los niveles superiores de ingreso.


Tabla 10. Modelo logístico Rotación - Ingreso_Mensual

modelo_ingreso <- glm(y ~ Ingreso_Mensual, data = rotacion, family = "binomial")

broom::tidy(modelo_ingreso) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) -0.9291087 0.1292021 -7.191125 0
Ingreso_Mensual -0.0001271 0.0000216 -5.879336 0

El modelo de regresión logística (Tabla 10) muestra un coeficiente negativo para la variable Ingreso_Mensual (-0.000127), lo que indica que a medida que aumenta el ingreso, disminuye la probabilidad de rotación. Este efecto es estadísticamente significativo, dado que el p-valor es cercano a cero.

Estos resultados son consistentes con la hipótesis planteada, sugiriendo que niveles salariales más altos están asociados con una menor probabilidad de rotación.


Gráfico 13. Distancia_Casa vs Rotación

ggplot(rotacion, aes(x = factor(y), y = Distancia_Casa)) +
  geom_boxplot(fill = "lightblue") +
  labs(x = "Rotación", y = "Distancia_Casa")

En el Gráfico 13 se observa que los empleados que no rotan presentan, en general, distancias más cortas del trabajo a la casa en comparación con aquellos que sí rotan. La mediana de la distancia casa es claramente menor en el grupo que permanece, mientras que los empleados que rotan se concentran en distancias al trabajo mayores, viven más lejos de la empresa.


Tabla 11. Modelo logístico Rotación - Distancia_Casa

modelo_ingreso <- glm(y ~ Distancia_Casa, data = rotacion, family = "binomial")

broom::tidy(modelo_ingreso) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) -1.8900508 0.1113819 -16.969106 0.0000000
Distancia_Casa 0.0247101 0.0083123 2.972721 0.0029517

El modelo de regresión logística (Tabla 11) muestra un coeficiente positivo para la variable Distancia_Casa (0.025), lo que indica que a medida que aumenta la distancia de la casa del trabajo, aumenta la probabilidad de rotación. Este efecto es estadísticamente significativo, dado que el p-valor es cercano a cero.

Estos resultados son consistentes con la hipótesis planteada, sugiriendo que entre más lejos vivan los empleados de su puesto de trabajo mayor es la probabilidad de rotación.



5 ESTIMACIÓN DEL MODELO


En esta sección se estima un modelo de regresión logística multivariado con el objetivo de analizar el efecto conjunto de las variables explicativas seleccionadas sobre la probabilidad de rotación de los empleados. A diferencia del análisis bivariado, este modelo permite evaluar la influencia de cada variable controlando por el efecto de las demás, lo cual facilita identificar cuáles factores son realmente determinantes en la rotación.

Los coeficientes estimados se interpretan en términos de cambios del logaritmo de la razón de probabilidades de rotación, mientras que los odds ratios permiten una interpretación más intuitiva del efecto de cada variable sobre la razón de probabilidades. Asimismo, se analiza la significancia estadística de los parámetros para determinar la relevancia de cada variable dentro del modelo.

Tabla 12. Modelo logístico multivariado

modelo_final <- glm(
  y ~ Horas_Extra + Estado_Civil + Satisfación_Laboral + Edad + Ingreso_Mensual + Distancia_Casa,
  data = rotacion,
  family = "binomial"
)



broom::tidy(modelo_final) %>%
  knitr::kable()
term estimate std.error statistic p.value
(Intercept) -0.6097993 0.3849520 -1.584092 0.1131729
Horas_ExtraSi 1.5312314 0.1593562 9.608858 0.0000000
Estado_CivilDivorciado -0.3179943 0.2299271 -1.383022 0.1666580
Estado_CivilSoltero 0.8910784 0.1719667 5.181692 0.0000002
Satisfación_Laboral2 -0.4353944 0.2351729 -1.851380 0.0641149
Satisfación_Laboral3 -0.4680219 0.2072977 -2.257729 0.0239626
Satisfación_Laboral4 -1.0685448 0.2220584 -4.811999 0.0000015
Edad -0.0313901 0.0101280 -3.099328 0.0019396
Ingreso_Mensual -0.0001025 0.0000253 -4.047056 0.0000519
Distancia_Casa 0.0311752 0.0092626 3.365714 0.0007635


Tabla 13. Odds Ratios del modelo logístico

odds_ratios <- exp(coef(modelo_final))

data.frame(
  Variable = names(odds_ratios),
  Odds_Ratio = round(odds_ratios, 3)
) %>%
  knitr::kable()
Variable Odds_Ratio
(Intercept) (Intercept) 0.543
Horas_ExtraSi Horas_ExtraSi 4.624
Estado_CivilDivorciado Estado_CivilDivorciado 0.728
Estado_CivilSoltero Estado_CivilSoltero 2.438
Satisfación_Laboral2 Satisfación_Laboral2 0.647
Satisfación_Laboral3 Satisfación_Laboral3 0.626
Satisfación_Laboral4 Satisfación_Laboral4 0.344
Edad Edad 0.969
Ingreso_Mensual Ingreso_Mensual 1.000
Distancia_Casa Distancia_Casa 1.032

La variable Horas_Extra presenta un coeficiente positivo (1.531) y estadísticamente significativo (p-valor cercano a cero), lo que indica que los empleados que realizan horas extra tienen una mayor probabilidad de rotación, incluso al controlar por las demás variables del modelo.

El odds ratio asociado (4.624) indica que las odds de rotación para los empleados que trabajan horas extra son aproximadamente 4.6 veces mayores en comparación con aquellos que no lo hacen. Este resultado sugiere que la carga laboral adicional es un factor relevante en la rotación.


En la variable Estado_Civil, se observa que la categoría Soltero presenta un coeficiente positivo (0.891) y significativo, lo que indica una mayor probabilidad de rotación de este grupo frente a la categoría base (casado). El odds ratio de 2.438 sugiere que los empleados solteros tienen más del doble de odds de rotación en comparación con el grupo de casados.

Por otro lado, la categoría Divorciado con rescepto a casados no resulta significativa (p-valor alto), lo que indica que no existe evidencia suficiente para afirmar que esta condición influya en la rotación.


En la variable Satisfación_Laboral, tomando como base a los empleados muy insatisfechos, se observa que Insatisfecho, Satisfecho y Muy satisfecho presentan coeficientes negativos (-0.435, -0.468 y -1.069, respectivamente), lo que indica una disminución en la probabilidad a la rotación en comparación con el grupo muy insatisfecho. En cuanto a la significancia estadística, se evidencia que las categorías Satisfecho y Muy satisfecho resultan significativas, lo que inidca que mayores niveles de satisfacción laboral están asociados con una menor rotación. Por el contrario, la categoría Insatisfecho no es estadísticamente significativa (p-valor = 0.064), por lo que no se puede afirmar con suficiente evidencia que difiera del grupo muy insatisfecho.

De acuerdo con los odds ratios los empleados Insatisfechos presentan un odds de rotación de 0.647, los Satisfechos de 0.626 y los Muy satisfechos de 0.344. Esto implica que, en comparación con los empleados muy insatisfechos, las odds de rotación disminuyen progresivamente a medida que aumenta el nivel de satisfacción laboral, siendo especialmente marcada la reducción en el grupo de muy satisfechos.


La variable Edad presenta un coeficiente negativo (-0.031) y significativo, lo que indica que a medida que aumenta la edad, disminuye la probabilidad de rotación. El odds ratio de 0.969 confirma este comportamiento, sugiriendo que cada año adicional reduce en aproximadamente un 3.1% las odds de rotación, manteniendo constantes las demás variables del modelo. Este resultado indica que los empleados más jóvenes tienen una mayor tendencia a cambiar de cargo dentro de la organización.


En la variable Ingreso_Mensual, el coeficiente negativo (-0.000103) indica que mayores niveles de ingreso están asociados con una menor probabilidad de rotación. Este efecto es estadísticamente significativo, aunque de magnitud pequeña debido a la escala en la que se mida la variable.

El odds ratio igual a 1 indica ausencia del efecto, es decir, aunque la relación es estadísticamente significativa, su impacto práctico es limitado a nivel individual, es posible que incrementos más grandes en el ingreso podrían tener un efecto acumulado más relevante.


La variable Distancia_Casa presenta un coeficiente positivo (0.031) y estadísticamente significativo (p-valor cercano a cero), lo que indica que los empleados que viven más lejos del puesto de trabajo tienen una mayor probabilidad de rotación, manteniendo constantes las demás variables del modelo.

El odds ratio asociado (1.032) indica que por cada unidad adicional de distancia, las odds de rotación aumentan en aproximadamente un 3.2%. Aunque el efecto por unidad es relativamente pequeño, su impacto puede volverse relevante ante incrementos mayores en la distancia.


En conjunto, los resultados del modelo multivariado evidencian que las variables significativas estadísticamente en la rotación son las horas extra, el estado civil (particularmente ser soltero), satisfacción laboral (especificamente 3 y 4), la edad, el ingreso mensual y la distancia casa. Estos hallazgos confirman en gran medida las hipótesis planteadas y permiten identificar factores clave sobre los cuales la organización puede intervenir para reducir la rotación de empleados.



6 EVALUACIÓN


La curva ROC (Gráfico 14) permite evaluar la capacidad del modelo para discriminar entre los empleados que rotan y los que no rotan. En el gráfico se observa que la curva se encuentra por encima de la línea diagonal, lo que indica que el modelo tiene capacidad predictiva superior a la de un clasificador aleatorio.


Gráfico 14. Curva ROC del modelo logístico

library(pROC)

# Probabilidades estimadas del modelo
probabilidades <- predict(modelo_final, type = "response")

# Objeto ROC
roc_modelo <- roc(rotacion$y, probabilidades)

# Curva ROC
plot(roc_modelo,
     col = "blue",
     lwd = 2,
     main = "Curva ROC del modelo logístico")
abline(a = 0, b = 1, lty = 2, col = "gray")


El área bajo la curva (AUC), presentada en la Tabla 14, es de 0.7756. Este valor indica que el modelo tiene una buena capacidad de discriminación, ya que existe aproximadamente un 77.56% de probabilidad de que el modelo asigne una mayor probabilidad de rotación a un empleado que realmente rota frente a uno que no rota.


Tabla 14. Área bajo la curva (AUC)

auc_modelo <- auc(roc_modelo)

data.frame(
  Medida = "AUC",
  Valor = round(as.numeric(auc_modelo), 4)
) %>%
  knitr::kable()
Medida Valor
AUC 0.7756

De acuerdo con criterios comúnmente utilizados, un AUC entre 0.7 y 0.8 se considera aceptable o bueno, lo que sugiere que el modelo presenta un desempeño adecuado para fines predictivos.

En consecuencia, el modelo logístico estimado logra capturar de manera razonable los patrones asociados a la rotación de empleados, aunque aún existe margen de mejora en su capacidad predictiva.



7 PREDICCION

Tabla 15. Punto de corte óptimo del modelo

# Punto de corte óptimo con criterio de Youden
corte_optimo <- coords(roc_modelo, "best", ret = c("threshold", "sensitivity", "specificity"))

data.frame(
  Medida = c("Threshold", "Sensitivity", "Specificity"),
  Valor = round(as.numeric(corte_optimo), 4)
) %>%
  knitr::kable()
Medida Valor
Threshold 0.1701
Sensitivity 0.7300
Specificity 0.7437

El punto de corte óptimo obtenido (0.1701) es inferior al valor convencional de 0.5 debido a la distribución de la variable respuesta, donde la proporción de empleados que rotan es relativamente baja. En estos casos, el modelo tiende a asignar probabilidades menores, por lo que un umbral más bajo permite mejorar la capacidad de detección de casos positivos (rotación).

El uso del criterio de Youden permite encontrar un equilibrio entre sensibilidad y especificidad, optimizando la capacidad predictiva del modelo. En este contexto, un valor de 0.1701 indica que probabilidades superiores al 17,01% ya representan un riesgo relevante de rotación, favoreciendo una mejor identificación de los empleados propensos a abandonar la organización


Tabla 16. Características del individuo hipotético

nuevo_empleado <- data.frame(
  Horas_Extra = "Si",
  Estado_Civil = "Soltero",
  Satisfación_Laboral = factor(2),
  Edad = 28,
  Ingreso_Mensual = 3000,
  Distancia_Casa = 7
  
)

nuevo_empleado %>%
  knitr::kable()
Horas_Extra Estado_Civil Satisfación_Laboral Edad Ingreso_Mensual Distancia_Casa
Si Soltero 2 28 3000 7

En la Tabla 16 se presentan las características del individuo hipotético evaluado, el cual corresponde a un empleado que realiza horas extra, es soltero, un nivel de satisfacción laboral de 2 (insatisfecho), tiene 28 años, un ingreso mensual de 3000 y vive a 7 kilometros del trabajo.

A partir de estas características, el modelo estima una probabilidad de rotación de 0.6008 (Tabla 17), lo que indica un riesgo alto de que este empleado cambie de cargo en el próximo periodo.


Tabla 17. Predicción de probabilidad de rotación

probabilidad_rotacion <- predict(modelo_final, newdata = nuevo_empleado, type = "response")

data.frame(
  Medida = "Probabilidad de rotación",
  Valor = round(probabilidad_rotacion, 4)
) %>%
  knitr::kable()
Medida Valor
Probabilidad de rotación 0.6008

Al comparar esta probabilidad con el punto de corte óptimo obtenido (0.1996), se observa que la probabilidad estimada es considerablemente superior al umbral definido. En consecuencia, como se muestra en la Tabla 18, la decisión es intervenir sobre este empleado.


Tabla 18. Decisión de intervención

decision_intervencion <- ifelse(probabilidad_rotacion > corte_optimo["threshold"],
                                "Intervenir",
                                "No intervenir")

data.frame(
  Probabilidad = round(probabilidad_rotacion, 4),
  Punto_de_corte = round(as.numeric(corte_optimo["threshold"]), 4),
  Decision = decision_intervencion
) %>%
  knitr::kable()
Probabilidad Punto_de_corte threshold
0.6008 0.1701 Intervenir

Este resultado sugiere que el perfil analizado presenta múltiples factores de riesgo asociados a la rotación, tales como la realización de horas extra, un nivel bajo de satisfacción laboral y un ingreso relativamente bajo. Por lo tanto, se recomienda implementar estrategias de intervención orientadas a mejorar sus condiciones laborales, incrementar su satisfacción y reducir su carga de trabajo, con el fin de disminuir la probabilidad de rotación. Estrategias como por ejemplo: el diseño de programas de reconocimiento e incentivos por desempeño, la revisión de la carga laboral para reducir la dependencia de horas extra, y la implementación de planes de desarrollo profesional que permitan al empleado visualizar oportunidades de crecimiento dentro de la organización.



8 CONCLUSIONES


El análisis realizado permitió identificar los principales factores asociados a la rotación de empleados dentro de la organización, a partir de un enfoque basado en regresión logística. Tanto el análisis bivariado como el modelo multivariado evidenciaron que variables como las horas extra, el estado civil, la satisfacción laboral, la edad, el ingreso mensual y la distancia de la casa al trabajo influyen de manera significativa en la probabilidad de rotación.

En particular, se encontró que la realización de horas extra incrementa considerablemente la probabilidad de rotación, lo que sugiere que una carga laboral elevada puede generar desgaste en los empleados. Asimismo, los empleados solteros presentan una mayor tendencia a rotar, lo cual puede estar asociado a una mayor flexibilidad laboral, búsqueda de mejores oportunidades labores o menor nivel de arraigo organizacional.

Por otro lado, los empleados con mayor distancia entre el hogar y el trabajo mostraron una mayor propensión a la rotación, lo que está asociado a mayores gastos económicos, menor disponibilidad para actividades personales, así como mayores niveles más estres y cansancio.En contraste, variables como la edad, el ingreso mensual y la satisfacción laboral (especificamente satisfechos y muy satisfechos) presentan efectos negativos sobre la rotación, indicando que empleados más experimentados, mejor remunerados y con mayor satisfacción tienden a permanecer en la organización.

A partir de estos hallazgos, se pueden plantear diversas estrategias para disminuir la rotación. En primer lugar, se recomienda implementar políticas orientadas a la reducción de horas extras, mediante una mejor distribución de la carga laboral o la incorporación de personal adicional. En segundo lugar, es fundamental fortalecer las estrategias de compensación salarial, especialmente para los empleados con ingresos más bajos, con el fin de aumentar su permanencia.

Adicionalmente, se sugiere diseñar programas de mejora del clima organizacional y bienestar laboral, enfocados en incrementar la satisfacción de los empleados. Esto puede incluir iniciativas como planes de desarrollo profesional, reconocimiento al desempeño, flexibilidad laboral y fortalecimiento del liderazgo.

Finalmente, se recomienda prestar especial atención a los empleados jóvenes y con mayores distancia de la casa al trabajo, implementando estrategias específicas de retención, tales como acompañamiento en el desarrollo de carrera, incentivos por desempeño y reducción de factores de estrés laboral.

Finalmente, se recomienda prestar especial atención a los empleados jóvenes y con mayor distancia del hogar al trabajo, implementando estrategias específicas de retención, tales como acompañamiento en el desarrollo de carrera, incentivos por desempeño, reducción de factores de estrés laboral y esquemas de trabajo flexible o híbrido (cuando sea posible).

En conjunto, estas acciones permitirían a la organización reducir la rotación de empleados, mejorar la estabilidad de su talento humano y optimizar su desempeño organizacional.