ROTACIÓN DE PERSONAL

Jhonathan correa Valencia

PUNTO 1

Elección de las variables categóricas y cuantitativas

A continuación se escogera tres variables categóricas y tres variables cuantitativas para el desarrollo del ejercicio:

Variables Categóricas

Cargo

Estado_Civil

Equilibrio_Trabajo_Vida

Variables Cuantitativas

Ingreso_Mensual

Trabajos_Anteriores

Antigüedad_Cargo

library(readxl)
Rotacion <- read_excel("C:/Users/pocho/Desktop/Datos_Rotacion.xlsx")
est_var = Rotacion [c(10, 12, 13, 14, 20, 22, 1)]
names(est_var)
## [1] "Cargo"                   "Estado_Civil"           
## [3] "Ingreso_Mensual"         "Trabajos_Anteriores"    
## [5] "Equilibrio_Trabajo_Vida" "Antigüedad_Cargo"       
## [7] "Rotacion"
head(est_var)
## # A tibble: 6 x 7
##   Cargo           Estado_Civil Ingreso_Mensual Trabajos_Anteri~ Equilibrio_Trab~
##   <chr>           <chr>                  <dbl>            <dbl>            <dbl>
## 1 Ejecutivo_Vent~ Soltero                 5993                8                1
## 2 Investigador_C~ Casado                  5130                1                3
## 3 Tecnico_Labora~ Soltero                 2090                6                3
## 4 Investigador_C~ Casado                  2909                1                3
## 5 Tecnico_Labora~ Casado                  3468                9                3
## 6 Tecnico_Labora~ Soltero                 3068                0                2
## # ... with 2 more variables: Antigüedad_Cargo <dbl>, Rotacion <chr>

Justificación de Variables Categóricas que influyen en la rotación y su hipótesis:

Cargo: El cargo puede estar relacionado con la rotación ya que, el nivel de cargo que tengan los trabajadores influtyan en querer encontrar otros empleos con otros perfiles y responsabilidades y el puesto actual no influya mucho en su deseo de quedarse en l puesto actual. La hipótesis propuesta:las personas con determinados cargo tienen a rotar más en la organización.

Estado_Civil: La situación familiar o sentimental puede incidir en la decisión de estar en una empresa o de estar en otra que ofrezca arandelas que benefician a los integrantes de la familia o a la interacción que pueda tener en colaborador con su trabajo y familia. La hipótesis propuesta:hay estados civiles propensos a presentar rotación.

Equilibrio_Trabajo_Vida: En la motivación laboral y la decision de permanecer en una organiación tiene gran injerencia el equilibrio que pueda tener un colaborador con respecto a su vida personal y su trabajo, que no lo absorba completamente pero pueda desarrolar sus competencias y habilidades técnicas. La hipótesis propuesta: entre menor sea el equilibrio mayor la rotación de personal.

Variables cuantitativas que influyen en la rotación y su hipótesis:

Ingreso_Mensual: Dependiendo el nivel delc argo y responsabilidad del colaborador es probable que busque organizaciones que puedan ofrecerle un mayor salario. La hipótesis propuesta:los ingresos mensuales menores pueden tener indicencia a la rotación.

Trabajos_Anteriores: Puede darse una tendencia de cambiar de empleo si en el historial laboral de la persona presenta una alta cantidad de empleos anteriores, puede interpretarse que la persona no cuenta con mayor estabilidad laboral. La hipótesis propuesta: entre mayor sea la cantidad de trabajos anteriores puede tener tendendencia a rotar en el puesto actual.

Antigüedad_Cargo: Las personas a medida que pasa el tiempo llegan a un estancamiento laboral y dominio de sus funciones lo que puede promover en ellos una búsqueda de nuevas experiencias en el mercado laboral. La hipótesis propuesta: entre mayor sea el tiempo en el puesto actual mas probabilidad hay que el colaborador rote.

Punto 2

Analisis Univariado de cada una de las variables

Cargo

  1. Los cargos Ejecutivo_Ventas, Investigador_Cientifico y Tecnico_Laboratorio conforman casi el 60% de las personas presentes en la base de datos de rotación
