## # A tibble: 6 × 24
##   Rotación  Edad `Viaje de Negocios` Departamento Distancia_Casa Educación
##   <chr>    <dbl> <chr>               <chr>                 <dbl>     <dbl>
## 1 Si          41 Raramente           Ventas                    1         2
## 2 No          49 Frecuentemente      IyD                       8         1
## 3 Si          37 Raramente           IyD                       2         2
## 4 No          33 Frecuentemente      IyD                       3         4
## 5 No          27 Raramente           IyD                       2         1
## 6 No          32 Frecuentemente      IyD                       2         2
## # ℹ 18 more variables: Campo_Educación <chr>, Satisfacción_Ambiental <dbl>,
## #   Genero <chr>, Cargo <chr>, Satisfación_Laboral <dbl>, Estado_Civil <chr>,
## #   Ingreso_Mensual <dbl>, Trabajos_Anteriores <dbl>, Horas_Extra <chr>,
## #   Porcentaje_aumento_salarial <dbl>, Rendimiento_Laboral <dbl>,
## #   Años_Experiencia <dbl>, Capacitaciones <dbl>,
## #   Equilibrio_Trabajo_Vida <dbl>, Antigüedad <dbl>, Antigüedad_Cargo <dbl>,
## #   Años_ultima_promoción <dbl>, Años_acargo_con_mismo_jefe <dbl>

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.

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.

  1. Se espera que las personas que realicen horas extras tengan una mayor probabilidad de rotación.
library(ggplot2)
library(CGPfunctions)

# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Horas_Extra, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Horas Extras y Rotación",
       x = "Horas Extras",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
tabla_frecuencia <- table(Datos_Rotacion$Horas_Extra, Datos_Rotacion$Rotación)

# Mostrar la tabla de frecuencia
print(tabla_frecuencia)
##     
##        0   1
##   No 944 110
##   Si 289 127
# Calcular el número total de observaciones
total_observaciones <- sum(tabla_frecuencia)

# Calcular el porcentaje de participación
porcentaje_participacion <- (tabla_frecuencia / total_observaciones) * 100

Con un total de 416 personas que rotan, se observa que el 31% de aquellas que realizan horas extras también están rotando.

  1. Se plantea que el genero masculino rote más.
# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Genero, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Genero y Rotación",
       x = "Genero",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
tabla_frecuencia <- table(Datos_Rotacion$Genero, Datos_Rotacion$Rotación)

# Mostrar la tabla de frecuencia
print(tabla_frecuencia)
##    
##       0   1
##   F 501  87
##   M 732 150
# Calcular el número total de observaciones
total_observaciones <- sum(tabla_frecuencia)

# Calcular el porcentaje de participación
porcentaje_participacion <- (tabla_frecuencia / total_observaciones) * 100

Las mujeres, que representan el 40% del total de empleados de la empresa, suman un total de 588. Sin embargo, solo un 15% de ellas rotan, en contraste con el 17% de rotación observado en los hombres.

  1. Se espera que las personas con estado civil soltero, roten más
# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Estado_Civil, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Estado_Civil y Rotación",
       x = "Estado_Civil",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
tabla_frecuencia <- table(Datos_Rotacion$Estado_Civil, Datos_Rotacion$Rotación)

# Mostrar la tabla de frecuencia
print(tabla_frecuencia)
##             
##                0   1
##   Casado     589  84
##   Divorciado 294  33
##   Soltero    350 120
# Calcular el número total de observaciones
total_observaciones <- sum(tabla_frecuencia)

# Calcular el porcentaje de participación
porcentaje_participacion <- (tabla_frecuencia / total_observaciones) * 100

La tabla revela que un total de 673 individuos, lo que constituye el 45.8% del total, están casados. Además, se observa que 327 personas están divorciadas, lo que representa el 22.2%, mientras que el 32% restante son solteras. En este último grupo, se evidencia que el 26% de las personas rotan.

  1. Se espera que a mayor ingreso salarial es menor la rotación.
Datos_Rotacion$Ingreso_Mensual2=Datos_Rotacion$Ingreso_Mensual/1000
Datos_Rotacion$Ingreso_rango=cut(Datos_Rotacion$Ingreso_Mensual2,breaks = c(0,5,10,15,20))

# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Ingreso_rango, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre ingreso salarial y Rotación",
       x = "ingreso salarial",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
tabla_frecuencia <- table(Datos_Rotacion$Ingreso_rango, Datos_Rotacion$Rotación)

# Mostrar la tabla de frecuencia
print(tabla_frecuencia)
##          
##             0   1
##   (0,5]   586 163
##   (5,10]  391  49
##   (10,15] 128  20
##   (15,20] 128   5
# Calcular el número total de observaciones
total_observaciones <- sum(tabla_frecuencia)

# Calcular el porcentaje de participación
porcentaje_participacion <- (tabla_frecuencia / total_observaciones) * 100

Se observa que a medida que el salario disminuye, la tasa de rotación tiende a aumentar.

  1. Se espera que a mayor edad, menor rotación.
Datos_Rotacion$Edad_rango=cut(Datos_Rotacion$Edad,breaks = c(0,20,40,60))

# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Edad_rango, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Edad y Rotación",
       x = "Edad",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
tabla_frecuencia <- table(Datos_Rotacion$Edad_rango, Datos_Rotacion$Rotación)

# Mostrar la tabla de frecuencia
print(tabla_frecuencia)
##          
##             0   1
##   (0,20]   12  16
##   (20,40] 808 169
##   (40,60] 413  52
# Calcular el número total de observaciones
total_observaciones <- sum(tabla_frecuencia)

# Calcular el porcentaje de participación
porcentaje_participacion <- (tabla_frecuencia / total_observaciones) * 100

La población de menor edad tiende a presentar un mayor porcentaje de rotación.

  1. Se espera que a mayor años de experiencia, menor rotación.
Datos_Rotacion$Años_Experiencia_rango=cut(Datos_Rotacion$Años_Experiencia,breaks = c(0,5,10,15,20,25,30,35,40))


# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Años_Experiencia_rango, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Años_Experiencia y Rotación",
       x = "Años_Experiencia",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
tabla_frecuencia <- table(Datos_Rotacion$Años_Experiencia_rango, Datos_Rotacion$Rotación)

# Mostrar la tabla de frecuencia
print(tabla_frecuencia)
##          
##             0   1
##   (0,5]   219  86
##   (5,10]  516  91
##   (10,15] 167  24
##   (15,20] 134  15
##   (20,25] 100   9
##   (25,30]  50   2
##   (30,35]  30   3
##   (35,40]  11   2
# Calcular el número total de observaciones
total_observaciones <- sum(tabla_frecuencia)

# Calcular el porcentaje de participación
porcentaje_participacion <- (tabla_frecuencia / total_observaciones) * 100

Se observa una relación armónica entre la rotación y la experiencia laboral, donde los puntos de inflexión destacan en los extremos de la escala de experiencia. Dentro del contexto de la rotación, se destaca una mayor estabilidad entre los trabajadores con 25 a 30 años de experiencia.

2. Análisis univariado

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

mod1=glm(Rotación~Horas_Extra+Genero+Estado_Civil+Ingreso_rango+Edad_rango+
             Años_Experiencia_rango,data = Datos_Rotacion,family = "binomial")
