datos <- read.xlsx("https://github.com/depinedo/metodos_estadisticos/blob/main/YDRAY-Datos_Rotacio%CC%81n.xlsx?raw=true")
datos %>% 
  glimpse()
## 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, …
datos <- datos %>% 
  mutate(Rendimiento_Laboral = factor(Rendimiento_Laboral, levels = c(1, 2, 3, 4)))

Punto 1.

Seleccionar 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que consideren estén relacionadas con la rotación. Nota: Justificar por que estas variables están relacionadas y que tipo de relación se espera (Hipótesis). Ejemplo: Se espera que las horas extra se relacionen con la rotación ya que las personas podrían desgastarse mas al trabajar horas extra y descuidan aspectos personales. La hipótesis es que las personas que trabajan horas extra tienen mayor posibilidad de rotar que las que no trabajan extra. (serian 6, una por variable).

Desarrollo:

  1. Variables Categóricas:
  • Viaje de negocios.
  • Estado Civil.
  • Rendimiento Laboral.
  1. Variables cuantitativas:
  • Edad.
  • Ingreso Mensual.
  • Antigüedad Cargo

Planteamiento de hipótesis

  1. Se espera que la obligación de realizar viajes de negocios y la frecuencia se relacionen con la rotación, puesto los viajes pueden implicar menos tiempo en familia y más desgaste. La hipótesis es que las personas que tienen mayor frecuencia de viajes de negocios tienen mayor probabilidad de rotar que las que tienen menor frecuencia de viaje.

  2. Se espera que el estado civil se relacione con la rotación pues el estar casado, soltero o divorciado puede alterar el riesgo que una persona puede asumir frente al cambio de trabajo debido a la responsabilidad familiar. La hipótesis es que las personas que están solteras tienen mayor probabilidad de rotar que las que tienen un estado civil diferente.

  3. Se espera que el nivel de rendimiento laboral esté relacionado con la rotación pues este puede ser reflejo de la competencia y conformidad del empleado con su trabajo, lo que puede llevar a decidir retirarse o permanecer en su puesto. La hipótesis es que las personas que tienen mayor rendimiento laboral tienen menos probabilidad de rotación que aquellos con menor rendimiento.

  4. Se espera que la edad esté relacionada con la rotación puesto que a medida que las personas envejecen tienen más dificultad para encontrar otros empleos por lo que puede afectar su intención de rotar. La hipótesis es que las personas a medida que aumentan en edad, su probabilidad de rotar disminuye.

  5. Se espera que el Ingreso Mensual esté relacionado con la rotación pues el tener un cierto nivel de ingreso puede ser incentivo para permanecer o querer irse de un puesto de trabajo. La hipótesis es que las personas con mayor nivel de ingresos tienen menos probabilidad de rotar que aquellas con menos nivel de ingresos.

  6. Se espera que la Antiguedad en el Cargo esté relacionada con la rotación pues esta puede ser reflejo de un estancamiento en la posición llevando a inconformidad por parte del empleado. La hipótesis es que las personas con más antiguedad en el cargo tienen mayor probabilidad de rotación que las de menos antiguedad.

Punto 2.

Realizar un análisis univariado (caracterización). Nota: Los indicadores o gráficos se usan dependiendo del tipo de variable (cuanti o cuali). Incluir interpretaciones de la rotación.

Desarrollo:

  1. Empezamos observando la distribución proporcional de cada una de las variables escogidas.