require(ggplot2)
require(ggpubr)
require(scales)
require(plotly)
est_var <- data.frame(est_var)
tf1 =data.frame(sort(table(est_var$Cargo),decreasing = TRUE))
d1=data.frame(percent(tf1$Freq/length(est_var$Cargo)/1))
d2=data.frame(tf1,d1)
colnames(d2)= c("Cargo", "Frecuencia", "Porcentaje")
head(d2,9)
##                     Cargo Frecuencia Porcentaje
## 1        Ejecutivo_Ventas        326     22.18%
## 2 Investigador_Cientifico        292     19.86%
## 3     Tecnico_Laboratorio        259     17.62%
## 4    Director_Manofactura        145      9.86%
## 5     Representante_Salud        131      8.91%
## 6                 Gerente        102      6.94%
## 7    Representante_Ventas         83      5.65%
## 8  Director_Investigación         80      5.44%
## 9        Recursos_Humanos         52      3.54%
g1=ggplot(d2,aes(y=Cargo,x=Frecuencia))+geom_bar(stat="identity", fill="Gray") +geom_text(aes(label=Frecuencia),hjust=0.1) + theme_bw()+ggtitle("Cargos en la compañia")
ggplotly(g1)

Estado_civil

  1. Casi la mitad de los colaboradores son casados (45,8%) en la base de datos de rotación
require(ggplot2)
require(ggpubr)
require(scales)
tf2 =data.frame(sort(table(est_var$Estado_Civil),decreasing = TRUE))
d3=data.frame(percent(tf2$Freq/length(est_var$Estado_Civil)/1))
d4=data.frame(tf2,d3)
colnames(d4)= c("Estado_Civil", "Frecuencia", "Porcentaje")
head(d4,9)
##   Estado_Civil Frecuencia Porcentaje
## 1       Casado        673      45.8%
## 2      Soltero        470      32.0%
## 3   Divorciado        327      22.2%
ggplot(d4,aes(x="",y=Frecuencia,fill=Estado_Civil))+geom_bar(stat="identity", color="white")+geom_text(aes(label=Porcentaje),position=position_stack(vjust=0.5),color="white",size=6)+coord_polar(theta="y")+ theme_cleveland()+ggtitle("Estado civil")

Equilibrio_Trabajo_Vida

Ya que este valor es un valor nominal, se creó la siguiente escala likert para poder interpretar los datos

u1=matrix(1:4,nrow = 4, ncol=1)
u2=matrix(c("Muy Bajo","Bajo","Medio","Alto"),nrow = 4, ncol=1)
likert=data.frame(u1,u2)
names(likert)[1:2]=c("Escala", "Descripción")
likert
##   Escala Descripción
## 1      1    Muy Bajo
## 2      2        Bajo
## 3      3       Medio
## 4      4        Alto
  1. La mayor parte de los colaboradores (60%) piensan que hay medianamente equilibrio entre la vida laboral y la vida personal.
require(ggplot2)
require(ggpubr)
require(scales)
require(plotly)
tf3 =data.frame(sort(table(est_var$Equilibrio_Trabajo_Vida),decreasing = TRUE))
pos=match(tf3$Var1,likert$Escala)
tf3$Var1=likert$Descripción[pos]
d5=data.frame(percent(tf3$Freq/length(est_var$Equilibrio_Trabajo_Vida)/1))
d6=data.frame(tf3,d5)
colnames(d6)= c("Equilibrio_Trabajo_Vida", "Frecuencia", "Porcentaje")
head(d6,9)
##   Equilibrio_Trabajo_Vida Frecuencia Porcentaje
## 1                   Medio        893      60.7%
## 2                    Bajo        344      23.4%
## 3                    Alto        153      10.4%
## 4                Muy Bajo         80       5.4%
g3=ggplot(d6,aes(x="",y=Frecuencia,fill=Equilibrio_Trabajo_Vida))+geom_bar(stat="identity", color="white")+geom_text(aes(label=Porcentaje),position=position_stack(vjust=0.5),color="white",size=3)+theme_cleveland()+ggtitle("Equilibrio_Trabajo_Vida")
ggplotly(g3)

Ahora, daremos paso a las variables cuantitativas y para ello utilizaremos una función de nos calcule el mínimo, máximo, promedio, desviación estandar y mediana, adicional a ello tambien presentaremos un summary con los datos de cuartiles y finalizará con un grafico.

Cuantitativo1=function (dc){
  Minimo=min(dc)
  Maximo=max(dc)
  Promedio=mean(dc)
  Desviacion_Estandar=sd(dc)
  Mediana=median(dc)
  dato=data.frame(Minimo,Maximo,Promedio,Desviacion_Estandar,Mediana)
  ##Gráfico
  dotchart(dc,pch = 21, bg = "green", pt.cex = 0.2)
  ##Tabla de datos
  dato
  return(dato)
}
Cuantitativo2=function (dc){
  a=summary(dc)
  return(a)
}