summary(mod1)
## 
## Call:
## glm(formula = Rotación ~ Horas_Extra + Genero + Estado_Civil + 
##     Ingreso_rango + Edad_rango + Años_Experiencia_rango, family = "binomial", 
##     data = Datos_Rotacion)
## 
## Coefficients:
##                               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                   -1.11267    0.52988  -2.100  0.03574 *  
## Horas_ExtraSi                  1.47221    0.15893   9.263  < 2e-16 ***
## GeneroM                        0.25414    0.16156   1.573  0.11572    
## Estado_CivilDivorciado        -0.30211    0.22787  -1.326  0.18491    
## Estado_CivilSoltero            0.81795    0.17374   4.708  2.5e-06 ***
## Ingreso_rango(5,10]           -0.53463    0.21097  -2.534  0.01127 *  
## Ingreso_rango(10,15]          -0.07875    0.37698  -0.209  0.83453    
## Ingreso_rango(15,20]          -1.47623    0.66429  -2.222  0.02627 *  
## Edad_rango(20,40]             -0.82496    0.51912  -1.589  0.11202    
## Edad_rango(40,60]             -0.94472    0.55533  -1.701  0.08891 .  
## Años_Experiencia_rango(5,10]  -0.53603    0.20699  -2.590  0.00961 ** 
## Años_Experiencia_rango(10,15] -0.50208    0.30416  -1.651  0.09879 .  
## Años_Experiencia_rango(15,20] -1.03701    0.35323  -2.936  0.00333 ** 
## Años_Experiencia_rango(20,25] -0.72444    0.56659  -1.279  0.20104    
## Años_Experiencia_rango(25,30] -1.27088    0.87407  -1.454  0.14595    
## Años_Experiencia_rango(30,35] -0.63035    0.79550  -0.792  0.42813    
## Años_Experiencia_rango(35,40]  0.33407    0.96524   0.346  0.72927    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1278.2  on 1458  degrees of freedom
## Residual deviance: 1088.8  on 1442  degrees of freedom
##   (11 observations deleted due to missingness)
## AIC: 1122.8
## 
## Number of Fisher Scoring iterations: 6

Horas Extra (Horas_ExtraSi):

Un coeficiente positivo sugiere que los empleados que realizan horas extra tienen una mayor probabilidad de rotar en comparación con aquellos que no las realizan. Esto puede deberse a la carga de trabajo adicional y al agotamiento resultante, lo que puede llevar a una mayor rotación.

Género (GeneroM):

Aunque el coeficiente es positivo, no es estadísticamente significativo. Por lo que no hay suficiente evidencia para concluir que el género tiene un efecto significativo en la rotación.

Estado Civil (Estado_Civil):

Los empleados solteros tienen una mayor probabilidad de rotar en comparación con los casados. Esto puede estar relacionado con la movilidad laboral y la disposición a buscar nuevas oportunidades laborales entre los empleados solteros.

Los empleados divorciados tienen una probabilidad ligeramente menor de rotar en comparación con los casados, pero el coeficiente no es estadísticamente significativo.

Rango de Ingreso Mensual (Ingreso_rango):

Los coeficientes estimados para diferentes rangos de ingresos indican cómo la probabilidad de rotación varía con el ingreso mensual. Como en el rango de ingresos de 15 a 20 tienen una probabilidad significativamente menor de rotar en comparación con aquellos en el rango de ingresos de 0 a 5.

Rango de Edad (Edad_rango):

Los coeficientes estimados para diferentes rangos de edad indican cómo la probabilidad de rotación varía con la edad. Sin embargo, ninguno de los coeficientes de edad es estadísticamente significativo, quiere decir que la edad no tiene un efecto significativo en la rotación después de controlar otras variables.

Rango de Años de Experiencia (Años_Experiencia_rango):

Los coeficientes estimados para diferentes rangos de años de experiencia indican cómo la probabilidad de rotación varía con la experiencia laboral. Como con los empleados con 15 a 20 años de experiencia tienen una probabilidad significativamente menor de rotar en comparación con aquellos con menos experiencia.

3. Análisis bivariado

Realiza un análisis de bivariado en donde la variable respuesta sea rotacion codificada de la siguiente manera (y=1 es si rotación, y=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 hipotesis planteada en el punto 2.

Datos_Rotacion$Rotación <- factor(ifelse(Datos_Rotacion$Rotación == "Si", 1, 0))
head(Datos_Rotacion$Rotación)
## [1] 0 0 0 0 0 0
## Levels: 0
# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Cargo, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Cargo y Rotación",
       x = "Cargo",
       y = "Rotación") +
  theme_minimal()

# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Horas_Extra, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Horas_Extra y Rotación",
       x = "Cargo",
       y = "Horas_Extra") +
  theme_minimal()

# Calcular la tabla de frecuencia
freq_table <- table(Datos_Rotacion$Satisfación_Laboral, Datos_Rotacion$Rotación)

# Convertir la tabla de frecuencia en un dataframe
df <- as.data.frame.table(freq_table)