library(patchwork)
p1 <- datos %>% 
  ggplot(aes(Viaje.de.Negocios)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  theme(axis.text.x = element_text(angle = 15, hjust = 1)) +
  labs(x = "Viaje de Negocios", y = "Proporción")
p2 <- datos %>% 
  ggplot(aes(Estado_Civil)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  labs(x = "Estado Civil", y = "")
p3 <- datos %>% 
  ggplot(aes(Rendimiento_Laboral)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  labs(y = "")
p4 <- datos %>% 
  ggplot(aes(Edad)) +
  geom_histogram(aes(y = ..density..), binwidth = 5) +
  labs(y = "Densidad")
p5 <- datos %>% 
  ggplot(aes(Ingreso_Mensual)) +
  geom_histogram(aes(y = ..density..), binwidth = 2000) +
  labs(y = "")
p6 <- datos %>% 
  ggplot(aes(Antigüedad_Cargo)) +
  geom_histogram(aes(y = ..density..), binwidth = 1) +
  labs(y = "")

p1 + p2 + p3 + p4 + p5 + p6

Se observa que la mayoría de los empleados (70% aprox.) viajan raramente; aproximadamente el 45% de los empleados están casados y el 30% están solteros; la mayoría de empleados tiene un rendimiento de 3 (85% aprox.); la mayoría de los empleados se encuentra en el rango entre 30 y 40 años; la mayor parte de los empleados tiene un ingreso inferior a las 7,000 unidades monetarias; el 25% del personal tiene 2 años de antiguedad en su cargo, el 15% tiene 7 años de antiguedad en su cargo y el 17% tiene menos de un año de antiguedad en el cargo.

datos %>% 
  ggplot(aes(Rotación)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  labs(y = "Proporción")

Se observa que hay una relativamente baja rotación de empleados, correspondiente a menos del 20% del personal.

Punto 3.

Realizar un análisis bivariado (siempre contra la rotación). Nota: Los indicadores y gráficos se usan dependiendo del tipo de variable (cuanti VS cuali, cuali VS cuali). Comparar los resultados con la hipótesis planteada inicialmente y determinar si los datos apoyan o no la hipótesis.

Desarrollo:

p_viajes <- datos %>% 
  ggplot(aes(Viaje.de.Negocios, fill = Rotación)) +
  geom_bar(position = "dodge") +
  labs(y = "Cantidad") +
  theme(axis.text.x = element_text(angle = 15, hjust = 1))
p_viajes_prop <- datos %>% 
  ggplot(aes(Viaje.de.Negocios, fill = Rotación)) +
  geom_bar(aes(y = ..count..), position = "fill") +
  labs(y = "Proporcion") +
  theme(axis.text.x = element_text(angle = 15, hjust = 1))
  

p_viajes + p_viajes_prop

Se observa que los empleados que la mayor parte de empleados que rotan raramente viajan, no obstante la mayor parte de los empleados que no rotan también pertenecen a los que raramente viajan. Ahora bien, cuando analizamos las categorías proporcionalmente observamos que el grupo que más rotación tiene es el de los que viajan frecuentemente con 25% de rotación, seguido por los que raramente viajan y por último los que no viajan. Por tanto, se apoya la hipótesis de que los que más viajan tienen más probabilidad de rotar.

p_civil <- datos %>% 
  ggplot(aes(Estado_Civil, fill = Rotación)) +
  geom_bar(position = "dodge") +
  labs(y = "Cantidad") +
  theme(axis.text.x = element_text(angle = 15, hjust = 1))

p_civil_prop <- datos %>% 
  ggplot(aes(Estado_Civil, fill = Rotación)) +
  geom_bar(aes(y = ..count..), position = "fill") +
  labs(y = "Proporcion") +
  theme(axis.text.x = element_text(angle = 15, hjust = 1))
  
p_civil + p_civil_prop

Se observa que a pesar de que los casados representan la mayor cantidad de empleados, los solteros representan la mayor cantidad de rotaciones así como también cuentan con la mayor proporción de rotación como categoría (25% aproximadamente). Lo cual apoya la hipótesis planteada de que las personas que están solteras tienen mayor probabilidad de rotar que las que tienen un estado civil diferente

p_rendimiento <- datos %>% 
  ggplot(aes(Rendimiento_Laboral, fill = Rotación)) +
  geom_bar(position = "dodge") +
  labs(y = "Cantidad") +
  theme(axis.text.x = element_text(angle = 15, hjust = 1))

p_rendimiento_prop <- datos %>% 
  ggplot(aes(Rendimiento_Laboral, fill = Rotación)) +
  geom_bar(aes(y = ..count..), position = "fill") +
  labs(y = "Proporcion") +
  theme(axis.text.x = element_text(angle = 15, hjust = 1))
  
p_rendimiento + p_rendimiento_prop

A pesar de que el mayor número de empleados que rotan tienen un rendimiento laboral de 3, al hacer el análisis proporcional no se encuentran diferencias en la proporción de rotación entre los distintos niveles de rendimiento, lo cual no apoya la hipótesis planteada de que las personas que tienen mayor rendimiento laboral tienen menos probabilidad de rotación que aquellos con menor rendimiento.

p_edad <- datos %>% 
  ggplot(aes(Rotación, Edad, fill = Rotación)) +
  geom_boxplot() +
  geom_jitter(alpha = 0.1) +
  guides(fill = "none")
  
ggplotly(p_edad)

Se observa que los individuos que no rotan tienen una edad mediana de 36 años, mientras que los que sí rotan cuentan con una edad mediana de 32 años. Lo cual no apoya la hipótesis planteada de que las personas a medida que aumentan en edad, su probabilidad de rotar disminuye.

p_ingreso <- datos %>% 
  ggplot(aes(Rotación, Ingreso_Mensual, fill = Rotación)) +
  geom_boxplot() +
  geom_jitter(alpha = 0.1) +
  guides(fill = "none")
  
ggplotly(p_ingreso)

Se observa que los empleados que no rotan tienen un ingreso mediano de 5,204 unidades monetarias mesuales, superior al ingreso mediano de los que rotan el cual se encuentra en 3,202 unidades mensuales. Lo cual apoya la hipótesis planteada de que las personas con mayor nivel de ingresos tienen menos probabilidad de rotar que aquellas con menos nivel de ingresos.

p_ant_cargo <- datos %>% 
  ggplot(aes(Rotación, Antigüedad_Cargo, fill = Rotación)) +
  geom_boxplot() +
  geom_jitter(alpha = 0.1) +
  guides(fill = "none")
  
ggplotly(p_ant_cargo)

Se observa que los empleados que no rotan tienen una antiguedad en el cargo mediana de 3 años, mientras que los que rotan tienen una antiguedad mediana de 2 años. Lo cual no apoya la hipótesis planteada de que las personas con más antiguedad en el cargo tienen mayor probabilidad de rotación que las de menos antiguedad.

Punto 4.

En las conclusiones se discute sobre cual seria la estrategia para disminuir la rotación en la empresa. Ejemplo: Mejorar el ambiente laboral, los incentivos económicos, distribuir la carga de horas extra (menos turnos y mas personal).

Desarrollo:

La estrategia para disminuir la rotación de la empresa teniendo en cuenta los datos analizados consituiría un conjunto de medidas como las siguientes:

  1. Disminuir al mínimo posible los viajes de los empleados.
  2. Procurar contratar, frente a candidatos con competencias similares a los que tengan un poco más de edad.
  3. Realizar un estudio de cargas salariales para ajustar los ingresos de los empleados con alta probabilidad de rotar (jóvenes, solteros, alta frecuencia de viajes).
  4. Crear un programa de incentivos no salariales (integraciones, bonos, cumpleaños libre) para los empleados, con el fin de reducir la probabilidad de rotación de los que llevan poco tiempo en su cargo.