Cuantitativo3=function(dc){
  tfin=hist(dc,plot = FALSE)
  tabla1=table.freq(tfin)
  names(tabla1)[1:7]=c("lím_clase_inf","lím_clase_sup","marca_clase", "Frequencie", "Porc_%", "Frec_acum","Porc_%_acum")
  return(tabla1)
  
} 

Ingreso_Mensual

  1. La mayoria de los salarios de los colaboradores (74,1% de la poblacion total) estan entre los rangos de S 1.009.000 y los $ 8.000.000
  2. La cantidad de colaboradores con los salarios superiores son muy reducidos(26%de la poblacion total)
  3. El promedio de los salarios de los 1470 colaboradores son $ 6.503.000
require(agricolae)

dc=est_var$Ingreso_Mensual
dc=sort(dc,decreasing = TRUE)
Cuantitativo1(dc)

##   Minimo Maximo Promedio Desviacion_Estandar Mediana
## 1   1009  19999 6502.931            4707.957    4919
Cuantitativo2(dc)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1009    2911    4919    6503    8379   19999
Cuantitativo3(dc)
##    lím_clase_inf lím_clase_sup marca_clase Frequencie Porc_% Frec_acum
## 1              0          2000        1000         33    2.2        33
## 2           2000          4000        3000        510   34.7       543
## 3           4000          6000        5000        371   25.2       914
## 4           6000          8000        7000        175   11.9      1089
## 5           8000         10000        9000        100    6.8      1189
## 6          10000         12000       11000         86    5.9      1275
## 7          12000         14000       13000         53    3.6      1328
## 8          14000         16000       15000         16    1.1      1344
## 9          16000         18000       17000         57    3.9      1401
## 10         18000         20000       19000         69    4.7      1470
##    Porc_%_acum
## 1          2.2
## 2         36.9
## 3         62.2
## 4         74.1
## 5         80.9
## 6         86.7
## 7         90.3
## 8         91.4
## 9         95.3
## 10       100.0

Trabajos_Anteriores

  1. Para 13,4% de los colaboradores este es su primer empleo
  2. El 34,8% de los colaboradores este es su segundo empleo
  3. Solo el 3,5% de los colaboradores ha tenido nueve empleos
require(agricolae)

dc=est_var$Trabajos_Anteriores
dc=sort(dc,decreasing = TRUE)
Cuantitativo1(dc)

##   Minimo Maximo Promedio Desviacion_Estandar Mediana
## 1      0      9 2.693197            2.498009       2
Cuantitativo2(dc)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   1.000   2.000   2.693   4.000   9.000
Cuantitativo3(dc)
##   lím_clase_inf lím_clase_sup marca_clase Frequencie Porc_% Frec_acum
## 1             0             1         0.5        718   48.8       718
## 2             1             2         1.5        146    9.9       864
## 3             2             3         2.5        159   10.8      1023
## 4             3             4         3.5        139    9.5      1162
## 5             4             5         4.5         63    4.3      1225
## 6             5             6         5.5         70    4.8      1295
## 7             6             7         6.5         74    5.0      1369
## 8             7             8         7.5         49    3.3      1418
## 9             8             9         8.5         52    3.5      1470
##   Porc_%_acum
## 1        48.8
## 2        58.8
## 3        69.6
## 4        79.0
## 5        83.3
## 6        88.1
## 7        93.1
## 8        96.5
## 9       100.0
valor=table(est_var$Trabajos_Anteriores)
#Resumen de frecuencia independiente
valor
## 
##   0   1   2   3   4   5   6   7   8   9 
## 197 521 146 159 139  63  70  74  49  52

Antigüedad_Cargo

  1. El 45,8% de los colaboradores llevan entre 0 y 2 años con la compañia
  2. El 21,2% de los colaboradores llevan entre 6 y 8 años con la compañia
  3. Solo el 11,8% los colaboradores tienen entre 8 y 18 años con la compañia
require(agricolae)

dc=est_var$Antigüedad_Cargo
dc=sort(dc,decreasing = TRUE)
Cuantitativo1(dc)