# Crear el gráfico utilizando ggplot2
ggplot(df, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "#9467bd", high = "#17becf", name = "Frecuencia", na.value = "white") + # Modificar los colores aquí
  labs(title = "Relación entre Satisfación_Laboral y Rotación",
       x = "Satisfación_Laboral",
       y = "Rotación") +
  theme_minimal()

library(ggplot2)

# Definir paleta de colores
colores <- c("#9467bd", "#ff7f0e")

# Crear los gráficos con ggplot2
graficoingreso <- ggplot(rotacion, aes(x = Rotación, y = Ingreso_Mensual, fill = Rotación)) +
  geom_boxplot() +
  scale_fill_manual(values = colores) +  # Asignar colores personalizados
  theme_bw()

graficoaumento <- ggplot(rotacion, aes(x = Rotación, y = Porcentaje_aumento_salarial, fill = Rotación)) +
  geom_boxplot() +
  scale_fill_manual(values = colores) +  # Asignar colores personalizados
  theme_bw()

graficoedad <- ggplot(rotacion, aes(x = Rotación, y = Edad, fill = Rotación)) +
  geom_boxplot() +
  scale_fill_manual(values = colores) +  # Asignar colores personalizados
  theme_bw()

# Imprimir los gráficos en el documento
print(graficoingreso)

print(graficoaumento)

print(graficoedad)

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 (y=1 es si rotación, y=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.

rotacion$Rotación <- factor(rotacion$Rotación, levels = c("No", "Si"))

rotacion$Satisfación_Laboral= factor(rotacion$Satisfación_Laboral)

modelo_rotacion_a=glm(Rotación~Ingreso_Mensual+Porcentaje_aumento_salarial+Edad+Cargo + Horas_Extra + Satisfación_Laboral,data = rotacion,family = binomial(link="logit"))

summary(modelo_rotacion_a)
## 
## Call:
## glm(formula = Rotación ~ Ingreso_Mensual + Porcentaje_aumento_salarial + 
##     Edad + Cargo + Horas_Extra + Satisfación_Laboral, family = binomial(link = "logit"), 
##     data = rotacion)
## 
## Coefficients:
##                                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                  -2.373e+00  1.067e+00  -2.225 0.026065 *  
## Ingreso_Mensual               1.152e-05  4.468e-05   0.258 0.796564    
## Porcentaje_aumento_salarial  -7.393e-03  2.143e-02  -0.345 0.730100    
## Edad                         -3.586e-02  1.036e-02  -3.462 0.000536 ***
## CargoDirector_Manofactura     1.006e+00  8.760e-01   1.148 0.251029    
## CargoEjecutivo_Ventas         2.083e+00  8.291e-01   2.513 0.011984 *  
## CargoGerente                  8.379e-01  8.643e-01   0.969 0.332318    
## CargoInvestigador_Cientifico  1.818e+00  9.135e-01   1.990 0.046641 *  
## CargoRecursos_Humanos         2.490e+00  9.425e-01   2.642 0.008249 ** 
## CargoRepresentante_Salud      1.030e+00  8.800e-01   1.171 0.241736    
## CargoRepresentante_Ventas     3.193e+00  9.431e-01   3.385 0.000711 ***
## CargoTecnico_Laboratorio      2.531e+00  9.110e-01   2.778 0.005463 ** 
## Horas_ExtraSi                 1.547e+00  1.603e-01   9.651  < 2e-16 ***
## Satisfación_Laboral2         -4.721e-01  2.351e-01  -2.008 0.044632 *  
## Satisfación_Laboral3         -4.534e-01  2.078e-01  -2.182 0.029139 *  
## Satisfación_Laboral4         -1.037e+00  2.210e-01  -4.693 2.69e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1298.6  on 1469  degrees of freedom
## Residual deviance: 1084.3  on 1454  degrees of freedom
## AIC: 1116.3
## 
## Number of Fisher Scoring iterations: 6
exp(modelo_rotacion_a$coefficients)
##                  (Intercept)              Ingreso_Mensual 
##                    0.0931681                    1.0000115 
##  Porcentaje_aumento_salarial                         Edad 
##                    0.9926347                    0.9647747 
##    CargoDirector_Manofactura        CargoEjecutivo_Ventas 
##                    2.7334008                    8.0301085 
##                 CargoGerente CargoInvestigador_Cientifico 
##                    2.3115790                    6.1564604 
##        CargoRecursos_Humanos     CargoRepresentante_Salud 
##                   12.0587539                    2.8015359 
##    CargoRepresentante_Ventas     CargoTecnico_Laboratorio 
##                   24.3496170                   12.5664959 
##                Horas_ExtraSi         Satisfación_Laboral2 
##                    4.6959034                    0.6237189 
##         Satisfación_Laboral3         Satisfación_Laboral4 
##                    0.6354541                    0.3544668

5. Evaluación

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

## Type 'citation("pROC")' for a citation.
## 
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
## 
##     cov, smooth, var
## 
## Call:
## glm(formula = Rotación ~ Edad + Cargo + Horas_Extra + Satisfación_Laboral, 
##     family = binomial(link = "logit"), data = rotacion)
## 
## Coefficients:
##                              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                  -2.33247    0.84720  -2.753 0.005903 ** 
## Edad                         -0.03519    0.00979  -3.594 0.000326 ***
## CargoDirector_Manofactura     0.90546    0.80036   1.131 0.257917    
## CargoEjecutivo_Ventas         1.98636    0.74355   2.671 0.007553 ** 
## CargoGerente                  0.84938    0.86313   0.984 0.325083    
## CargoInvestigador_Cientifico  1.67652    0.74975   2.236 0.025345 *  
## CargoRecursos_Humanos         2.36389    0.80964   2.920 0.003504 ** 
## CargoRepresentante_Salud      0.93771    0.80805   1.160 0.245860    
## CargoRepresentante_Ventas     3.04408    0.77467   3.930 8.51e-05 ***
## CargoTecnico_Laboratorio      2.39351    0.74723   3.203 0.001359 ** 
## Horas_ExtraSi                 1.54767    0.16020   9.661  < 2e-16 ***
## Satisfación_Laboral2         -0.47166    0.23494  -2.008 0.044691 *  
## Satisfación_Laboral3         -0.45080    0.20735  -2.174 0.029697 *  
## Satisfación_Laboral4         -1.03812    0.22091  -4.699 2.61e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1298.6  on 1469  degrees of freedom
## Residual deviance: 1084.5  on 1456  degrees of freedom
## AIC: 1112.5
## 
## Number of Fisher Scoring iterations: 6
## Setting levels: control = No, case = Si
## Setting direction: controls < cases

El análisis de la curva ROC muestra que el modelo tiene un área bajo la curva (AUC) del 78.01%, lo que indica que el modelo tiene una capacidad moderada para distinguir entre los que rotan y los que no. Esto quiere decir que las variables incluidas en el modelo son útiles para predecir la rotación del personal.

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).

