Entregable #2

Situación Problema 2:

Explorar, definir, y describir cuáles son los principales factores del clima organizacional de FORM que propician la satisfacción y/o no satisfacción de trabajar en dicha empresa.

Preguntas de analisis

1-¿La distancia entre la residencia del empleado y FORM, es un factor para que se den de baja de la empresa?

2-¿Cuál es el Estado civil de los empleados y esto tiene relevancia en quién se dio de baja?

3-Media, mediana y moda de la duración de los empleados en FORM.

4-¿Es más probable que un empleado se dé de baja si tiene un puesto más abajo?

5-¿Cuál fue el motivo más recurrente por el cual los empleados voluntariamente renunciaban de FORM?

#Insertar nueva base de datos
library(readr)
base_de_datos_eq_2 <- read_csv("bd form eq 2.csv")
## Rows: 280 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (6): colonia, estado_civil, tipo_de_baja, puesto, genero, rango_de_edad
## dbl (4): N_de_empleado, año_de_nacimiento, edad, dias_en_la_empresa
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#Visualización de los primeros 6 renglones
primeros_renglones <- head(base_de_datos_eq_2, n = 6)

Glosario de Variables:

  • N. de empleado: Esta variable es necesaria para identificar al empleado y conocer con exactitud sus datos personalizados.
  • Colonia: Esta variable nos permite determinar si la distancia entre la residencia del empleado y FORM afecta su baja.
  • Estado civil: Esta variable nos ayuda a identificar el estado civil predominante entre los empleados que se dan de baja.
  • Días en la empresa: Esta variable nos permite conocer el promedio de rotación de empleados en FORM.
  • Tipos de baja: Esta variable nos permite conocer si la baja fue voluntaria o inducida.
  • Puesto: Esta variable nos permite identificar los puestos con mayor número de bajas.

Análisis Exploratorio de Datos (EDA):

  • ¿Qué es un análisis exploratorio de datos (EDA)? Un análisis exploratorio de datos (EDA) es un proceso clave en el proceso de analítica de datos en el cual se emplean estadísticos descriptivos de resumen y gráficas para examinar y comprender de mejor manera una base de datos, antes de aplicar un modelo predictivo o técnicas estadísticas complejas. Este proceso se lleva a cabo al principio de un proyecto de Data Analytics.
  • ¿Cuál es el propósito de realizar un análisis exploratorio de datos (EDA)? El propósito principal de este proceso es identificar patrones y tendencias, valores atípicos, comprender relaciones entre variables y generar preguntas de análisis relevantes que se pueden resolver más adelante en el proyecto mediante un análisis estadístico más profundo.

Estadisticos descriptivos

# Tamaño de la muestra
n <- length(base_de_datos_eq_2$N_de_empleado)
cat("Tamaño de la muestra: ", n, "\n")
## Tamaño de la muestra:  280
# Media
media <- mean(base_de_datos_eq_2$dias_en_la_empresa)
cat("Media: ", media, "\n")
## Media:  NA
# Mediana
mediana <- median(base_de_datos_eq_2$dias_en_la_empresa)
cat("Mediana: ", mediana, "\n")
## Mediana:  NA

Medidas de disperción

# Rango de días en la empresa
rango <- max(base_de_datos_eq_2$dias_en_la_empresa) - min(base_de_datos_eq_2$dias_en_la_empresa)
cat("Rango: ", rango, "\n")
## Rango:  NA
# Varianza
varianza <- var(base_de_datos_eq_2$dias_en_la_empresa)
cat("Varianza: ", varianza, "\n")
## Varianza:  NA
# Desviación estándar
desviacion_estandar <- sqrt(varianza)
cat("Desviación estándar: ", desviacion_estandar, "\n")
## Desviación estándar:  NA

#Graficos

library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ stringr   1.5.0
## ✔ forcats   1.0.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
#Grafica de barras del estado civil 
ggplot(base_de_datos_eq_2, aes(estado_civil)) + geom_bar(aes(fill=estado_civil), width=0.5)+
  xlab("Estado Civil") +
  ylab("Numero de Empleados")+ ggtitle("Bajas por Estado Civil")

La gráfica representa el estado civil de los empleados de FORM, con una columna para cada género en cada estado civil, excepto para la Unión Libre. Según la gráfica, la mayoría de los empleados son mujeres solteras, mientras que la minoría son mujeres casadas. Esto podría sugerir que la empresa tiene una fuerza laboral joven o que hay una tendencia hacia el matrimonio tardío entre las mujeres en la empresa. Este fenomeno tambien ocurre para los hombres, pero a un menor grado.

#Grafica de barras por puesto
ggplot(base_de_datos_eq_2, aes(puesto)) + geom_bar(aes(fill=puesto), width=0.5)+
  xlab("Puesto de trabajo") +
  ylab("Cantidad de empleados") +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Cantidad de Empleados por Puesto")

Este gráfico muestra la relación entre el tipo de puesto y la cantidad de empleados en la empresa. Como se puede observar, el puesto de Ayudante General ocupa el primer lugar en términos de cantidad de empleados, con una diferencia significativa respecto a los demás puestos. Esto puede presentar un desafío al analizar el tipo de bajas por puesto, ya que la cantidad de empleados en otros puestos es considerablemente menor.

ggplot(base_de_datos_eq_2, aes(x = puesto, fill = tipo_de_baja)) +
  geom_bar(position = "stack") +
  xlab("Puesto de trabajo") +
  ylab("Cantidad de Bajas") +
  labs(fill = "Motivo de baja") +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Motivos de Baja por Puestos")