##   Minimo Maximo Promedio Desviacion_Estandar Mediana
## 1      0     18 4.229252            3.623137       3
Cuantitativo2(dc)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   2.000   3.000   4.229   7.000  18.000
Cuantitativo3(dc)
##   lím_clase_inf lím_clase_sup marca_clase Frequencie Porc_% Frec_acum
## 1             0             2           1        673   45.8       673
## 2             2             4           3        239   16.3       912
## 3             4             6           5         73    5.0       985
## 4             6             8           7        311   21.2      1296
## 5             8            10           9         96    6.5      1392
## 6            10            12          11         32    2.2      1424
## 7            12            14          13         25    1.7      1449
## 8            14            16          15         15    1.0      1464
## 9            16            18          17          6    0.4      1470
##   Porc_%_acum
## 1        45.8
## 2        62.0
## 3        67.0
## 4        88.2
## 5        94.7
## 6        96.9
## 7        98.6
## 8        99.6
## 9       100.0
valor=table(est_var$Antigüedad_Cargo)
#Resumen de frecuencia independiente
valor
## 
##   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18 
## 244  57 372 135 104  36  37 222  89  67  29  22  10  14  11   8   7   4   2

Punto 3

Analisis Bivariado de cada una de las variables Validación de las hipótesis con los resultados bivariados

data_hipo=function(variable){
  dfh=data.frame(variable,est_var$Rotacion)
  dfh=table(dfh)
  return(dfh)
}

Hipotesis: Variables Categóricas y la Rotación:

Cargo:

La hipótesis propuesta:las personas con determinados cargo tienen a rotar más en la organización.

Conclusión: Efectivamenete hay cargo con mayor rotación con respecto a otros; el cargo Representante_Ventas cuenta con mayor rotacion dentro de la organización con un 40% y el cargo con menor rotación con cargo de representante es Representante_Salud con un 7%

Hay que tener en cuenta que en la base de datos los colaboradores con cargo de Representante_Ventas en total son 83 personas y no se puede comparar con Representante_Salud con una población de 131 personas o un Ejecutivo_Ventas quien tiene una poblacion mayor 326 y un % de rotación del 17%

Hay que validar cuales son las causales por las cuales este cargo presenta tan alto porcentaje de rotación a pesar de ser una de las áreas con menor cantidad de personas.

require(CGPfunctions)

variable=est_var$Cargo
data_hipo(variable)
##                          est_var.Rotacion
## variable                   No  Si
##   Director_Investigación   78   2
##   Director_Manofactura    135  10
##   Ejecutivo_Ventas        269  57
##   Gerente                  97   5
##   Investigador_Cientifico 245  47
##   Recursos_Humanos         40  12
##   Representante_Salud     122   9
##   Representante_Ventas     50  33
##   Tecnico_Laboratorio     197  62
PlotXTabs2(est_var,Cargo,Rotacion,plottype = "percent",x.axis.orientation="vertical")

Estado_Civil

La hipótesis propuesta:hay estados civiles propensos a presentar rotación.

Conclusión: Solo el estado civil Soltero presenta una rotación del 26% a comparacion de los otros dos estados civil que mantiene su indicador en la primera decena.

Se deben de realizar verificaciones si dichas personas solteras presentan algun tipo de responsabilidad económica (hijos, deudas, hipotecas) para poder concluir mas puntualmente si los colaboradores que no cuenten con este tipo de obligaciones financieras sienten mas libertad para realizar un cambio de empleo y no sentirse atados al actual

Adicional a ello validar que condiciones laborales son propicias para estos colaboradores y generar estrategias de retención de personal.

require(CGPfunctions)

variable=est_var$Estado_Civil
data_hipo(variable)
##             est_var.Rotacion
## variable      No  Si
##   Casado     589  84
##   Divorciado 294  33
##   Soltero    350 120
PlotXTabs2(est_var,Estado_Civil,Rotacion,plottype = "percent",x.axis.orientation="vertical")

Equilibrio_Trabajo_Vida:

La hipótesis propuesta: entre menor sea el equilibrio mayor la rotación de personal.

Conclusión: Efectivamente las personas que mencionaron bajo equilibrio entre la vida personal y laboral, de las 80 personas que mencionaron bajo equilibrio el 31% presento rotación.

Ahora, las personas que mencionaron equilibrio medio son aquellas con indicadores 18% en rotación y estas representan el 60,7% (893 personas sobre 1470 colaboradoes de la base de datos), es decir que, en la organización un pooc mas de la mitad consideran que pueden tener ese equilibrio laboral y personal.

require(CGPfunctions)
variable=est_var$Equilibrio_Trabajo_Vida
pos=match(variable,likert$Escala)
variable=likert$Descripción[pos]
data_hipo(variable)
##           est_var.Rotacion
## variable    No  Si
##   Alto     126  27
##   Bajo     286  58
##   Medio    766 127
##   Muy Bajo  55  25
likert
##   Escala Descripción
## 1      1    Muy Bajo
## 2      2        Bajo
## 3      3       Medio
## 4      4        Alto
PlotXTabs2(est_var,Equilibrio_Trabajo_Vida,Rotacion,plottype = "percent",x.axis.orientation="vertical")

