#Introduccion
La retencion del personal es una parte importante de los esfuerzos que debe realizar el area de gestion humana de cualquier organizacion, ya que la desvinculacion representa costo, tiempo, perdidas en utilidades y sobre todo daños en la imagen organizacional. A continuacion se haran unas series de analisis para determinar cuales son las posibles causas que pueden afectar a la rotacion de personal, este entendido como un retiro voluntario por parte del trabajador.
#Actividad2
Paso 0:Cargar la base de datos correspondiente a analizar.
library(readxl)
Datos_R <- read_excel("C:/Users/Big Bang Data/OneDrive - Big Bang Data S.A.S/Escritorio/LC/Estadistica/YDRAY-Datos_Rotacion.xlsx",
na = "-")
View(Datos_R)
Paso 1: Seleccion de variables categoricas y cuantitativas.
Variables Categoricas:
*Cargo: Se espera que el cargo este relacionado con la rotacion de personal, ya que a veces por una mala planeacion de funciones puede existir una sobre carga laboral que puede llevar al colaborarador a un desgaste fisico y mental afectando asi su calidad de vida.
–Hipotesis: Se espera que las personas que se encuentran en determinado cargo tengan mayor probabilidad de rotar por una sobre carga laboral debido a una mala planeacion de funciones.
*Viaje de negocios: Se espera que las personas que viajan frecuentemente esten relacionadas con la rotacion de personal, debido a que aveces el tema de desplazamiento implica disponer de mas tiempo del requerido a trabajar en un solo lugar y esto puede generar descuidos en otros aspectos de la vida muy importantes como la familia.
–Hipotesis: Se espera que las personas que viajan frecuentemente tengan mayor probabilidad de rotar de las personas que no viajan.
*Horas Extras: Se espera que las horas extras esten relacionada con la rotacion de personal, ya que las personas podrian sufir un desgaste mayor al trabajar mas horas que las reglamentadas en el dia a dia y esto puede generar un descuido de otras areas de su vida.
–Hipotesis: Se espera que las personas que trabajan horas extras tengan mayor probabilidad de rotar de las que no trabajan horas extras.
*Satisfaccion laboral: Se espera que las personas que presentan una insatisfaccion laboral esten relacionadas con la rotacion de personal, ya que no se sienten motivadas para la realizacion de sus funciones a nivel laboral.
–Hipotesis: Se espera que las personas que presentan una insatisfaccion laboral tengan mayor probabilidad de rotar de las que se sienten satisfechas.
*Equilibrio trabajo vida: Se espera que las personas que perciben un bajo equilibrio entre su trabajo y su vida esten relacionado con la rotacion de personal, ya que pueden sentir que su tiempo se concentra en su parte laboral y no tienen espacio para sus actividad cotidianas de la vida personal.
–Hipotesis: Se espera que las personas que presentan un bajo equilibrio entre su trabajo y su vida tengan mayor probabilidad de rotar de las que presentan un pleno equilibrio.
Variables Cuantitativas
*Edad: Se espera que la edad este relacionada con la rotacion de personal, ya que a una edad mas joven se esta propenso a nuevas oportunidades laborales, a cambios sin importar los riesgos, como no pasaria con una persona de edad mas avanzada que prefiere tener equilibrio en su vida personal y profesional.
–Hipotesis: Se espera que las personas de edad mas joven tengan mayor probabilidad de rotar que las personas de edad mas avanzada.
*Ingreso_mensual: Se espera que el ingreso mensual este relacionado con la rotacion de personal, ya que si el trabajador percibe una baja remuneracion decidira buscar en otra organizacion una mejor compensacion salarial.
–Hipotesis: Se espera que las personas que perciban una baja remuneracion para su posicion laboral tengan mayor probabilidad de rotar.
*Trabajos anteriores: se espera que las personas que han tenido una gran cantidad de trabajos anteriores al que esta ejerciendo en este momento, este relacionado con la rotacion de personal, debido a que pueden ser personas que constantemente estan en busca de nuevas experiencias, de nuevos retos, crecer profesionalmente y mejorar sus condiciones laborales.
–Hipotesis: se espera que las personas que han tenido una gran cantidad de trabajos anteriores al que estan ejerciendo en este momento tengan mayor posibilidad.
Paso 2: Analisis univariado
–Variable: Cargo–
A continuacion se muestra un conteo de los cargos que estan en la compañia:
data=table(Datos_R$Cargo)
data
##
## Director_Investigación Director_Manofactura Ejecutivo_Ventas
## 80 145 326
## Gerente Investigador_Cientifico Recursos_Humanos
## 102 292 52
## Representante_Salud Representante_Ventas Tecnico_Laboratorio
## 131 83 259
Posteriormente se muestra en la frecuencia porcentual:
data_f=prop.table(table(Datos_R$Cargo))*100
data_f
##
## Director_Investigación Director_Manofactura Ejecutivo_Ventas
## 5.442177 9.863946 22.176871
## Gerente Investigador_Cientifico Recursos_Humanos
## 6.938776 19.863946 3.537415
## Representante_Salud Representante_Ventas Tecnico_Laboratorio
## 8.911565 5.646259 17.619048
Se incluye un grafico de barras para representar visualmente la informacion relacionada anteriormente:
Datos_R$Cargo=factor(Datos_R$Cargo,levels =c("Recursos_Humanos","Director_Investigación","Representante_Ventas","Gerente","Representante_Salud","Director_Manofactura","Tecnico_Laboratorio","Investigador_Cientifico", "Ejecutivo_Ventas"))
require(ggplot2)
require(plotly)
g1=ggplot(Datos_R,aes(y=Cargo))+geom_bar()+theme_bw()
ggplotly(g1)
De la anterior informacion se puede interpretar que los 3 primeros cargos en la empresa analizada con mas trabajadores y una concentracion del 60% son:
Ejecutivo de cuenta con un 22%. Investigador cientifico con un 20%. *Tecnico Laboratorio con un 18%.
–Variable: Viaje de Negocios–
A continuacion se muestra un conteo de las personas que viajan frecuentemente, raramente o que no viajan dentro de la compañia:
data1=table(Datos_R$`Viaje de Negocios`)
data1
##
## Frecuentemente No_Viaja Raramente
## 277 150 1043
Posteriormente se muestra en la frecuencia porcentual:
data1_f=prop.table(table(Datos_R$`Viaje de Negocios`))*100
data1_f
##
## Frecuentemente No_Viaja Raramente
## 18.84354 10.20408 70.95238
Se incluye un grafico de barras para representar visualmente la informacion relacionada anteriormente:
Datos_R$`Viaje de Negocios`=factor(Datos_R$`Viaje de Negocios`,levels =c("Raramente","Frecuentemente","No_Viaja"))
require(ggplot2)
require(plotly)
g2=ggplot(Datos_R,aes(x=`Viaje de Negocios`))+geom_bar()+theme_bw()
ggplotly(g2)
De la anterior informacion se puede interpretar que los viajes por negocios dentro de la compañia son:
Raramente con un 71%. Frecuentemente con un 19%. *No viaja con un 10%.
–Variable: Horas Extras–
A continuacion se muestra un conteo de las personas que realizan horas extras dentro de la compañia:
data2=table(Datos_R$Horas_Extra)
data2
##
## No Si
## 1054 416
Posteriormente se muestra en la frecuencia porcentual:
data2_f=prop.table(table(Datos_R$Horas_Extra))*100
data2_f
##
## No Si
## 71.70068 28.29932
Se incluye un grafico de barras para representar visualmente la informacion relacionada anteriormente:
require(ggplot2)
require(plotly)
g3=ggplot(Datos_R,aes(x=Horas_Extra))+geom_bar()+theme_bw()
ggplotly(g3)
De la anterior informacion se puede interpretar si se realizan horas extras dentro de la compañia:
NO realizan horas extras con un 72%. SI realizan horas extras con un 28%.
–Variable: Satisfaccion laboral–
A continuacion se muestra un conteo de como se percibe la satisfaccion laboral dentro de la compañia, siendo 1 “Muy Insatisfecho” y 4 “Muy Satisfecho”:
data3=table(Datos_R$Satisfación_Laboral)
data3
##
## 1 2 3 4
## 289 280 442 459
Posteriormente se muestra en la frecuencia porcentual:
data3_f=prop.table(table(Datos_R$Satisfación_Laboral))*100
data3_f
##
## 1 2 3 4
## 19.65986 19.04762 30.06803 31.22449
Se incluye un grafico de barras para representar visualmente la informacion relacionada anteriormente:
require(ggplot2)
require(plotly)
g4=ggplot(Datos_R,aes(x=Satisfación_Laboral))+geom_bar()+theme_bw()
ggplotly(g4)
De la anterior informacion se puede interpretar que la satisfaccion laboral se encuentra representada de la siguiente manera
Muy Satisfecho con un 31%. Satisfecho con un 30%. Muy Insatisfecho con un 20% Insatisfecho con un 19%.
–Variable:Equilibrio trabajo vida–
A continuacion se muestra un conteo de como se percibe el equilibrio entre el trabajo y la vida dentro de la compañia, siendo 1 “Sin equilibrio entre el trabajo y la vida” y 4 “Completo equilibrio entre el trabajo y la vida”:
data4=table(Datos_R$Equilibrio_Trabajo_Vida)
data4
##
## 1 2 3 4
## 80 344 893 153
Posteriormente se muestra en la frecuencia porcentual:
data4_f=prop.table(table(Datos_R$Equilibrio_Trabajo_Vida))*100
data4_f
##
## 1 2 3 4
## 5.442177 23.401361 60.748299 10.408163
Se incluye un grafico de barras para representar visualmente la informacion relacionada anteriormente:
require(ggplot2)
require(plotly)
g5=ggplot(Datos_R,aes(x=Equilibrio_Trabajo_Vida))+geom_bar()+theme_bw()
ggplotly(g5)
De la anterior informacion se puede interpretar que el equilibrio entre el trabajo y la vida es percibido de la siguiente manera
Con algo de equilibrio entre el trabajo y la vida con un 61%. con muy poco equilibrio entre el trabajo y la vida con un 23%. Con completo equilibrio entre el trabajo y la vida con un 10% Sin equilibrio entre el trabajo y la vida con un 6%.
–Variable: Edad–
A continuacion se muestra un top 5 de las edades que mas tienen los trabajadores dentro de la compañia, esta informacion es presentada en frecuencia porcentual:
data_table= prop.table(table(Datos_R$Edad))*100
head(sort(data_table, decreasing =TRUE))
##
## 35 34 31 36 29 32
## 5.306122 5.238095 4.693878 4.693878 4.625850 4.149660
Posteriormente se muestra un resumen de la informacion contenida en esta variable:
promedio=mean(Datos_R$Edad)
mediana=median(Datos_R$Edad)
minimo=min(Datos_R$Edad)
maximo=max(Datos_R$Edad)
data5=data.frame(promedio,mediana,minimo,maximo)
data5
| promedio | mediana | minimo | maximo |
|---|---|---|---|
| 36.92381 | 36 | 18 | 60 |
Se incluye un grafico de histograma para representar visualmente la informacion relacionada anteriormente:
require(ggplot2)
require(plotly)
g6=ggplot(Datos_R,aes(x=Edad))+geom_histogram()+theme_bw()
ggplotly(g6)
De la anterior informacion se puede interpretar que:
La edad promedio de los trabajadores es del 37 años. La edad minima de los trabajadores es de 18 años. *La edad maxima de los trabajadores es de 60 años.
–Variable: Ingreso_mensual–
A continuacion se muestra un resumen de la informacion contenida en esta variable:
promedio1=mean(Datos_R$Ingreso_Mensual)
mediana1=median(Datos_R$Ingreso_Mensual)
minimo1=min(Datos_R$Ingreso_Mensual)
maximo1=max(Datos_R$Ingreso_Mensual)
data6=data.frame(promedio1,mediana1,minimo1,maximo1)
data6
| promedio1 | mediana1 | minimo1 | maximo1 |
|---|---|---|---|
| 6502.931 | 4919 | 1009 | 19999 |
Se incluye un grafico de histograma para representar visualmente la informacion relacionada anteriormente:
require(ggplot2)
require(plotly)
g7=ggplot(Datos_R,aes(x=Ingreso_Mensual))+geom_histogram()+theme_bw()
ggplotly(g7)
De la anterior informacion se puede interpretar que:
El ingreso promedio de los trabajadores es 6.5M. El ingreso minimo de los trabajadores es de 1M. El ingreso maximo de los trabajadores es de 19.9M. La mediana esta en 4.9M.
–Variable: Trabajos anteriores–
A continuacion se muestra un top 5 de la cantidad de trabajos que han tenido los colaboradores antes de llegar a la compañia, esta informacion es presentada en frecuencia porcentual:
data_table1= prop.table(table(Datos_R$Trabajos_Anteriores))*100
head(sort(data_table1, decreasing =TRUE))
##
## 1 0 3 2 4 7
## 35.442177 13.401361 10.816327 9.931973 9.455782 5.034014
A continuacion se muestra un resumen de la informacion contenida en esta variable:
promedio2=mean(Datos_R$Trabajos_Anteriores)
mediana2=median(Datos_R$Trabajos_Anteriores)
minimo2=min(Datos_R$Trabajos_Anteriores)
maximo2=max(Datos_R$Trabajos_Anteriores)
data7=data.frame(promedio2,mediana2,minimo2,maximo2)
data7
| promedio2 | mediana2 | minimo2 | maximo2 |
|---|---|---|---|
| 2.693197 | 2 | 0 | 9 |
Se incluye un grafico de histograma para representar visualmente la informacion relacionada anteriormente:
require(ggplot2)
require(plotly)
g8=ggplot(Datos_R,aes(x=Trabajos_Anteriores))+geom_bar()+theme_bw()
ggplotly(g8)
De la anterior informacion se puede interpretar que:
*En promedio los colaboradores han tenido 3 trabajos antes de laborar en la compañia actual.
*El maximo de trabajos que han tenido los colaboradores antes de laborar en la compañia actual, ha sido de 9.
*El minimo de trabajos que han tenido los colaboradores antes de laborar en la compañia actual, ha sido de 0.
Paso 3: Analisis Bivariado
–Variable: Rotacion y Cargo–
A continuacion se muestra un resumen al comparar las dos variables, esta informacion es presentada en frecuencia porcentual:
Datos_R$Cargo=factor(Datos_R$Cargo,levels =c("Representante_Ventas","Tecnico_Laboratorio","Recursos_Humanos","Ejecutivo_Ventas", "Investigador_Cientifico", "Director_Manofactura","Representante_Salud","Gerente", "Director_Investigación"))
table1=table(Datos_R$Cargo,Datos_R$Rotación)
table1_f=prop.table(table1,margin=1) *100
table1_f
##
## No Si
## Representante_Ventas 60.240964 39.759036
## Tecnico_Laboratorio 76.061776 23.938224
## Recursos_Humanos 76.923077 23.076923
## Ejecutivo_Ventas 82.515337 17.484663
## Investigador_Cientifico 83.904110 16.095890
## Director_Manofactura 93.103448 6.896552
## Representante_Salud 93.129771 6.870229
## Gerente 95.098039 4.901961
## Director_Investigación 97.500000 2.500000
Se incluye un grafico para representar visualmente la informacion relacionada anteriormente:
require(CGPfunctions)
g9=PlotXTabs(Datos_R,Rotación, Cargo, plottype = "percent")
De la anterior informacion se puede interpretar que:
El cargo de Representante de ventas tiene una rotacion del 40%. El cargo de Tecnico de laboratorio tiene una rotacion del 24%. El cargo de Recursos humanos tiene una rotacion del 23%. El cargo de Ejecutivo de ventas tiene una rotacion del 17%. *El cargo de Investigador cientifico tiene una rotacion del 16%.
–Variable: Rotacion y Viaje de Negocios–
A continuacion se muestra un resumen al comparar las dos variables, esta informacion es presentada en frecuencia porcentual:
Datos_R$`Viaje de Negocios`=factor(Datos_R$`Viaje de Negocios`,levels =c("Frecuentemente","Raramente","No_Viaja"))
table2=table(Datos_R$`Viaje de Negocios`,Datos_R$Rotación)
table2_f=prop.table(table2,margin=1) *100
table2_f
##
## No Si
## Frecuentemente 75.09025 24.90975
## Raramente 85.04314 14.95686
## No_Viaja 92.00000 8.00000
Se incluye un grafico para representar visualmente la informacion relacionada anteriormente:
require(CGPfunctions)
g10=PlotXTabs2(Datos_R, `Viaje de Negocios`,Rotación,plottype = "percent")
g10
De la anterior informacion se puede interpretar que:
*Las personas que viajan frecuentemente tienen una rotacion del 25%.
–Variable: Rotacion y Horas Extras–
A continuacion se muestra un resumen al comparar las dos variables, esta informacion es presentada en frecuencia porcentual:
Datos_R$Horas_Extra=factor(Datos_R$Horas_Extra,levels =c("Si","No"))
table3=table(Datos_R$Horas_Extra ,Datos_R$Rotación)
table3_f=prop.table(table3,margin=1) *100
table3_f
##
## No Si
## Si 69.47115 30.52885
## No 89.56357 10.43643
Se incluye un grafico para representar visualmente la informacion relacionada anteriormente:
require(CGPfunctions)
g11=PlotXTabs2(Datos_R, Horas_Extra,Rotación,plottype = "percent")
g11
De la anterior informacion se puede interpretar que:
*Las personas que hacen horas extras tienen una rotacion del 31%.
–Variable: Rotacion y Satisfaccion laboral–
A continuacion se muestra un resumen al comparar las dos variables, esta informacion es presentada en frecuencia porcentual:
table4=table(Datos_R$Satisfación_Laboral ,Datos_R$Rotación)
table4_f=prop.table(table4,margin=1) *100
table4_f
##
## No Si
## 1 77.16263 22.83737
## 2 83.57143 16.42857
## 3 83.48416 16.51584
## 4 88.67102 11.32898
Se incluye un grafico para representar visualmente la informacion relacionada anteriormente:
require(CGPfunctions)
g12=PlotXTabs2(Datos_R, Satisfación_Laboral,Rotación,plottype = "percent")
g12
De la anterior informacion se puede interpretar que:
*Las personas que se sienten muy insatisfechas laboralmente tienen una rotacion del 23%.
–Variable: Rotacion y Equilibrio trabajo vida–
A continuacion se muestra un resumen al comparar las dos variables, esta informacion es presentada en frecuencia porcentual:
table5=table(Datos_R$Equilibrio_Trabajo_Vida ,Datos_R$Rotación)
table5_f=prop.table(table5,margin=1) *100
table5_f
##
## No Si
## 1 68.75000 31.25000
## 2 83.13953 16.86047
## 3 85.77828 14.22172
## 4 82.35294 17.64706
Se incluye un grafico para representar visualmente la informacion relacionada anteriormente:
require(CGPfunctions)
g13=PlotXTabs2(Datos_R, Equilibrio_Trabajo_Vida,Rotación,plottype = "percent")
g13
De la anterior informacion se puede interpretar que:
*Las personas que NO perciben un equilibrio entre el trabajo y la vida tienen una rotacion del 31%.
–Variable: Rotacion y Edad–
A continuacion se incluye un grafico para representar visualmente la informacion relacionada a las dos variables:
require(plotly)
g14=ggplot(Datos_R,aes(x=Rotación,y=Edad,fill=Rotación))+geom_boxplot()+theme_bw()
ggplotly(g14)
De la anterior informacion se puede interpretar que:
*Las personas mas jovenes tienen mayor probabilidad de rotar, siendo la mediana de 32 años.
–Variable: Rotacion e Ingreso Mensual–
A continuacion se incluye un grafico para representar visualmente la informacion relacionada a las dos variables:
require(plotly)
g15=ggplot(Datos_R,aes(x=Rotación,y=Ingreso_Mensual,fill=Rotación))+geom_boxplot()+theme_bw()
ggplotly(g15)
De la anterior informacion se puede interpretar que:
*La mediana de los ingresos de las personas que rotan esta sobre 3.2M y de las personas que no rotan esta en 5.2M, presentandose una diferencia del 60% aproximadamente entre estos dos tipos de sueldos.
Paso 4:Conclusiones
Como se vio anteriormente hay muchos factores que inciden a que un trabajador tome la decision de abandonar la compañia, entre ellos esta el no sentir un equilibrio entre el trabajo y la vida laboral, el tener que hacer continuamente horas extras , el tener que viajar frecuentemente para cumplir compromisos laborales, los bajos ingresos que se perciben en algunos cargos y la insatisfaccion laboral que se puede vivir.
Se plantean la siguientes estrategias como medida para contrarestar la rotacion voluntaria de personal y poder brindar al trabajador una mejor experiencia laboral:
*Es importante en el proceso de induccion que se le realice al colaborador, presentarle de manera clara y oportuna cuales son las funciones y necesidades que tiene su cargo, esto con el fin de que el colaborador tenga un entendimiento de cual sera su rol dentro de la compañia.
*Adecuar espacios para evaluar como ha sido la experiencia del colaborador dentro de la empresa, para que él desde su diario vivir pueda retroalimentar al area de gestion humana en las oportunidades de mejora que se puedan presentar y asi poder trabajar en ellas.
*Fortalecer estrategias para brindar flexibilidad horaria para que el colaborador pueda conciliar la parte laboral y la parte personal, esto sin afectar las labores del mismo.
*Realizar continuas charlas para reforzar el clima laboral, donde se fomente el trabajo en equipo, la motivacion para cada empleado y la comunicacion interna.
*Hacer una revision de la escala salarial que esta en este momento en la empresa y hacer un ajuste si es necesario a los empleados que perteneciendo a un mismo cargo tienen diferencias de sueldo considerable, ya que esto se puede percibir como desigualdad por parte del colaborador generando insatisfaccion.
*Otorgar reconocimientos a los trabajadores por la excelencia en su trabajo
*Crear oportunidades de crecimiento dentro de la compañia a traves de planes de carrera, donde se le ofrezca al colaborador la oportunidad de ascender.