Este gráfico ilustra la relación entre el tipo de baja y el puesto correspondiente. Como se puede observar, la mayoría de las bajas se debieron a separaciones voluntarias. El puesto de trabajo que registró más bajas fue el de ayudante general. Sin embargo, este resultado era esperado, ya que la mayoría de los empleados de la empresa ocupan este puesto.

#Gráfico de barras por rangos de edad
ggplot(base_de_datos_eq_2, aes(rango_de_edad)) + geom_bar(aes(fill=rango_de_edad), width=0.5)+
  xlab("Rango de edad") +
  ylab("Cantidad de empleados dentro del rango") +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Cantidad de Empleados dentro del rango")

Para esta gráfica segmentamos en diferentes rangos de edad, Jovenes: 18-25 años Adultos Jovenes: 26-35 Adultos: 36-50 Adultos Mayores:+50 Esto nos sirve para identificar que rango de edad tenemos mas dentro de la empresa lo cual es fundamental para las implementaciones y recomendaciones que se haran, ya que deben estar adecuadas a las generaciones a quienes van dirigidas para que se puedan efectuar.

Puestos por Género

# Crear una tabla de contingencia
contingencia <- table(base_de_datos_eq_2$puesto, base_de_datos_eq_2$genero)

# Imprimir la tabla de contingencia
contingencia
##                            
##                             Femenino Masculino
##   Auxiliar de Embarques            1         0
##   Ayu. De Pintor                   0         1
##   Ayudante de Embarques            0         5
##   Ayudante de Soldador             0         2
##   Ayudante General               141        94
##   Ayudante general-Cedis           0         2
##   Calidad                          1         0
##   Chofer                           0         1
##   Chofer Gestor                    0         2
##   Costurera                        2         0
##   Costurero                        0         1
##   Enfermera                        1         0
##   Gestor                           0         1
##   Guardia de Seguridad             0         1
##   Inspector de calidad             1         1
##   Inspectora De Calidad            1         0
##   Limpieza                         1         0
##   Materialista                     0         2
##   Montacarguista                   0         4
##   Pintor                           0         2
##   Residente                        0         3
##   Residente YanFeng Cienega        0         1
##   Soldador                         0         7

Basándonos en la información presentada en la tabla, podemos asumir que hay una mayor cantidad de empleados femeninos en el puesto de “Ayudante General” en comparación con los empleados masculinos. También podemos observar que hay algunos puestos que son ocupados exclusivamente por empleados de un solo género, como “Auxiliar de Embarques” y “Calidad” que son ocupados solo por empleadas femeninas, mientras que puestos como “Ayu. De Pintor” y “Ayudante de Soldador” son ocupados solo por empleados masculinos.

Cantidad por Tipo de Bajas

# Crear una tabla de frecuencias para la variable tipo de baja
frecuencias <- table(base_de_datos_eq_2$tipo_de_baja)

# Convertir la tabla de frecuencias en un data frame
frecuencias_df <- as.data.frame(frecuencias)

# Renombrar las columnas del data frame
colnames(frecuencias_df) <- c("Tipo de baja", "Cantidad")

# Imprimir el data frame
frecuencias_df
##                           Tipo de baja Cantidad
## 1                             Inducida       12
## 2 Inducida (Faltas no dio los tiempos)        1
## 3                    Inducida (Faltas)        2
## 4                            Inducida.        1
## 5                Separacion voluntaria      263

Hay 12 empleados que han experimentado una baja inducida, mientras que hay 1 empleado que ha experimentado una baja inducida debido a faltas y no cumplir con los tiempos. El tipo de baja con la mayor cantidad de empleados es la “Separación voluntaria”, con 263 empleados.

¿Qué tipo de información / datos solicitarías al socio formador para mejorar EDA?

Otro aspecto a solicitar al socio formador sería el estandarizar el formato de la base de datos con el fin de que exista una igualdad en la forma en la que se muestran los datos de cada variable.

Con el fin de hacer un análisis estadístico más preciso acompañado de gráficas y tablas, sería ideal contar con una mayor cantidad de variables numéricas.

En el caso de las bajas inducidas, si la organización cuenta con un sistema de evaluación de desempeño, se podría incluir una puntuación numérica para determinar si el desempeño del empleado fue factor para que se le diera de baja de la organización. En caso de que fuera una baja voluntaria, se podría determinar que tan valioso era el empleado para FORM.

Así mismo, se propone realizar una variable enfocada en el clima organizacional donde en base a una puntuación numérica se evaluar la satisfacción del empleado en su día a día, y así determinar si el ambiente que predomina es un factor para salir de la empresa.

¿Qué tipo de información / datos de fuentes secundarias buscarías para mejorar EDA?

Con el fin de mejorar el EDA se recomienda agregar información y datos de fuentes secundarias. Con el fin de hacer una comparación de salarios respecto al mercado y evaluar si los salarios en FORM son competitivos respecto a la competencia, podría agregarse una variable que indique que tan arriba o que tan debajo del mercado se encuentran los salarios de la plantilla de colaboradores.

Adicionalmente, el hacer un benchmarking de la industria le daría un valor agregado al EDA para conocer tasas de rotación y practicas de recursos humanos para así comparar a la empresa respecto a sus competidores. Así se pueden detectar áreas de oportunidad y fortalezas en términos de manejo del personal.