Hipotesis: Variables Cuantitativas y la Rotación:

Ingreso_Mensual:

La hipótesis propuesta:los ingresos mensuales menores pueden tener indicencia a la rotación.

Conclusión: El promedio de los salarios de aquellos que no rotan es de S6.832.740 pesos y aquellos que si rotaron fue de $4.787.093 pesos y con las gráficas se fundamenta que el salario es un indicador importante en la rotación de personal.

require(ggplot2)
require(plotly)

tapply(est_var$Ingreso_Mensual,est_var$Rotacion,mean)
##       No       Si 
## 6832.740 4787.093
gt1=ggplot(est_var,aes(x=Rotacion,y=Ingreso_Mensual, fill=Rotacion))+geom_boxplot()+theme_light()

ggplotly(gt1)

Trabajos_Anteriores:

La hipótesis propuesta: entre mayor sea la cantidad de trabajos anteriores puede tener tendendencia a rotar en el puesto actual.

Conclusión: Las cifras de personas que han tenido otros empleos anterior que rotan es muy reducido, la cifra mas alta es 98 personas que han tenido un empleo anterior por lo cual la hipotesis no es correcta y el tener empleos anteriores no marca tendencia con respecto a la rotación

trab_rot=table(est_var$Trabajos_Anteriores,est_var$Rotacion)
trab_rot
##    
##      No  Si
##   0 174  23
##   1 423  98
##   2 130  16
##   3 143  16
##   4 122  17
##   5  47  16
##   6  54  16
##   7  57  17
##   8  43   6
##   9  40  12
bp=barplot(trab_rot,horiz=1, las=1,col=c('yellow','white','pink','orange','brown','gray','red','black','green','blue'),legend.text = TRUE,beside = TRUE)

Antigüedad_Cargo:

La hipótesis propuesta: entre mayor sea el tiempo en el puesto actual mas probabilidad hay que el colaborador rote.

Conclusión: Verificando las cifras aquellas personas que llevan mas tiempo en su trabajo no rotan, en cambio aquellas que lo hacen son aquellas que estan en sus primeros años de contratación; es por esta razón que la hipotesis no es correcta.

require(ggplot2)
require(plotly)

tapply(est_var$Antigüedad_Cargo,est_var$Rotacion,mean)
##       No       Si 
## 4.484185 2.902954
gt3=ggplot(est_var,aes(x=Rotacion,y=Antigüedad_Cargo, fill=Rotacion))+geom_boxplot()+theme_light()

ggplotly(gt3)
PlotXTabs2(est_var,Antigüedad_Cargo,Rotacion,plottype = "percent",x.axis.orientation="vertical")

PUNTO 4

Estratégias para disminuir la rotación

  1. Verificar cuales son las condiciones laborales (salariales y no salariales) entre los cargos Representante_Salud y Representante_Ventas para poder reducir la elevada rotación de este cargo (Representante_Ventas), realizar entrevistas y medicion de clima laboral con este cargo para encontrar en la raíz las causas de la rotación.

  2. incluir dentro de los beneficios no salariales actividades en las cuales los colaboradores solteros puedan sentirse especial y entender que en la actualidad existen diferentes tipos de familias e integrantes (como mascotas) que pueda tener un impacto sobre el colaborador soltero y propiciar la retenciónd el talento.

  3. Implementar con los con líderes con personas a cargo estrategias en las cuales se busque propiciar el equilibrio de la vida laboral con la vida personal de los colaboradores (manejo de horas extras, contacto fuera del horario laboral), adicional a ello estudiar dentro de ls beneficios no salariales dias de descando por desempeño, cumpleaños, ect.).

  4. Teniendo en cuenta las condiciones económicas y actuales de las organizaciones no es altamente probable proponer aumento de salarios para reducir la rotación pero si se puede estudiar la creación de una chequera de beneficios no salariales en los cuales el colaborador ademas de su salario y prestaciones de ley conozca los beneficios de laborar en la compañia (días libres, pago funeraria, seguro de vida, celebración de efemérides y cumpleaños, convenios de descuentos con entidades comerciales, apoyo para formación y descuento en instituciones de educación superior, plan carrera, etc.)

  5. Reforzar el seguimiento de los colaboradores nuevos durante los primeros años en la empresa a traves de reinduccion, seguimiento en su desempeño, motivación y formación dentro de la organización que permita tener alertas tempranas que se puedan subsanar y garantizar la retención del talento.