27 años, Ejecutivo_Ventas, con horas extras y con satisfación laboral 2

##         1 
## 0.4451919

Según el modelo, un funcionario con las características descritas anteriormente tiene una probabilidad estimada del 44% de permanecer en su puesto sin rotar.

7. Conclusiones

En las conclusiones adicione una discució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).

En conclusión, el análisis detallado de los factores relacionados con la rotación de personal en la empresa revela la importancia de abordar varios aspectos clave para mejorar la retención de empleados y fortalecer la estabilidad organizacional. Los hallazgos destacan la necesidad de implementar estrategias específicas, como programas de desarrollo profesional dirigidos a empleados jóvenes, políticas de incentivos salariales alineadas con el desempeño, revisiones exhaustivas de las metas de ventas, iniciativas que promuevan un equilibrio saludable entre el trabajo y la vida personal, y la mejora de la política de pago de horas extras. Estas acciones no solo pueden reducir la rotación de personal, sino que también pueden aumentar la satisfacción laboral, el compromiso organizacional y el rendimiento general de la empresa. En última instancia, al adoptar un enfoque integral para abordar los desafíos relacionados con la rotación de personal, la empresa estará mejor posicionada para retener talentos clave, promover un ambiente laboral positivo y alcanzar sus objetivos comerciales a largo plazo.