PARTE I

Antecedentes de la Empresa FORM

Visión

En 2033 seremos una de las cinco mejores compañías de México que generan valor dentro de la cadena de suministro de las industrias que más valoran la forma en la que se protegen y trasladan las cosas.

Misión

Transformar nuestro entorno y resolver retos industriales de nuestros clientes a través de la colaboración, provocando nuevas oportunidades que potencian nuestro modelo de negocio, para alcanzar nuestros ideales.

Objetivos Estratégicos

- Tecnificar la producción

- Utilizar más los datos para la toma de decisiones

- Generar un sentido de pertenencia en los colaboradores

- Diversificación extranjera en Estados Unidos para incrementar presencia

- Ser de las empresas que mejor paguen en Nuevo León

Análisis de las áreas de la Empresa usando las bases de datos

Librerías

Librerías que se utilizaron para el análisis

library (tidyverse)
library (foreign)
library (ggplot2)
library(dplyr)
library(scales)
library(ggrepel)
colores_base <- c("maroon4", "mediumorchid3", "thistle")
generar_variantes <- function(color, n) {
  color_fun <- colorRampPalette(c("lavenderblush", color))
  return(color_fun(n))
}
mi_paleta <- c(colores_base, generar_variantes(colores_base[1], 10), generar_variantes(colores_base[2], 10), generar_variantes(colores_base[3], 10))

Bases de datos utilizadas

Se limpiaron y modificaron diferentes bases de datos para crear los dataframes necesarios para el análisis.

Autoparts<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\US_Auto_Parts_Industry.csv")
CarProduction<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\US_Auto_Production_Sales.csv")
ImpCartonBox<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\Importers of Cartons boxes cases of corrugated paper or board 2020-2021.csv")
ExpCartonBox<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\Exporters of Carton boxes cases of corrugated paper or board 2020-2021.csv")
RH_info<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\form_rh_datos.csv")
Data1 <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\mx_exportacion_autos.csv")
RHB <-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\form_rh_bajas_datosB.csv")
Ndatos<- read.csv ("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\hybrid_car_units.csv")
mx_exauto <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\mex_exports_autoparts.csv")
Autopartes <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\Autopartes.csv")
ventas_carton <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\ventas.csv")

Viusalización de Datos Inicial

Se realizó una visualización de los datos para representar gráficamente los hallazgos de las bases de datos.

View(Autoparts)
View(CarProduction)
View(ImpCartonBox)
View(ExpCartonBox)
View(RH_info)

Gráficas RH

RH1<-RH_info%>%select(FECHA.DE.NACIMIENTO,GENERO,FECHA.DE.ALTA,Primer.mes,X4to.mes,PUESTO,DEPARTAMENTO,SALARIO.DIARIO.IMSS,ESTADO.CIVIL,TARJETA.CUENTA)
View(RH1)


g = ggplot(RH1, aes(PUESTO, fill=GENERO) ) + labs(title = "Distribución de Genero Por puesto de Trabajo",x="Puesto (Abreviado)")+ylab("Número de Personas") + theme(plot.title = element_text(size = rel(2), colour = "darkgoldenrod3"))

g+geom_bar(position="dodge") + scale_fill_manual(values = mi_paleta) +
  theme(axis.title.x = element_text(face="bold", size=10)) + theme_minimal() 

Lo que se puede observar en este gráfico es la distribución de empleados por género. Los resultados nos indican que hay considerablemente, más empleadas de género femenino que del género masculino.
RHB <- rename (RHB,MOTIVO.DE.BAJA = "MOTIVO.DE.BAJA")
Bajas_por_genero<- select(RHB,GENERO,MOTIVO.DE.BAJA)
ggplot(Bajas_por_genero, aes(GENERO))+geom_bar(aes(fill=MOTIVO.DE.BAJA), width = 0.5)+ggtitle ("Motivos de baja por genero")+ theme_minimal() + scale_fill_manual(values = mi_paleta)

Existe una diferencia significativa entre el género de los empleados, ya que se puede observar que hay muchas más mujeres que hombres. De igual forma, la diferencia entre los motivos de baja de los empleados es notoria, pues en ambos sexos el principal motivo es por faltas. Esto es algo alarmante para FORM, ya que puede significar que los empleados no tienen responsabilidad laboral y no están realmente comprometidos con la empresa.
ggplot(RHB, aes(GENERO)) +
  geom_bar(aes(fill = GENERO), width = .25) +  # Utiliza GENERO para determinar los colores
  labs(title = "Distribución de Género por Días Laborados ante de Salir",
       x = "Género",
       y = " Promedio de Días  de trabajo") +
  theme_minimal() + scale_fill_manual(values = mi_paleta)

La gráfica anterior muestra el promedio de días trabajados de los empleados que dejaron la empresa. Como podemos observar, el promedio es mayor en las mujeres, ya que el personal de género femenino trabaja aproximadamente 130 días, a difrencia de los hombres que trabajan un rango de 100 días solamente.
rh_m <- RH_info %>%
  slice(-22)
municipios <- rh_m %>%
  filter(ESTADO=="NUEVO LEON") %>%
  group_by(MUNICIPIO, GENERO) %>%
  summarise(total_personas = n_distinct(NOMBRE))
ggplot(municipios, aes(x = MUNICIPIO, y = total_personas, fill = GENERO)) +
  geom_col() +
  labs(title = "Colaboradores por Municipio",
       x = "Municipio",
       y = "Total de Personas",
       fill = "Género") +
  theme_minimal() + scale_fill_manual(values = mi_paleta) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

La visualización nos muestra el municipio a donde pertenece cada uno de los empleados. Esto se realizó con el fin de identificar si la distancia o el tiempo de traslado pueden ser un factor determinante al momento de las bajas de empleados, y así poder tomar decisiones pertinentes.

Desempeño Reciente de FORM

- Acreedor al Premio Nacional de Envase en 2010, 2014,2015,2016,2017,2019 y 2022, reconociendo la sostenibilidad de los envases y embalajes como producto de la innovación.

- Innovación con patente global que permite a las compañías reducir espacio y ahorrar en logística. Se trata de una caja que disminuye el espacio en almacén y aumenta la capacidad de empaque un 10-15% para productos del sector automotriz.

- En 2022 Tesla se convirtió en uno de sus nuevos socios, FORM le provee cajas de cartón personalizadas, es una línea personalizada en donde se crean piezas vista, electrónicas o de Clase A.

- En los últimos 5 años la empresa a duplicado su crecimiento y en pandemia logró mantener su volumen de ventas.

- Gracias a la inversión en años anteriores, hoy en día la empresa cuenta la certificación ISO 9000-2015.

Factores Diferenciadores de FORM

1. Especialización en cartón corrugado

2. Años de experiencia en la Industria

3. Versatilidad en retornables

4. Consultoría en Ingeniería de empaque

5. Software de Administración de empaque

6. Visión de adquisición de clientes

Contexto de la Industria

Análisis de la Industria (Cartón, Autopartes, Automotriz) para el caso de México y E.U.A., usando datos de fuentes secundarios y las bases de datos proporcionados por el profesorado.

Industria Automotriz

Gráficas de la Industria Automotriz y de Autopartes

Exportaciones <-Data1 %>% group_by(Marca) %>% summarise(num_exportaciones=n()) %>% arrange (desc(num_exportaciones))
Marca_mas_exportaciones <- Data1 %>% filter(Marca %in% c("Nissan","Volkswagen","General Motors","Chrysler","Mazda","Ford Motor","KIA","Honda","Fiat","Audi"))
ggplot(Marca_mas_exportaciones,aes(Marca,fill=Marca))+geom_bar()+ggtitle ("Top 10 Exportaciones por Marca") + theme_minimal() + scale_fill_manual(values = mi_paleta) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#####Con esta gráfica podemos observar las marcas de autos con más exportaciones, esto es relevante para el socio formador ya que indica un área de oportunidad de posibles clientes. Como se puede observar, Nissan es la marca con más exportaciones por año, y al ser una marca de origen Japones, entra en el mercado de clientes que le interesan a Forms.

Regiones <- filter(Ndatos,region %in%
c("Centro-Norte","Norte","Norte-Occidente","Centro","Sur"))
ggplot(data=Regiones,
aes(x=region,y=hybrid_car_units,fill=region
)) + geom_boxplot() + ylim(0,1000) +
theme_minimal() + ylab("Unidades de carros hybridos") +
ggtitle("Unidades de carros hybridos por zonas de México") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_fill_manual(values = mi_paleta)
## Warning: Removed 40 rows containing non-finite values (`stat_boxplot()`).

##### La venta de autos híbridos ha ido en aumento durante los últimos años, gracias a las tendencias de consumo y cuidado del ambiente. En esta gráfica se puede analizar que en la zona Norte del país se realizan más ventas de este tipo de autos que en otras zonas. Sin embargo, el rendimiento más alto se encuentra en la zona Norte Occidental.

resultados <- mx_exauto %>%
  filter(year >= 2020) %>%
  group_by(year, State) %>%
  summarise(ventas_totales = sum(trade_value))
  
ggplot(resultados, aes(x = State, y = ventas_totales, fill = factor(year))) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Ventas Totales por Año y Estado",
       x = "Estado",
       y = "Ventas Totales",
       fill = "Año") +
  theme_minimal() +
  theme(legend.position = "top") + 
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  scale_y_continuous(labels = scales::comma)+scale_fill_manual(values = mi_paleta)

##### En este gráfico podemos observar la participación de los distintos estados de México en las exportaciones de autopartes, esto nos permite visualizar a grandes rasgos en que estados es en donde hay más exportación de autopartes a países extranjeros. Estos hallazgos nos permiten tomar decisiones estratégicas, como por ejemplo elegir alguna ubicación estratégica para un almacén, punto de distribución o incluso una planta.

ggplot(Autopartes, aes(x = "year")) +
  geom_bar(aes(y = imports_from_US, fill = "Importaciones desde US"), stat = "identity", position = "dodge") +
  geom_bar(aes(y = total_imports - imports_from_US, fill = "Total de importaciones"), stat = "identity", position = "dodge") +
  labs(title = "Importaciones de Autopartes por Año", 
       subtitle = "Industria Automotriz",
       caption = "Mexico Automotive Industry - International Trade Administration - USD Billions",
       x = "Año",
       y = "Importaciones") +
  scale_fill_manual(values = c("Importaciones desde US" = "lavenderblush", "Total de importaciones" = "mediumorchid3")) +
  theme_minimal() +
  labs(fill = "Tipo de Importación")

##### Se puede observar fácilmente el impacto de la pandema por Covid-19, ya que la tendencia de la gráfica iba en ascenso hasta el año 2020 que los negocios estuvieron detenidos, y luego nuevamente en los años posteriores vuelve a ascender el total de importaciones. Es importante mencionar también, que el país con más importaciones es USA con más del 50% del total de importaciones.

Gráficas de la Industria de Cartón

Específicamente, de la importación y exportación de cajas

Gráfica Importación de cajas a USA

ICB2<-ImpCartonBox%>%arrange(desc(Trade.Value))
View(ICB2)
ICB3<-ICB2%>%filter(Trade.Value>=123989664)
View(ICB3)

ggplot(ICB3, aes(x=Trade.Value, y=Country, fill=Country)) + geom_bar(stat="identity") + xlab("") + labs(x="Trade Value en 2021",title = "Top 20 países importadores de cajas de cartón", subtitle = "Según su Trade Value en el año 2021") + scale_x_continuous(labels=function(n){format(n, scientific = FALSE)}) + theme_minimal() + scale_fill_manual(values = mi_paleta)

##### La gráfica anterior nos permite visualizar los países que importan más y a los que podrá expandirse FORMS para nuevos clientes internacionales.

ECB2<-ExpCartonBox%>%arrange(desc(Trade.Value))
View(ECB2)
ECB3<-ECB2%>%filter(Trade.Value>=101375372)
View(ECB3)

ggplot(ECB3, aes(x=Trade.Value, y=Country, fill=Country)) + geom_bar(stat="identity") + xlab("") + labs(x="Trade Value en 2021",title = "Top 20 países exportadores de cajas de cartón", subtitle = "Según su Trade Value en el año 2021") + scale_x_continuous(labels=function(n){format(n, scientific = FALSE)})+ theme_minimal() + scale_fill_manual(values = mi_paleta)

##### Los países más exportadores de cajas y empaques de cartón son del continente asiático y no entran en el grupo de “clientes prohibidos” de FORM. Estos datos son importantes para el socio formador ya que son competidores directos y pueden representar una amenaza y sería más dificil penetrar en el mercado de esos lugares debido a la alta competencia de la industria.

view(ventas_carton)
ggplot(ventas_carton, aes(x = Mes, y = Carton)) +
  geom_bar(stat = "identity", fill = "mediumorchid2") +
  labs(title = "Ventas de Carton por Mes", subtitle = "2022", x = "Mes", y = "Ventas MDP") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 20, hjust = 1)) + scale_x_discrete(limits = ventas_carton$Mes)

##### Durante el 2022 las ventas de cartón tuvieron un incremento durante el final de cada trimestre, sin embargo, Agosto fue el mes con incrementos más considerables respecto al mes anterior.

####** Antecedentes de las industrias**

Automotriz

México

Sobre la Industria Automotriz de acuerdo con Data México y el DENUE 2022 la fabricación de automóviles y Camiones registró 73 unidades económicas; siendo CDMX (9), EDOMEC (9) y Nuevo León (7) los estados con más unidades. Otros estados del norte qué cuentan con un número significante de unidades económicas son Baja California y Coahuila de Zaragoza.
Los Estados qué más han recibido Inversión Extranjera Directa en 2022, fueron Guanajuato ($989 millones de USD), CDMX ($515 millones de USD ) y Baja California ($329 Millones de USD); estas inversiones provienen de 3 principales países siendo estos Estados Unidos con $1,327 Millones de USD, Japón con $911 Millones de USD y Corea del Sur con $507 millones de USD.
Esta información es importante tenerla ya qué nos permite conocer en qué estados se está produciendo e invirtiendo más en lo Automotriz y por ende pueden ser zonas de oportunidad en donde la empresa puede ofertar sus productos y servicios de empaque de autopartes; a la vez el hecho de saber qué países están invirtiendo puede ayudar a conocer a qué tipo de cliente se le estará intentando vender, y en caso de qué la relación de negocio sea exitosa, a qué países en un futuro se puede expandir.
A la vez Carlier Mathilde (2021), Reserch Expert de Statista, comenta qué de acuerda a las previsiones del mercado la Industria automotriz apunta a un crecimiento constante en los próximos 4 años, esto se traduce a qué FORMS seguirá teniendo demanda y podría aumentar al pasar de estos 4 próximos años. Además, comenta qué gracias al acuerdo USMCA entre USA, México y Canadá, se renovaron las regulaciones de libre comercia, por lo que la expansión de FORMS a San Antonio y su exportación a USA no debería contener inconvenientes legales.

USA

Según datos de Mordor Inteligencie Estados Unidos es una de las principales industrias automotrices en el mundo ya que contribuye con un 3% de producto interno bruto en todo el país. En el año 2022 la producción de vehículos tuvo un total de 10,060,339 unidades lo que en su caso es un crecimiento de 9.74% respecto al 2021.
De acuerdo con datos de Bankinter Estados Unidos se posiciona en el segundo puesto de fabricación de coches previstos para el 2023.
En Estados Unidos los principales vendedores de autos en el año 2022 fueron General Motors, Toyota Motor y Ford. en cuáles los principales estados son: Michigan Ohio indiana Kentucky Tennessee Alabama Texas y California.
En Texas se encuentran una de las industrias automotriz más importantes las cuales son Toyota General Motors y Tesla. Tesla tiene su mega fábrica en el área de Austin y se espera que el proyecto cree 5000 nuevos empleos y más de 1000 millones de dólares en inversión de capital. Además de esto en Texas según datos de la “SPC pro” representó el 20% del total de Estados Unidos en la industria automotriz.

Autopartes

México

De acuerdo con Data México y el Censo Económico 2019, la producción bruta del Comercio al por Menor de Partes y Refacciones para Automóviles, Camionetas y Camiones, fue de un total de $89,695 millones de pesos; los estados con mayor producción fueron CDMX con $8,898 millones de pesos y Jalisco con $8,457 millones de pesos. Este dato es importante a considerar porque permite qué estados son los que más están produciendo autopartes en México y por ende son clientes potenciales para FORMS.
Los Estados qué más han recibido Inversión Extranjera Directa en 2022, fueron Querétaro ($14 millones de USD), Coahuila de Zaragoza ($2.71 millones de USD) y CDMX ($2.69 Millones de USD); estas inversiones provienen de 3 principales países siendo estos Japón, Corea del Sur y Canadá. Esta información es importante tenerla ya que nos permite conocer en que estados se está produciendo e invirtiendo más en el Comercio de Autopartes al por Menor y por ende pueden ser zonas de oportunidad en donde la empresa puede ofertar sus productos y servicios de empaque de autopartes; a la vez el hecho de saber qué países están invirtiendo puede ayudar a conocer a qué tipo de cliente se le estará intentando vender, y en caso de qué la relación de negocio sea exitosa, a qué países en un futuro se puede expandir.
También Statista nos ayuda a corroborar que esta industria seguirá en demanda ya que pronostico qué el ingreso de esta industria pasará de $11,27 Billones de USD en 2022 a $13,98 Billones de USD en México, por lo que los clientes actuales de esta industria seguirán necesitando paquetes y cajas de FORM.

USA

La industria de autopartes en Estados Unidos está estimada en 205.81 miles de millones de dólares, y se espera tener un crecimiento de 4.1% del 2023 al 2030. El mayor mercado en Estados Unidos para las autopartes son los aires acondicionados suspensiones interiores transmisiones sistemas de maniobró radios radiadores tecnología frenos entre otros.
Otra de las medidas tendencias que pueden hacer que el mercado crezca en Estados Unidos es el incremento en la venta de vehículos electrónicos los cuales necesitan varias partes y la venta anual de vehículos eléctricos en Estados Unidos pasó 172.1 miles de unidades en 2021 lo que indica una demanda alta por partes y componentes que necesita el mercado Estados Unidos también es el más grande mercado en este tipo de vehículos con manufactureras como Cadillac GMC Tesla Chrysler las cuales lideran el mercado de vehículos electrónicos.
Texas en el mercado de autopartes aparte de cero un albergue de industrias muy grandes también tiene una mezcla de fabricantes y proveedores que ayudan a su economía automotriz.

Cartón

México

Según datos de Euromonitor (2022), El mercado de papel corrugado, cartón y contenedores en México ocupa el primer lugar en Latinoamérica, al igual que su crecimiento del tamaño de mercado. El número de empresas presente en esta industria en 2021 fue de 8984 y va en crecimiento; aunque se podría decir qué la industria está fragmentada ya que solo las 5 empresas más grandes representan el 7.2% del valor de producción. Por último, la rentabilidad de la industria creció y logró llegar al 34.5% en 2021, y apunta a seguir creciendo. Estos datos nos indica qué México sigue siendo un país importante en esa industria en Latinoamérica, qué tiene futuro y por ende FORMS puede seguir en ella, pero también es una industria competitiva debido a la gran diversidad de empresas; por lo que FORMS deberá seguir innovando para mantenerse competitiva en el mercado.
De acuerdo a datos del DENUE 2022 en la Industria de la Fabricación de Productos de Cartón y Papel se registraron un total de 6,099 unidades económicas; siendo Estado de México (481), Jalisco(461), Veracruz de Ignacio de la Llave (418) y Nuevo León (329), los estados más relevantes. Esta información nos permite conocer en donde se podrían encontrar los competidores más fuertes de FORM.
Los Estados qué más han recibido Inversión Extranjera Directa en 2022, fueron Estado de México ($54.8 millones de USD), Baja California ($21.3 millones de USD ) y Nuevo León ($19.8 Millones de USD); estas inversiones provienen de 3 principales países siendo estos Irlanda, Estados Unidos y Nueva Zelanda.
Esta información es importante tenerla ya que nos permite conocer en que estados se está produciendo e invirtiendo más en la Fabricación de Productos de Cartón y Papel y por ende pueden ser zonas de oportunidad en donde la empresa puede buscar inversores para poder potenciar al crecimiento de la empresa y en caso de qué las relaciones sean exitosas a qué países en un futuro pueden exportar sus productos.

USA

De acuerdo con datos de Euromonitor International, La rentabilidad de la industria dentro de USA está disminuyendo, esto es debido a que los costes han aumentado un 8.1% en 2021; lo cual fue consecuencia en gran medida por el aumento en costos de las relaciones B2B.
Conforme a las competencias dentro de la industria, en 2021 se portó que 1369 empresas se integraron a la industria de Contenedores de Papel y Cartón corrugado. El sector se encuentra fragmentado debido a que el 43.2% del valor de producción en 2021 fue ocasionado por las 5 principales empresas; la empresa con mayor valor y fuerza en el mercado es WestRock Co, empresa qué generó el 10% del valor de producción total de la industria en 2021. Esta Industria está dominada por proveedores nacionales ya qué las importaciones representan el 5.8% del tamaño total del mercado en 2021.
Ahora bien, de acuerdo con la demanda USA tiene el mercado más grande dentro de los 20 principales países desarrollados, teniendo una demanda en 2021 equivalente a 56.1 billones de dólares. Cabe recalcar que B2B es el principal impulsor del mercado, representando el 92.4% de la demanda en 2021.
Estos datos nos dicen qué si bien la competencia es alta y dura en Estados Unidos, aun así, puede FORM ingresar a esta industria; si la rentabilidad sigue disminuyendo y los costes aumentando, las empresas qué ocupan este producto comenzarán a buscar otros proveedores con precios más accesibles, por lo que si FORM mantiene sus precios una vez instalados en San Antonio o siguen exportando sus productos, podrían tener éxito al expandirse a USA.

FODA Cruzado

image info
image info

PESTLE

MEX y EUA

image info
image info

Estrategias

1. Analizar las tendencias de consumo internacional para poder incrementar la producción de cartón retornable y así minimizar costos y factores ecológicos de riesgo como la superficie forestal perdida.

2. Automatizar los procesos de elaboración de los empaques a través de la innovación tecnológica hará que se aceleren los procesos y se reduzcan costos. Esto daría la posibilidad de abastecer a la demanda de forma más rápida.

3. Una de las tendencias en la industria del embalaje es la preocupación por el packaging sostenible, por lo tanto, FORM podría apostar por materiales alternativos que le ayuden a aumentar su % de producción de retornable, además de la integración de prácticas de diseño y producción más interactivas y sostenibles, y fomentar el reciclaje avanzado.

PARTE II

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 Análisis

Para responder a las preguntas de análisis, se hará un análisis exploratorio de datos para cada pregunta se utilizaron diferentes librerías y bases de datos.

Librerías usadas
library(readxl)
library(tidyverse)
library(writexl)
library(psych)
library(dplyr)
library(lubridate)
library(opencage)
library(httr)
library(geosphere)
library(leaflet)
library(ggmap)
Carga de la base de datos
datos_2022 <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\B_form_rh_bajas_datos_2022.csv")
datos_2023 <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\B_BDD_FORM_BAJAS_2023.csv")
datos_actuales <- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\form_rh_datos (1).csv")
datos_2023 <- datos_2023[complete.cases(datos_2023), ]

Unión de las bases de datos

df_bajas <- bind_rows(datos_2022, datos_2023)
df_bajas <- as.data.frame(lapply(df_bajas, toupper))

Limpieza de la base de Datos

df_bajas <- df_bajas %>%
  mutate(ESTADO.CIVIL = ifelse(ESTADO.CIVIL %in% c("SOLTERIA", "SOLTERA"), "SOLTERO", ESTADO.CIVIL)) %>%
  mutate(ESTADO.CIVIL = ifelse(ESTADO.CIVIL %in% c("CASADO", "CASADA", "MATRIOMONIO"), "MATRIMONIO", ESTADO.CIVIL))

datos_actuales <- datos_actuales %>%
  mutate(ESTADO.CIVIL = ifelse(ESTADO.CIVIL %in% c("SOLTERIA", "SOLTERA"), "SOLTERO", ESTADO.CIVIL)) %>%
  mutate(ESTADO.CIVIL = ifelse(ESTADO.CIVIL %in% c("CASADO", "CASADA", "MATRIOMONIO"), "MATRIMONIO", ESTADO.CIVIL))

Nueva columna que da a conocer la edad del personal

df_bajas$FECHA.DE.NACIMIENTO <- dmy(df_bajas$FECHA.DE.NACIMIENTO)
fecha_actual <- Sys.Date()
df_bajas$EDAD <- round(as.numeric(difftime(fecha_actual, df_bajas$FECHA.DE.NACIMIENTO, units = "days") / 365.25))

datos_actuales$FECHA.DE.NACIMIENTO <- mdy(datos_actuales$FECHA.DE.NACIMIENTO)
datos_actuales$EDAD <- round(as.numeric(difftime(fecha_actual, datos_actuales$FECHA.DE.NACIMIENTO, units = "days") / 365.25))

Nueva columna que da a conocer los días trabajados de cada persona

df_bajas$FECHA.DE.ALTA <- dmy(df_bajas$FECHA.DE.ALTA)
df_bajas$BAJA <- dmy(df_bajas$BAJA)
df_bajas$DIAS.LABORADOS.CALCULADO <- as.numeric(difftime(df_bajas$BAJA, df_bajas$FECHA.DE.ALTA, units = "days"))

datos_actuales$FECHA.DE.ALTA <- mdy(datos_actuales$FECHA.DE.ALTA)
datos_actuales$BAJA <- fecha_actual
datos_actuales$DIAS.LABORADOS.CALCULADO <- as.numeric(difftime(datos_actuales$BAJA, datos_actuales$FECHA.DE.ALTA, units = "days"))

Creación de la columan Dirección, para conocer el domicilio del personal

df_bajas$DIRECCION <- paste(df_bajas$CALLE, df_bajas$NUMERO.INTERNO, df_bajas$COLONIA, df_bajas$MUNICIPIO, df_bajas$ESTADO, sep = ", ")

datos_actuales$DIRECCION <- paste(datos_actuales$CALLE, datos_actuales$NUMERO.INTERNO, datos_actuales$COLONIA, datos_actuales$MUNICIPIO, datos_actuales$ESTADO, sep = ", ")
datos_actuales<- as.data.frame(lapply(datos_actuales, toupper))

Organización de los Datos

datos_actuales$BAJA <- as.Date(datos_actuales$BAJA)
df_bajas$BAJA <- as.Date(df_bajas$BAJA)
datos_actuales$FECHA.DE.NACIMIENTO <- as.Date(datos_actuales$FECHA.DE.NACIMIENTO)   
datos_actuales$FECHA.DE.ALTA <- as.Date(datos_actuales$FECHA.DE.ALTA) 
datos_actuales$SALARIO <- as.numeric(datos_actuales$SALARIO)
df_bajas$SALARIO <- as.numeric(df_bajas$SALARIO)
df_bajas$EDAD <- as.numeric(df_bajas$EDAD)
datos_actuales$EDAD <- as.numeric(datos_actuales$EDAD) 
datos_actuales$DIAS.LABORADOS.CALCULADO <- as.numeric(datos_actuales$DIAS.LABORADOS.CALCULADO)
df_bajas$DIAS.LABORADOS.CALCULADO <- as.numeric(df_bajas$DIAS.LABORADOS.CALCULADO)

Creación de un data frame Consolidado

df_consolidado <- bind_rows(df_bajas, datos_actuales)

Se creó una nueva Columna, “PUESTO_ N”, en donde hay una serie de nomencalturas/abreviaciones, estas son relacionadas a la Columna Puesto, esto con la finalidad de poder manejar de manera más fácil los códigos y que ciertas gráficas se vieran de mejor manera.

df_consolidado <- df_consolidado %>%
  mutate(PUESTO.N = case_when(
    PUESTO %in% c("AYUDANTE GENERAL", "AY.GENERAL") ~ "A.G.",
    PUESTO %in% c("GESTOR") ~ "GT.",
    PUESTO %in% c("SOLDADOR", "AYUDANTE SOLDADOR") ~ "SDR.",
    PUESTO %in% c("AYUDANTE DE EMBARQUES") ~ "A.D.E.",
    PUESTO %in% c("CHOFER GESTOR", "CHOFER") ~ "CHO.",
    PUESTO %in% c("COSTURERA", "COSTURERO", "COSTURA") ~ "COS.",
    PUESTO %in% c("ENFERMERA") ~ "EN.",
    PUESTO %in% c("GUARDIA DE SEGURIDAD", "GUARDIA SEGURIDAD") ~ "G.D.S.",
    PUESTO %in% c("INSPECTOR DE CALIDAD", "CALIDAD") ~ "I.C.",
    PUESTO %in% c("LIMPIEZA") ~ "LPZ.",
    PUESTO %in% c("MATERIALISTA") ~ "MAT.",
    PUESTO %in% c("MONTACARGISTA") ~ "MC.",
    PUESTO %in% c("PINTOR", "AYUDANTE PINTOR") ~ "PI.",
    PUESTO %in% c("RESIDENTE", "RESIDENTE YANFENG CIENEGA") ~ "RDT.",
    PUESTO %in% c("MANTENIMIENTO") ~ "MTO.",
    PUESTO %in% c("ANALISTA DE NOMINAS") ~ "A.D.N.",
    PUESTO %in% c("CUSTOMER SERVICE INF") ~ "C.S.I.",
    PUESTO %in% c("CORTADOR") ~ "COR.",
    PUESTO %in% c("DISEÑO") ~ "DIS.",
    PUESTO %in% c("EXTERNO") ~ "EX.",
    PUESTO %in% c("FACTURACION") ~ "FAC.",
    PUESTO %in% c("JEFE DE SEGURIDAD E HIGIENE") ~ "J.S.H.",
    PUESTO %in% c("LIDER") ~ "LI.",
    PUESTO %in% c("MARCADORA") ~ "MAR.",
    PUESTO %in% c("OPERADOR") ~ "OP.",
    PUESTO %in% c("RECIBO") ~ "RBO.",
    PUESTO %in% c("SERVICIO AL CLIENTE") ~ "S.C.",
    PUESTO %in% c("SUPERVISOR") ~ "SUP.",
    TRUE ~ PUESTO
  ))
A continuación se muestra el glosario de dicha columna
Glosario de las nomencalturas de los Puestos
Glosario de las nomencalturas de los Puestos
A continuación se muestran los primeros 6 renglones de la base de datos
dataRH<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\CFORMF.csv")

head(dataRH)
##   FECHA.DE.NACIMIENTO    GENERO FECHA.DE.ALTA BAJA DIAS_LABORADOS
## 1          23/12/1994 MASCULINO    18/08/2022    0             NA
## 2          23/10/2002 MASCULINO    18/02/2022    0             NA
## 3          11/03/1995 MASCULINO    11/01/2017    0             NA
## 4          01/11/1992 MASCULINO    03/11/2020    0             NA
## 5          29/09/1976  FEMENINO    16/02/2022    0             NA
## 6          07/07/1966  FEMENINO    01/06/2022    1             NA
##             PUESTO PUESTO_N DEPARTAMENTO SALARIO.DIARIO.IMSS
## 1    MANTENIMIENTO      MTO                           180.68
## 2 AYUDANTE GENERAL     A.G.     Ay.flexo              180.68
## 3 AYUDANTE GENERAL     A.G.        Cedis              176.72
## 4 AYUDANTE GENERAL     A.G.        Cedis              176.72
## 5 AYUDANTE GENERAL     A.G.       Celdas              180.68
## 6 AYUDANTE GENERAL     A.G.       Celdas              180.68
##   FACTOR.CRED.INFONAVIT    LUGAR.DE.NACIMIENTO          CALLE NUMERO.INTERNO
## 1                     0 EBANO, SAN LUIS POTOSI MIER Y NORIEGA           106B
## 2                     0  MONTERREY, NUEVO LEON PORTAL GALICIA            219
## 3                     0                               OCEANIA               
## 4                     0                             TASAJILLO            220
## 5                     0    HIDALGO, TAMAULIPAS  RIO ESCONDIDO            760
## 6                     0      CANATLAN, DURANGO     HABICHUELA            306
##                     COLONIA    MUNICIPIO     ESTADO ESTADO.CIVIL
## 1    MIRADOR DE SAN ANTONIO       JUAREZ NUEVO LEON   MATRIMONIO
## 2          PORTAL DEL VALLE      APODACA NUEVO LEON     SOLTERIA
## 3 FRACC. OCEANIA BOULEVARES     SALTILLO   COAHUILA   MATRIMONIO
## 4                 EL CACTUS RAMOS ARIZPE   COAHUILA  UNION LIBRE
## 5              PUEBLO NUEVO      APODACA NUEVO LEON     SOLTERIA
## 6          POLICIA AUXILIAR    GUADALUPE NUEVO LEON     SOLTERIA

Pregunta 1: ¿El darle prioridad a las mujeres en la cuestión de contratación de personal en el puesto de Ayudante General, puedo reducir la rotación de personal y aumentar la productividad de la empresa?

Se tomó la base de datos “BDD_FORM_BAJAS_2023” para poder conocer sobre las diferentes razones del porque la gente sale de la empresa, para esto se usaron argumentos/funicones como group_by,count,mutate,arrange y round; para conocer porcentajes y como se relacionan los datos

rh_ba<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\BDD_FORM_BAJAS_2023.csv")
head(rh_ba)
##   No.           Apellidos         Nombre Fecha.de.Nacimiento    Genero
## 1   1     Perez Chavarria Yessica Yazmin          13/02/1985  Femenino
## 2   1       Pecina Aleman  Blanca Idalia          25/05/1966  Femenino
## 3   1         Suarez Romo    Julio Cesar          27/06/1969 Masculino
## 4   1   Ortiz De La Torre        Fermina          07/07/1966  Femenino
## 5   1 Gallegos Manzanares       Veronica          28/11/1973  Femenino
## 6   1        Guzman Reyes  Carlos Benito          25/11/2002 Masculino
##             RFC Fecha.de.Alta Primer.Mes Cuarto.Mes Fecha.de.Baja
## 1 PECY850213QS8    05/09/2022 05/10/2022 05/01/2023    02/01/2023
## 2 PEAB660525QT5    06/10/2022 05/11/2022 05/02/2023    02/01/2023
## 3 SURJ690627TK7    01/12/2017 31/12/2017 31/03/2018    05/01/2023
## 4 OITF660712QD2    01/06/2022 01/07/2022 29/09/2022    05/01/2023
## 5 GAMV731128LZA    22/10/2022 21/11/2022 21/02/2023    05/01/2023
## 6 GURC021125UL8    06/01/2023 05/02/2023 08/05/2023    07/01/2023
##          Motivo.de.Baja                                         Observaciones
## 1 Separacion voluntaria              Se retiro para cuidar de su (s) hije (s)
## 2 Separacion voluntaria No hay observacion registrada sobre el motivo de baja
## 3 Separacion voluntaria                                 Encontro otro empleo 
## 4 Separacion voluntaria            Se encontraba agotad@ por la carga laboral
## 5 Separacion voluntaria                                                      
## 6 Separacion voluntaria                                                      
##             Puesto Puesto_Nom      Dpto         Imss     SD
## 1 AYUDANTE GENERAL       A.G.  Stabilus  43048517130 180.68
## 2 AYUDANTE GENERAL       A.G.            43056601958 180.68
## 3           GESTOR        GT. Embarques  43956909626 176.72
## 4 AYUDANTE GENERAL       A.G.    Celdas  43946623980 180.68
## 5 AYUDANTE GENERAL       A.G.           03 907303238 180.68
## 6         SOLDADOR       SDR.           0 3190285142 180.68
##   Factor.de.Credito.Infonavit No..De.Credito.Infonavit   Lugar.de.Nacimiento
## 1                         N/A                      N/A MONTERREY, NUEVO LEON
## 2                         N/A                      N/A ARAMBERRI, NUEVO LEON
## 3                                                                           
## 4                         N/A                      N/A     CANATLAN, DURANGO
## 5                         N/A                      N/A Guadalupe, Nuevo Leon
## 6                         N/A                      N/A   Tampico, Tamaulipas
##                  CURP             Calle Numero              Colonia Municipio
## 1  PECY850213MNLRHS03          Alemania   1170       Vivienda Digna   Apodaca
## 2  PEAB660525MNLCLL07 Rio Guayalejo Sur    304         Pueblo Nuevo   Apodaca
## 3  SURJ690627HNLRML04          Mar Rojo                  Loma Linda Monterrey
## 4 OITF660712MDGRRR023        Habichuela    306     Policia Auxiliar Guadalupe
## 5  GAMV731128MNLLNR04           Romanos    341 Milenium Residencial   Apodaca
## 6  GURC021125HTSZYRB7       Rio Salinas    122         Pueblo Nuevo   Apodaca
##       Estado    CP Estado.Civil Numero.de.Telefono
## 1 Nuevo León 66647      Soltera         8133726737
## 2 Nuevo Leon 66646       Casada         8115902048
## 3 Nuevo León 64120       Casado         8110206284
## 4 Nuevo León 67114      Soltera         8130933136
## 5 Nuevo Leon 66646       Casada         8184705262
## 6 Nuevo Leon 66646      Soltero                 NA
rh_ba2<-rh_ba%>%group_by(Observaciones)%>%count()%>%ungroup()%>%mutate(pcnt=n/sum(n)*100)%>%arrange(pcnt)

rh_ba2$pcnt<-round(rh_ba2$pcnt,2)

rh_ba3 <- rh_ba2 %>% mutate(csum = rev(cumsum(rev(pcnt))), 
         pos = pcnt/2 + lead(csum, 1),
         pos = if_else(is.na(pos), pcnt/2, pos))


ggplot(rh_ba2,aes(x="",y=pcnt,fill=Observaciones))+geom_bar(stat="identity")+coord_polar(theta="y")+theme(legend.position = "none")+geom_label_repel(data=rh_ba3,aes(x=c(.0003,0.15,0.32,0.5,0.7,0.9,1.1,1.3,1.5,1.7,1.9,2.1,2.3,2.5,2.7,1,0.98,1),y=pos,label=paste0(pcnt,"%")),size=4.5,nudge_x=1,max.overlaps=30,show.legend = FALSE)+theme_void()+  theme(legend.position = "bottom")+labs(title="Razones de las bajas laborales de FORM 2023")+scale_fill_manual(values = mi_paleta)

##### La gráfica nos confirma lo que nos mencionó con anterioridad el CEO de la empresa; los empleados no mencionan el motivo por el que están abandonando la compaía. De 279 personas, solamente el 23.7% registró el motivo por el que estaba dejando a FORM. Los motivos que se encontraron son:

1.Encontró otro empleo (8.6%)
2. Asilio político en USA (2.87%)
3. Se retiro para cuidar de su (s) hije (s) (2.15%)
4. Tuvo mas de 3 faltas y ella misma decidio irse (1.79%)
5. Cambio de estado/residencia (1.79%)
g = ggplot(rh_ba, aes(Puesto_Nom, fill=Genero) ) + labs(title = "Distribución de Bajas por Género Por puesto de Trabajo",x="Puesto (Abreviado)")+ylab("Número de Personas") + theme(plot.title = element_text(size = rel(2), colour = "darkgoldenrod3"))

g+geom_bar(position="dodge") + theme(axis.title.x = element_text(face="bold", size=10)) + theme_minimal() + theme(axis.text.x = element_text(angle = 90, hjust = 1))+ scale_fill_manual(values = mi_paleta)

El número más alto de bajas son del género femenino, pero esto se relaciona primeramente a que existen más empleados de este género en la compañía. Y en segundo lugar, tiene relación con los motivos registrados de bajas.
Con esta información se pueden tomar decisiones para retener a los empleados, ya que si se les ofrecieran mejores oportunidades no se cambiarían tan fácilmente de trabajo. De igual forma si se les diera alguna opción para el cuidado de sus hijos (Cambio en las jornadas laborales, estancia para el cuidado de los niños, entre otras) podría disminuirse esta brecha que se está yendo debido a cuidado de su familia.
dataRH$FECHA.DE.NACIMIENTO<-as.Date(dataRH$FECHA.DE.NACIMIENTO, format = "%d/%m/%Y")
fecha_actual<-Sys.Date()
diferencia_dias<-as.numeric(difftime(fecha_actual,dataRH$FECHA.DE.NACIMIENTO,units = "days"))
dataRH$EDAD<-diferencia_dias/365.25
dataRH$EDAD<-round(dataRH$EDAD,digits=0)

dataRH2<-dataRH%>%filter(BAJA==0)
dataRH2$FECHA.DE.ALTA<-as.Date(dataRH2$FECHA.DE.ALTA, format = "%d/%m/%Y")
dataRH2<-dataRH2%>%mutate(DiasTrabajados=as.numeric(difftime(fecha_actual,dataRH2$FECHA.DE.ALTA,units="days")))
dataRH3<-dataRH2%>%select(DiasTrabajados,FECHA.DE.ALTA,EDAD,GENERO,PUESTO,PUESTO_N)
dataRH3<-dataRH3%>%arrange(desc(DiasTrabajados))



prom_edad<- mean(dataRH$EDAD)
summary(dataRH)
##  FECHA.DE.NACIMIENTO     GENERO          FECHA.DE.ALTA           BAJA       
##  Min.   :1949-11-21   Length:350         Length:350         Min.   :0.0000  
##  1st Qu.:1983-02-12   Class :character   Class :character   1st Qu.:0.0000  
##  Median :1992-11-17   Mode  :character   Mode  :character   Median :1.0000  
##  Mean   :1990-03-04                                         Mean   :0.7143  
##  3rd Qu.:1999-04-12                                         3rd Qu.:1.0000  
##  Max.   :2004-04-02                                         Max.   :1.0000  
##                                                                             
##  DIAS_LABORADOS       PUESTO            PUESTO_N         DEPARTAMENTO      
##  Min.   :   0.00   Length:350         Length:350         Length:350        
##  1st Qu.:   9.00   Class :character   Class :character   Class :character  
##  Median :  19.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :  78.43                                                           
##  3rd Qu.:  48.50                                                           
##  Max.   :1966.00                                                           
##  NA's   :127                                                               
##  SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT LUGAR.DE.NACIMIENTO
##  Min.   :1.440e+02   Min.   :0.00000       Length:350         
##  1st Qu.:1.770e+02   1st Qu.:0.00000       Class :character   
##  Median :1.810e+02   Median :0.00000       Mode  :character   
##  Mean   :4.359e+06   Mean   :0.05714                          
##  3rd Qu.:1.810e+02   3rd Qu.:0.00000                          
##  Max.   :1.517e+09   Max.   :1.00000                          
##  NA's   :1                                                    
##     CALLE           NUMERO.INTERNO       COLONIA           MUNICIPIO        
##  Length:350         Length:350         Length:350         Length:350        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##     ESTADO          ESTADO.CIVIL            EDAD      
##  Length:350         Length:350         Min.   :19.00  
##  Class :character   Class :character   1st Qu.:24.00  
##  Mode  :character   Mode  :character   Median :31.00  
##                                        Mean   :33.55  
##                                        3rd Qu.:41.00  
##                                        Max.   :74.00  
## 
Rango_edad<- max(dataRH$EDAD)-min(dataRH$EDAD)

N<-length(dataRH$EDAD)
Varianza_edad<- var(dataRH$EDAD)
DesvEs_edad<-sd(dataRH$EDAD)
prom_edad
## [1] 33.54571
Rango_edad
## [1] 55
Varianza_edad
## [1] 122.4091
DesvEs_edad
## [1] 11.06386
Con estas medidas de dispersión con respecto a la edad del personal de FORM, podemos decir que existe una diferencia 55 años entre la persona más joven y con más edad de FORM, es por esto que nuestra Varianza tiene un valor alto (122.6) lo que signfiica que hay diferencias significativas entre las edades de las personas con respecto a la edad media de la personas de la empresa (33.5). El valor de la Desviación Estándar nos indica que la mayoría de nuestras edades estarán a menos o mas de 11 años del promedio de edad del personal (33.5)
dataRH4<-dataRH3%>%filter(PUESTO_N=="A.G.")
ggplot(dataRH4, aes(x=DiasTrabajados, y=GENERO, fill=GENERO)) + geom_bar(stat="identity") + xlab("") + labs(title = "Días trabajados por cada género") + scale_fill_manual(values = mi_paleta)

dataRH4F<-dataRH4%>%filter(GENERO=="FEMENINO")
dataRH4M<-dataRH4%>%filter(GENERO=="MASCULINO")

head(dataRH4F,10)
##    DiasTrabajados FECHA.DE.ALTA EDAD   GENERO           PUESTO PUESTO_N
## 1            1689    2019-01-28   36 FEMENINO AYUDANTE GENERAL     A.G.
## 2            1595    2019-05-02   39 FEMENINO AYUDANTE GENERAL     A.G.
## 3            1346    2020-01-06   56 FEMENINO AYUDANTE GENERAL     A.G.
## 4             902    2021-03-25   30 FEMENINO AYUDANTE GENERAL     A.G.
## 5             902    2021-03-25   27 FEMENINO AYUDANTE GENERAL     A.G.
## 6             882    2021-04-14   27 FEMENINO AYUDANTE GENERAL     A.G.
## 7             872    2021-04-24   52 FEMENINO AYUDANTE GENERAL     A.G.
## 8             839    2021-05-27   54 FEMENINO AYUDANTE GENERAL     A.G.
## 9             708    2021-10-05   61 FEMENINO AYUDANTE GENERAL     A.G.
## 10            638    2021-12-14   39 FEMENINO AYUDANTE GENERAL     A.G.
head(dataRH4M,10)
##    DiasTrabajados FECHA.DE.ALTA EDAD    GENERO           PUESTO PUESTO_N
## 1            2577    2016-08-23   27 MASCULINO AYUDANTE GENERAL     A.G.
## 2            2436    2017-01-11   29 MASCULINO AYUDANTE GENERAL     A.G.
## 3            2209    2017-08-26   59 MASCULINO AYUDANTE GENERAL     A.G.
## 4            1315    2020-02-06   23 MASCULINO AYUDANTE GENERAL     A.G.
## 5            1131    2020-08-08   54 MASCULINO AYUDANTE GENERAL     A.G.
## 6            1119    2020-08-20   46 MASCULINO AYUDANTE GENERAL     A.G.
## 7            1044    2020-11-03   31 MASCULINO AYUDANTE GENERAL     A.G.
## 8             704    2021-10-09   21 MASCULINO AYUDANTE GENERAL     A.G.
## 9             678    2021-11-04   22 MASCULINO AYUDANTE GENERAL     A.G.
## 10            664    2021-11-18   21 MASCULINO AYUDANTE GENERAL     A.G.
summary(dataRH4F)
##  DiasTrabajados   FECHA.DE.ALTA             EDAD          GENERO         
##  Min.   : 386.0   Min.   :2019-01-28   Min.   :21.00   Length:31         
##  1st Qu.: 415.5   1st Qu.:2021-06-28   1st Qu.:28.00   Class :character  
##  Median : 518.5   Median :2022-04-12   Median :39.00   Mode  :character  
##  Mean   : 651.6   Mean   :2021-11-30   Mean   :38.55                     
##  3rd Qu.: 806.2   3rd Qu.:2022-07-24   3rd Qu.:49.50                     
##  Max.   :1689.0   Max.   :2022-08-23   Max.   :61.00                     
##  NA's   :1        NA's   :1                                              
##     PUESTO            PUESTO_N        
##  Length:31          Length:31         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
##                                       
## 
summary(dataRH4M)
##  DiasTrabajados   FECHA.DE.ALTA             EDAD          GENERO         
##  Min.   : 386.0   Min.   :2016-08-23   Min.   :20.00   Length:24         
##  1st Qu.: 414.2   1st Qu.:2020-10-15   1st Qu.:21.00   Class :character  
##  Median : 583.5   Median :2022-02-06   Median :24.00   Mode  :character  
##  Mean   : 850.0   Mean   :2021-05-16   Mean   :28.46                     
##  3rd Qu.:1062.8   3rd Qu.:2022-07-25   3rd Qu.:31.00                     
##  Max.   :2577.0   Max.   :2022-08-23   Max.   :59.00                     
##     PUESTO            PUESTO_N        
##  Length:24          Length:24         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
## 
El personal que más ha trabajado en FORM es de género masculino, pero en cuestión de edad, el promedio es más alto en el género femenino ya que quienes se han mantenido en la empresa tienen un promedio de 38.55 años mientras que los hombres obtuvieron un promedio menor de 28.38 años. Esto indica que que los hombres buscan trabajar en la empresa a corta edad, pero que al pasar los años deciden irse o buscar otras oportunidades.

Respuesta Pregunta 1

¿El darle prioridad a las mujeres en la cuestión de contratación de personal en el puesto de Ayudante General, puedo reducir la rotación de personal y aumentar la productividad de la empresa?
Es necesario tomar decisiones con recursos humanos para reducir la rotación de personal. Opciones como “estancias infantiles” probablemente no serían tan viables para la compañia, pero lo que si es seguro es que se debe hacer un cambio en las prestaciones y oportunidades que se les brinda a los empleados, para asi lograr que piensen más antes de tomar la decisión de irse a otro empleo. De igual forma se deben implementar capacitaciones y programas incentivos que mejoren el marketing interno de la compañía. Por otro lado, el promedio de edades nos ayuda a tener una idea de qué candidatos son más pertinentes para su contratación.

Pregunta 2: ¿ Son el estado civil y el género factores vinculados en la rotación de empleados o no representan ninguna relación?

Librerías usadas

library(readxl)
library(tidyverse)
library(writexl)
library(psych)
library(dplyr)
library(lubridate)
library (ggplot2)
library(janitor)
library(dplyr)

Grafica

i <- 238
df_bajas_f<- subset(df_bajas, !row.names(df_bajas)==i)
summary (df_bajas_f)
##  ï..APELLIDOS          NOMBRE          FECHA.DE.NACIMIENTO     GENERO         
##  Length:516         Length:516         Min.   :1961-10-09   Length:516        
##  Class :character   Class :character   1st Qu.:1985-12-26   Class :character  
##  Mode  :character   Mode  :character   Median :1995-02-09   Mode  :character  
##                                        Mean   :1992-05-15                     
##                                        3rd Qu.:2000-10-04                     
##                                        Max.   :2022-10-31                     
##                                                                               
##      RFC            FECHA.DE.ALTA        MOTIVO.DE.BAJA     DIAS.LABORADOS    
##  Length:516         Min.   :2016-10-12   Length:516         Length:516        
##  Class :character   1st Qu.:2022-04-07   Class :character   Class :character  
##  Mode  :character   Median :2022-08-27   Mode  :character   Mode  :character  
##                     Mean   :2022-08-27                                        
##                     3rd Qu.:2023-03-24                                        
##                     Max.   :2023-08-23                                        
##                                                                               
##       BAJA               PUESTO          DEPARTAMENTO          SALARIO     
##  Min.   :2021-11-27   Length:516         Length:516         Min.   :144.4  
##  1st Qu.:2022-05-17   Class :character   Class :character   1st Qu.:180.7  
##  Median :2023-01-23   Mode  :character   Mode  :character   Median :180.7  
##  Mean   :2022-11-28                                         Mean   :194.6  
##  3rd Qu.:2023-06-07                                         3rd Qu.:217.6  
##  Max.   :2023-08-28                                         Max.   :500.0  
##  NA's   :14                                                 NA's   :1      
##  FACTOR.CRED.INFONAVIT LUGAR.DE.NACIMIENTO     CURP          
##  Length:516            Length:516          Length:516        
##  Class :character      Class :character    Class :character  
##  Mode  :character      Mode  :character    Mode  :character  
##                                                              
##                                                              
##                                                              
##                                                              
##     CALLE           NUMERO.INTERNO       COLONIA           MUNICIPIO        
##  Length:516         Length:516         Length:516         Length:516        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##     ESTADO          ESTADO.CIVIL       OBSERVACIONES           CP           
##  Length:516         Length:516         Length:516         Length:516        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##       EDAD       DIAS.LABORADOS.CALCULADO  DIRECCION        
##  Min.   : 1.00   Min.   :-279.00          Length:516        
##  1st Qu.:23.00   1st Qu.:   8.00          Class :character  
##  Median :29.00   Median :  21.00          Mode  :character  
##  Mean   :31.34   Mean   :  87.04                            
##  3rd Qu.:38.00   3rd Qu.:  85.00                            
##  Max.   :62.00   Max.   :1966.00                            
##                  NA's   :14
GeneroyEstadocivil <- select(df_bajas_f,GENERO, ESTADO.CIVIL)
ggplot(GeneroyEstadocivil,aes(GENERO))+geom_bar(aes(fill=ESTADO.CIVIL), width= 0.5) + labs(title = "Estado Civil por Género")+ scale_fill_manual(values = mi_paleta) 

Estadísticos Descriptivos

df_bajas_f$ESTADO.CIVIL <- as.factor(df_bajas_f$ESTADO.CIVIL)
summary(df_bajas_f$ESTADO.CIVIL)
##    DIVORCIO  MATRIMONIO     SOLTERO UNION LIBRE 
##           3         137         247         129
Moda: En ambos sexos la moda de estado civil es “Soltero” con casi el 50% de las respuestas.
245 de 514 respuestas se encuentran en esta categor?a.
No es posible hacer estadísticos descriptivos debido a que son variables cualitativas

Tablas de Frecuencia

frecuenciagenero <- table(df_bajas_f$GENERO)
frecuenciagenero
## 
##  FEMENINO MASCULINO 
##       289       227
frecuenciaestadocivil <- table(df_bajas_f$ESTADO.CIVIL)
frecuenciaestadocivil
## 
##    DIVORCIO  MATRIMONIO     SOLTERO UNION LIBRE 
##           3         137         247         129

Tablas de Contingencia

tabyl(df_bajas_f,GENERO,ESTADO.CIVIL)
##     GENERO DIVORCIO MATRIMONIO SOLTERO UNION LIBRE
##   FEMENINO        2         76     136          75
##  MASCULINO        1         61     111          54

Respuesta Pregunta 2

Pregunta 2: ¿ Son el estado civil y el género factores vinculados en la rotación de empleados o no existe relación entre ambos?
Si tomamos en cuenta la cantidad de empleados de cada género y la moda obtenida, que en este caso es el estado civil “soltero”, obtenemos porcentajes muy similares.
Personas de género femenino solteras: 47%
Personas de género masculino solteros: 48%
Tomando en cuenta los resultados de la pregunta 1, se esperaba que la rotación de empleados de género femenino fuera más alta al tener una pareja o familia, debido a los motivos que dieron al dejar la compañía, sin embargo, ambos géneros van a la par, lo cual indica que no es algo relevante al momento de determinar los motivos de rotación.

Pregunta 3: El motivo más frecuente de bajas es la falta de asistencia, lo cual aumenta el índice de rotación, ¿En qué estación del año tienden a suceder más bajas? ¿El clima será un factor determinante?

Librerías Usadas

library(tidyverse)
library(dplyr)
library(ggplot2)
library(lubridate)

Carga de la base de datos

data<-read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\E_form_rh_bajas_datos_2022.csv")

Análisis de las fechas

data$Fecha <- dmy(data$BAJA)

Obtención del mes de cada fecha

data$Mes <- month(data$Fecha)

Mapeo de los meses a las estaciones del año

data$Estacion <- case_when(
  data$Mes %in% c(3, 4, 5) ~ "Primavera",
  data$Mes %in% c(6, 7, 8) ~ "Verano",
  data$Mes %in% c(9, 10, 11) ~ "Otoño",
  data$Mes %in% c(12, 1, 2) ~ "Invierno",
  TRUE ~ NA_character_
)

Conteo de observaciones en cada estación

estacion_frecuencia <- table(data$Estacion)

Descubrimiento de la estación con el recuento más alto

estacion_mas_comun <- names(estacion_frecuencia[which.max(estacion_frecuencia)])

Impresión del resultado

cat("La estación con más bajas es:", estacion_mas_comun)
## La estación con más bajas es: Primavera

Cálculo de la frecuenia de bajas por estación

estacion_frecuencia <- table(data$Estacion)

Conversión de resultados a un dataframe

tabla_bajas_por_estacion <- as.data.frame(estacion_frecuencia)

Se renombra las columnas para mayor claridad

colnames(tabla_bajas_por_estacion) <- c("Estacion", "Cantidad_Bajas")

print(tabla_bajas_por_estacion)
##    Estacion Cantidad_Bajas
## 1  Invierno             58
## 2     Otoño              1
## 3 Primavera             84
## 4    Verano             80

Se crea el gráfico de barras

ggplot(tabla_bajas_por_estacion, aes(x = Estacion, y = Cantidad_Bajas)) +
  geom_bar(stat = "identity", color = "plum4", width = 0.7, fill = "plum3") +
  labs(title = "Cantidad de Bajas por Estación del Año 2022", subtitle = "Recursos Humanos", x = "Estación", y = "Cantidad de Bajas")

Respuesta Pregunta 3

Pregunta 3: El motivo más frecuente de bajas es la falta de asistencia, lo cual aumenta el índice de rotación, ¿En qué estación del año tienden a suceder más bajas? ¿El clima será un factor determinante?
Es posible observar que durante el año 2022 el periodo estacional que reportó más bajas de personal fue la primavera y el verano respectivamente, los cuales se encuentran situados entre los meses de Marzo y Septiembre, meses donde se reportan las temperaturas más elevadas en la ciudad de Monterrey, Nuevo León. Por lo tanto, la exposición a condiciones térmicas elevadas puede suponer un factor de estrés e insatisfacción laboral, ya que se relaciona con problemas de salud, comodidad, concentración y con un mayor riesgo de sufrir accidentes de trabajo ocasionando las bajas del personal de Form. Se recomienda apoyarse de la Norma Oficial Mexicana NOM-015-STPS-1993.
Como información adicional, a continuación se comparten datos de fuentes secundarias sobre la temperatura registrada en Monterrey durante el 2022, por mes y hora.

Datos Históricos de Tempratura del 2022 en Monterrey

WeatherSpark
WeatherSpark
El intervalo diario de temperaturas reportadas (barras grises) y las máximas (marcas rojas) y mínimas (marcas azules) de 24 horas, colocadas arriba del promedio diario de la máxima (línea rojo claro) y de la mínima (línea azul claro), con las bandas de los percentiles 25 a 75 y 10 a 90.

Temperatura por Hora del 2022 en Monterrey

WeatherSpark
WeatherSpark
La temperatura reportada por hora, codificada por colores en bandas. Las áreas sombreadas superpuestas indican la noche y el crepúsculo civil.

Pregunta 4:¿La edad del trabajador puede ser un determinante de por qué se dan de baja?

Carga de la base de datos

datos_E<- read.csv("C:\\Users\\A00831614\\Documents\\Directorio de trabajo\\E_FORM_Consolidado.csv")

Limpieza de Datos

datos_E$FECHA.DE.NACIMIENTO <- as.Date(datos_E$FECHA.DE.NACIMIENTO, format = "%d/%m/%Y")

Cálculo de la edad en años

datos_E <- datos_E %>%
  mutate(edad = as.integer(difftime(Sys.Date(), FECHA.DE.NACIMIENTO, units = "days") / 365.25))

head(datos_E)
##   FECHA.DE.NACIMIENTO    GENERO FECHA.DE.ALTA BAJA DIAS_LABORADOS
## 1          1994-12-23 MASCULINO    18/08/2022    0             NA
## 2          2002-10-23 MASCULINO    18/02/2022    0             NA
## 3          1995-03-11 MASCULINO    11/01/2017    0             NA
## 4          1992-11-01 MASCULINO    03/11/2020    0             NA
## 5          1976-09-29  FEMENINO    16/02/2022    0             NA
## 6          1966-07-07  FEMENINO    01/06/2022    1             NA
##             PUESTO DEPARTAMENTO SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
## 1    MANTENIMIENTO                           180.68                     0
## 2 AYUDANTE GENERAL     Ay.flexo              180.68                     0
## 3 AYUDANTE GENERAL        Cedis              176.72                     0
## 4 AYUDANTE GENERAL        Cedis              176.72                     0
## 5 AYUDANTE GENERAL       Celdas              180.68                     0
## 6 AYUDANTE GENERAL       Celdas              180.68                     0
##      LUGAR.DE.NACIMIENTO          CALLE NUMERO.INTERNO
## 1 EBANO, SAN LUIS POTOSI MIER Y NORIEGA           106B
## 2  MONTERREY, NUEVO LEON PORTAL GALICIA            219
## 3                               OCEANIA               
## 4                             TASAJILLO            220
## 5    HIDALGO, TAMAULIPAS  RIO ESCONDIDO            760
## 6      CANATLAN, DURANGO     HABICHUELA            306
##                     COLONIA    MUNICIPIO     ESTADO ESTADO.CIVIL EDAD edad
## 1    MIRADOR DE SAN ANTONIO       JUAREZ NUEVO LEON   MATRIMONIO   NA   28
## 2          PORTAL DEL VALLE      APODACA NUEVO LEON     SOLTERIA   NA   20
## 3 FRACC. OCEANIA BOULEVARES     SALTILLO   COAHUILA   MATRIMONIO   NA   28
## 4                 EL CACTUS RAMOS ARIZPE   COAHUILA  UNION LIBRE   NA   30
## 5              PUEBLO NUEVO      APODACA NUEVO LEON     SOLTERIA   NA   46
## 6          POLICIA AUXILIAR    GUADALUPE NUEVO LEON     SOLTERIA   NA   57

Cálculo de los días trabajados

datos_E$FECHA.DE.ALTA <- as.Date(datos_E$FECHA.DE.ALTA, format = ("%d/%m/%Y"))

# Obtener la fecha actual
fecha_actual <- Sys.Date()

datos_E <- datos_E %>%
  mutate(dias_trabajados = ifelse(BAJA == 1, 0, difftime(fecha_actual, FECHA.DE.ALTA, units = "days")))

head(datos_E)
##   FECHA.DE.NACIMIENTO    GENERO FECHA.DE.ALTA BAJA DIAS_LABORADOS
## 1          1994-12-23 MASCULINO    2022-08-18    0             NA
## 2          2002-10-23 MASCULINO    2022-02-18    0             NA
## 3          1995-03-11 MASCULINO    2017-01-11    0             NA
## 4          1992-11-01 MASCULINO    2020-11-03    0             NA
## 5          1976-09-29  FEMENINO    2022-02-16    0             NA
## 6          1966-07-07  FEMENINO    2022-06-01    1             NA
##             PUESTO DEPARTAMENTO SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
## 1    MANTENIMIENTO                           180.68                     0
## 2 AYUDANTE GENERAL     Ay.flexo              180.68                     0
## 3 AYUDANTE GENERAL        Cedis              176.72                     0
## 4 AYUDANTE GENERAL        Cedis              176.72                     0
## 5 AYUDANTE GENERAL       Celdas              180.68                     0
## 6 AYUDANTE GENERAL       Celdas              180.68                     0
##      LUGAR.DE.NACIMIENTO          CALLE NUMERO.INTERNO
## 1 EBANO, SAN LUIS POTOSI MIER Y NORIEGA           106B
## 2  MONTERREY, NUEVO LEON PORTAL GALICIA            219
## 3                               OCEANIA               
## 4                             TASAJILLO            220
## 5    HIDALGO, TAMAULIPAS  RIO ESCONDIDO            760
## 6      CANATLAN, DURANGO     HABICHUELA            306
##                     COLONIA    MUNICIPIO     ESTADO ESTADO.CIVIL EDAD edad
## 1    MIRADOR DE SAN ANTONIO       JUAREZ NUEVO LEON   MATRIMONIO   NA   28
## 2          PORTAL DEL VALLE      APODACA NUEVO LEON     SOLTERIA   NA   20
## 3 FRACC. OCEANIA BOULEVARES     SALTILLO   COAHUILA   MATRIMONIO   NA   28
## 4                 EL CACTUS RAMOS ARIZPE   COAHUILA  UNION LIBRE   NA   30
## 5              PUEBLO NUEVO      APODACA NUEVO LEON     SOLTERIA   NA   46
## 6          POLICIA AUXILIAR    GUADALUPE NUEVO LEON     SOLTERIA   NA   57
##   dias_trabajados
## 1             391
## 2             572
## 3            2436
## 4            1044
## 5             574
## 6               0

Gráfico de Barras Apiladas

ggplot(datos_E, aes(x = edad, fill = factor(BAJA))) +
  geom_bar() +
  labs(x = "Edad", y = "Cantidad de Personas", fill = "Baja") +
  theme_minimal() + labs(title="Edad de Bajas y No Bajas")+scale_fill_manual(values = mi_paleta)

Respuesta Pregunta 4

Pregunta 4: ¿La edad del trabajador puede ser un determinante de por qué se dan de baja, o hay cierta edad en donde es menos probable que se de una baja?
Esta pregunta se encuentra relacionada con la primera, ya que nos muestra edad de los colaboradores. Podemos observar que la mayor cantidad de las bajas se encuentran entre los 20-35, ya que gran parte de los empleados está entre estos rangos de edad. Lo que podemos analizar de igual forma, es que no es tan viable que ocurra una baja después de los 40, posiblemente porque las personas ya se encuentran asentadas y no están tan interesadas en cambios laborales y nuevas oportunidades como la gente más joven.

Pregunta 5: ¿La distancia geográfica desempeña un papel significativo en la determinación del estatus laboral de los empleados? (Activo o Inactivo)

Las librerías y las bases de datos utilizadas son las mismas que se usaron cuando se realizó la limpieza de Datos Inicial

Agrupación de solo Nuevo León

bajas_nl <- df_bajas %>%
  mutate(ESTADO = ifelse(ESTADO %in% c("NUEVO LEON", "NUEVO LEÓN"), "NUEVO LEON", ESTADO)) %>%
  filter(ESTADO == "NUEVO LEON")

actuales_nl <- datos_actuales %>%
  mutate(ESTADO = ifelse(ESTADO %in% c("NUEVO LEON", "NUEVO LEÓN"), "NUEVO LEON", ESTADO)) %>%
  filter(ESTADO == "NUEVO LEON")

Función Ubicación Geográfica

#clave_api <- "54c60ed2b93e47e6948c618ee0a83db6"
clave_api <- "1eff12f0d3ed448d86c8e799ba5f0a27"

geocode_opencage <- function(direccion, clave_api) {
  url <- paste0("https://api.opencagedata.com/geocode/v1/json?q=", URLencode(direccion),
                "&key=", clave_api)
  respuesta <- GET(url)
  contenido <- content(respuesta, "text", encoding = "UTF-8")
  datos <- jsonlite::fromJSON(contenido)
  return(datos)
}

Latitud y Longitud

bajas_nl$GEOCODE_RESULT <- lapply(bajas_nl$DIRECCION, function(x) geocode_opencage(x, clave_api))
bajas_nl$LATITUD <- sapply(bajas_nl$GEOCODE_RESULT, function(x) x$results$geometry$lat)
bajas_nl$LONGITUD <- sapply(bajas_nl$GEOCODE_RESULT, function(x) x$results$geometry$lng)

actuales_nl$GEOCODE_RESULT <- lapply(actuales_nl$DIRECCION, function(x) geocode_opencage(x, clave_api))
actuales_nl$LATITUD <- sapply(actuales_nl$GEOCODE_RESULT, function(x) x$results$geometry$lat)
actuales_nl$LONGITUD <- sapply(actuales_nl$GEOCODE_RESULT, function(x) x$results$geometry$lng)

Función para calcular el promedio de una lista de números

calcular_promedio <- function(valor) {
  if (is.character(valor)) {
    valores <- tryCatch(eval(parse(text = valor)), error = function(e) NA_real_)
  } else {
    valores <- valor
  }
  valores <- valores[!is.na(valores)] 
  if (length(valores) > 0) {
    return(mean(valores))
  } else {
    return(NA_real_)
  }
}
bajas_nl$LONGITUD <- sapply(bajas_nl$LONGITUD, calcular_promedio)
bajas_nl$LATITUD <- sapply(bajas_nl$LATITUD, calcular_promedio)

actuales_nl$LONGITUD <- sapply(actuales_nl$LONGITUD, calcular_promedio)
actuales_nl$LATITUD <- sapply(actuales_nl$LATITUD, calcular_promedio)

Dirección objetivo

#direccion_objetivo <- "Calle El Sabinal 105, 66645 Apodaca, Nuevo León"

#coordenadas_objetivo <- geocode_opencage(direccion_objetivo, clave_api)

latitud_objetivo <- 25.75419
longitud_objetivo <- -100.17443

Crear una función que calcule la distancia haversine en kilómetros

calcular_distancia_km <- function(lat1, lon1, lat2, lon2) {
  dist_metros <- distHaversine(c(lon1, lat1), c(lon2, lat2))
  dist_km <- dist_metros / 1000  
  return(dist_km)
}
bajas_nl$DISTANCIA.KM <- mapply(calcular_distancia_km, bajas_nl$LATITUD, bajas_nl$LONGITUD, latitud_objetivo, longitud_objetivo)

actuales_nl$DISTANCIA.KM <- mapply(calcular_distancia_km, actuales_nl$LATITUD, actuales_nl$LONGITUD, latitud_objetivo,longitud_objetivo)
copia_actuales_nl <- as.data.frame(lapply(actuales_nl, toupper))
copia_bajas_nl <- as.data.frame(lapply(bajas_nl, toupper))
copia_actuales_nl <- copia_actuales_nl[!is.na(copia_actuales_nl$LATITUD) & !is.na(copia_actuales_nl$LONGITUD), ]
copia_bajas_nl <- copia_bajas_nl[!is.na(copia_bajas_nl$LATITUD) & !is.na(copia_bajas_nl$LONGITUD), ]

copia_actuales_nl$LATITUD <- as.numeric(copia_actuales_nl$LATITUD)
copia_actuales_nl$LONGITUD <- as.numeric(copia_actuales_nl$LONGITUD)
copia_bajas_nl$LATITUD <- as.numeric(copia_bajas_nl$LATITUD)
copia_bajas_nl$LONGITUD <- as.numeric(copia_bajas_nl$LONGITUD)

copia_actuales_nl$DISTANCIA.KM <- as.numeric(copia_actuales_nl$DISTANCIA.KM)
copia_bajas_nl$DISTANCIA.KM <- as.numeric(copia_bajas_nl$DISTANCIA.KM)
copia_actuales_nl <- copia_actuales_nl[copia_actuales_nl$LONGITUD >= -100.5 & copia_actuales_nl$LONGITUD <= -99.9, ]
copia_bajas_nl <- copia_bajas_nl[copia_bajas_nl$LONGITUD >= -100.5 & copia_bajas_nl$LONGITUD <= -99.9, ]

copia_actuales_nl <- copia_actuales_nl[copia_actuales_nl$LATITUD >= 25 & copia_actuales_nl$LATITUD <= 26, ]
copia_bajas_nl <- copia_bajas_nl[copia_bajas_nl$LATITUD >= 25 & copia_bajas_nl$LATITUD <= 26, ]
m <- leaflet() %>%
  addTiles() %>%  # Añade un fondo de mapa real
  addCircleMarkers(
    data = copia_bajas_nl,  # Datos de ubicaciones de registros
    lat = ~LATITUD,  # Nombre de la columna de latitud
    lng = ~LONGITUD,  # Nombre de la columna de longitud
    color = "red",  # Color de los marcadores de registros
    radius = 5,  # Tamaño de los marcadores de registros
    label = "Bajas"  # Etiqueta para los marcadores de registros
  ) %>%
  addCircleMarkers(
    data = copia_actuales_nl,  # Datos de ubicaciones de df_actual
    lat = ~LATITUD,  # Nombre de la columna de latitud en df_actual
    lng = ~LONGITUD,  # Nombre de la columna de longitud en df_actual
    color = "green",  # Color de los marcadores de df_actual
    radius = 5,  # Tamaño de los marcadores de df_actual
    label = "Activos"  # Etiqueta para los marcadores de df_actual
  ) %>%
  addCircleMarkers(
    lat = latitud_objetivo,  # Latitud del destino
    lng = longitud_objetivo,  # Longitud del destino
    color = "blue",  # Color del marcador de destino
    radius = 8,  # Tamaño del marcador de destino
    label = "Destino"  # Etiqueta para el marcador de destino
  )

Visualización del mapa interactivo

m
En este gráfico podemos observar de color rojo la dirección de aquellas personas que ya no forman parte de la empresa, en color verde los colaboradores activos y el punto de color azul es la dirección del socio formador. Se puede observar que la mayoría vive en Apodaca, lo cual significa que la fábrica les queda muy cerca.
class(copia_bajas_nl$DISTANCIA.KM)
## [1] "numeric"
hist(copia_bajas_nl$DISTANCIA.KM, 
     main = "Histograma de Distancia (BAJAS)", 
     xlab = "Distancia en km", 
     ylab = "Frecuencia",
     col = "maroon3",
     border = "maroon4",
     breaks = 20)

##### El histograma nos muestra, que gran parte los empleados que se dieron de baja de la empresa tenían que recorrer distancias de entre 0 y 2 km para llegar a la fábrica.

mediana_bajas_nl <- median(copia_bajas_nl$DISTANCIA.KM)

grupo_cerca_nl <- copia_bajas_nl[copia_bajas_nl$DISTANCIA.KM <= mediana_bajas_nl, ]
grupo_lejos_nl <- copia_bajas_nl[copia_bajas_nl$DISTANCIA.KM > mediana_bajas_nl, ]

frecuencia_cerca_nl <- nrow(grupo_cerca_nl)
frecuencia_lejos_nl <- nrow(grupo_lejos_nl)

cat("Frecuencia de datos CERCA de la mediana:", frecuencia_cerca_nl, "\n")
## Frecuencia de datos CERCA de la mediana: 234
cat("Frecuencia de datos LEJOS de la mediana:", frecuencia_lejos_nl, "\n")
## Frecuencia de datos LEJOS de la mediana: 233
Dados los resultados y la mediana: 1.36, observamos que las frecuencias son muy similares, lo cual nos impide establecer un criterio claro sobre este factor. Es por eso que se realizaron de igual forma los siguientes análisis.
copia_actuales_nl <- copia_actuales_nl %>%
  mutate(ESTATUS = "ACTIVO")
copia_bajas_nl <- copia_bajas_nl %>%
  mutate(ESTATUS = "INACTIVO")

df_consolidad_nl <- bind_rows(copia_bajas_nl, copia_actuales_nl)
hist(df_consolidad_nl$DISTANCIA.KM, 
     main = "Histograma de Distancia (CONSOLIDADO)", 
     xlab = "Distancia en km", 
     ylab = "Frecuencia",
     col = "mediumorchid3",
     border = "mediumorchid4",
     breaks = 20)

intervalos_distancia <- c(0, 1, 2, 3, 5, 10, Inf)

df_consolidad_nl$INT.DISTANCIA <- cut(df_consolidad_nl$DISTANCIA.KM, 
                                            breaks = intervalos_distancia,
                                            labels = c("0-1", "1-2", "2-3", "3-5", "5-10", "10+"),
                                            include.lowest = TRUE)

tc <- tabyl(df_consolidad_nl, INT.DISTANCIA, ESTATUS)

Tabla de Contingencia

tc <- tc %>%
  mutate(TOTAL = rowSums(across(c("ACTIVO", "INACTIVO"))))

tc <- tc %>%
  mutate(PORCENTAJE.ACTIVO = round(ACTIVO / TOTAL * 100),
         PORCENTAJE.INACTIVO = round(INACTIVO / TOTAL * 100))
tc
##  INT.DISTANCIA ACTIVO INACTIVO TOTAL PORCENTAJE.ACTIVO PORCENTAJE.INACTIVO
##            0-1      5       37    42                12                  88
##            1-2     44      259   303                15                  85
##            2-3     10       25    35                29                  71
##            3-5      9       17    26                35                  65
##           5-10      7       37    44                16                  84
##            10+     22       92   114                19                  81
Esta tabla nos muestra que la mayoría de los empleados que se dieron de baja se agrupan en distancias de entre 1-2 Km, y aquellos que viven entre 0-1 o +10, que son los limites, no representan gran diferencia entre el porcentaje de inactivos.

Respuesta Pregunta 5

¿La distancia geográfica desempeña un papel significativo en la determinación del estatus laboral de los empleados? (Activo o Inactivo)
Los resultados muestran lo contrario a lo que se creía inicialmente, ya que uno esperaría que por vivir más lejos las personas decidieran darse de baja, sin embargo, no existe mucha diferencia entre quienes viven cerca y lejos, por lo que se puede decir que la distancia es relevante al momento de las bajas, más no es un factor determinante.

Búsqueda de información y datos

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

Para poder mejorar el Análisis Exploratorio de Datos, no serviría significamente, el hecho de que el personal correspondiente a Ayudante General, conteste la encuesta/preguntas que como equipo creamos.
Dicha encuesta nos revelará como perciben las personas qué trabajan como Ayudante General, a la cultura organizacional, y así podremos saber que aspectos de la empresa provocan la situación de rotación de personal; se podrá detectar si es un tema de comunicación, salaria, sentido de pertenencia, oportunidad de crecimiento, dinámicas del trabajo en equipo, etc.
Esta información nos ayudará a crear insights en donde podremos crear estrategias para reducir su rotación de personal y mejorar el ambiente y cultura organizacional a mediano y largo plazo.

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

- Cantidad de empleados y empleadas que reciben capacitación en la área de Elaboración de Productos de Papel y Cartón.
- Cantidad de empleados que cuentan con Seguros de Gastos Médicos Mayores en la área de Elaboración de Productos de Papel y Cartón.
- Cantidad de empleados y empleadas que cuentan con las prestaciones básicas de ley en la área de Elaboración de Productos de Papel y Cartón.
- Cantidad de empleados y empleadas qué cuentan con un programa de ahorro/inversión en la área de Elaboración de Productos de Papel y Cartón.

DATOS SECUNDARIOS.

Datos sobre Artesanos y Trabajadores en la Elaboración de Productos de Papel y Cartón.
De acuerdo al Gobierno de México, en el primer trimestre de 2023 la fuerza laboral se dividió de la siguiente manera, 29.7%, y 70.3 % mujeres; cabe recalcar que los hombres recibieron un salario promedio mensual de $4.06 k Mxn y las mujeres $2.6 k Mxn alrededor de la república. Esto nos confirma que en efecto sigue existiendo un tema de desigualdad de paga por cuestiones de género, estos problemas pueden causar inconformidad en las mujeres trbajadoras y que por ende busquen trabajo en otra industria o tengan qué buscar un segundo trabajo, y debido al cancancia acumulado, les cueste dar el 100% en sus trabajos. Hay diferentes disparidad de salarios alrededor de la República, en el caso del estado de Nuevo León, de acuerdo con un análisis realizado por el Centro de Investigaciones Económicas de la UANL, en el ámbito laboral las mujeres ganan 42% menos ingresos en promedio por hora qué los hombres. En este caso se recomienda a FORM revisar si este fenómeno se encuentra presente en la empresa, ya que en caso de qué exista, esto podría ser una de las razones por las cuales tienen bajas laborales.
Según Data México, los mejores salarios promedio mensuales para las personas que trabajan en la Industria de la Elaboración de Productos de Papel y Cartón, fueron encontrados en los estados de Nuevo León con un total de $8.6k Mxn, Tlaxcala con $7.34 k Mxn y CDMX con un total de $5.73 k Mxn. Ahora bien si bien el salario promedio es mayor, eso no significa que las personas sean más fieles a sus empresas pro este motivo, ya qué como vimos en FORM a pesar de tener un salario digno siguen sufriendo de bajas laborales.
Igual Data Mexico comparte qué la edad promedio de la fuerza laboral de esta industria es de alrededor de 41 años, esto es un aproximado, pero también es importante este dato, ya que seguramente esta gente cuenta con familia e hijos, los cuales deben de cuidar y seguramente después del trabajo, llegan a este segundo turno en donde deben de cuidar a alguién más y no descansan de manera apropiada; causando efectos no tan positivos en su desempeño laboral, en alguna persona del personal.

——————————————————-

Hallazgos Identificados

1.- Las tendencia ambientales y de consumo apuestan por la sostenibilidad, por lo que los empaques retornables representan un gran potencial para la compañía ya que además de que le ayudará a reducir costos de mano de obra lo alineará como una empresa sostenible y puede ser una ventaja competitiva.

2.- No existe una cultura de trabajo en el personal, ya que no tienen la responsabilidad de permanecer o cumplir con los contratos.

3.- Es primordial hacer un cambio interno en la organización, mejorar el marketing interno, las prestaciones y oportunidades para que los empleados se sientan satisfechos.Asegurarse de que todos se sientan parte de la organización, entiendan bien los objetivos de la empresa y estén de acuerdo con ello, ya que de lo contrario no se obtendrá el mismo rendimiento pues los colaboradores no estarán motivados.

4.- Aunque no se puede comprobar totalmente, es notorio que el clima si genera un impacto en los empleados, por lo que la implementación de aires lavados podría mejorar el ambiente laboral.

5.- Aunque se planteó por parte de uno de los alumnos cuando visitamos la fábrica, después de analizar las bases de datos se puede establecer que la implementación de un transporte exclusivo para el personal no es una estrategia que retendría a los colaboradores, ya que como se mencionó anteriormente en el análisis, la distancia que recorren los empleados desde su hogar hasta las instalaciones no afecta negativamente su estadía en la empresa.

Sugerencias de los analístas

El uso de la analítica de datos puede ayudar al socio formador a obtener resultados internos mucho más rápido, lo cual le permitirá tomar decisiones en menor tiempo disminuir los riesgos.

Es importante saber pedir ayuda para solucionar los problemas que puedan surgir en la compaía, muchas veces una visión externa nos puede ampliar el panorama de soluciones. Si la empresa requiere ayuda externa de terceros, es de sabios reconocer y pedir apoyo, siempre y cuando se alineen con los objetivos y valores.

Está bien equivocarse, de los errores se aprende para tomar mejores decisiones en un futuro. FORM es “relativamente” nuevo, por lo que aún está experimentando en algunas áreas, esto no debe ser impedimento para arriesgarse a cambios y nuevas posibilidades.

Referencias Entregable 1

Admin. (2023). Proveedora mexicana de empaques ecológicos apuesta por sector automotriz de Estados Unidos. Form. https://form.com.mx/proveedora-mexicana-de-empaques-ecologicos-apuesta-por-sector-automotriz-de-estados-unidos/
Cepeda, F. (2023, January 12). Prepara FORM plan para competir en EU. El Financiero. https://www.elfinanciero.com.mx/monterrey/2023/01/12/prepara-form-plan-para-competir-en-eu/
Fabricación de Productos de Cartón y Papel: Salarios, producción, inversión, oportunidades y complejidad | Data México. (2023). Data México. Acceso: Agosto 18, 2023, de: https://www.economia.gob.mx/datamexico/es/profile/industry/converted-paper-product-manufacturing?investmentFdiTime=Year
Comercio al por Menor de Partes y Refacciones para Automóviles, Camionetas y Camiones: Salarios, producción, inversión, oportunidades y complejidad | Data México. (2023). Data México. Acceso: Agosto 18, 2023, de:https://www.economia.gob.mx/datamexico/es/profile/industry/retail-trade-of-spare-parts-for-cars-and-trucks?genderOrInformal=totalOption&yearSelectorGdp=timeOption0&investmentFdiTime=Year
Fabricación de Automóviles y Camiones: Salarios, producción, inversión, oportunidades y complejidad | Data México. (2023). Data México. Acceso: Agosto 18, 2023, de: https://www.economia.gob.mx/datamexico/es/profile/industry/motor-vehicle-manufacturing?yearSelectorGdp=timeOption0
Statista Research Department. (2013, Septiembre 30). Industry revenue of “Other automotive vehicle parts manufacturing“ in Mexico from 2012 to 2024. Statista. Acceso: Agosto 18, 2023, de: https://0-www-statista-com.biblioteca-ils.tec.mx/forecasts/1170831/other-automotive-vehicle-parts-manufacturing-revenue-in-mexico
Carlier, M. (2021, Octubre 26). Transportation & Logistics› Vehicles & Road Traffic Automotive industry in Mexico - statistics & facts. Statista. Acceso: Agosto 18, 2023, de: https://0-www-statista-com.biblioteca-ils.tec.mx/topics/7249/automotive-industry-in-mexico/#topicOverview
Euromonitor International. (2022, Diciembre 7). Corrugated Paper, Paperboard and Containers in Mexico: ISIC 2102. Passport Euromonitor. Acceso: Agosto 18, 2023, de: https://www.portal.euromonitor.com/analysis/tab
FORM. (2023). Proveedora mexicana de empaques ecológicos apuesta por sector automotriz de Estados Unidos. Form. Acceso: Agosto 18, 2023, de: https://form.com.mx/proveedora-mexicana-de-empaques-ecologicos-apuesta-por-sector-automotriz-de-estados-unidos/
U.S. automotive aftermarket industry size report, 2030. U.S. Automotive Aftermarket Industry Size Report, 2030. (n.d.-a). https://www.grandviewresearch.com/industry-analysis/us-automotive-aftermarket
Publicado por Abigail Orús, & 2023, 28 feb. (2023a, February 28). Automóviles: Ventas por fabricante Estados Unidos 2021-2022. Statista. https://es.statista.com/estadisticas/634261/estados-unidos-ventas-de-automoviles-por-fabricante-diciembre/
Informe del Mercado Automotriz de América del Norte: Tamaño, Participación, Crecimiento y Tendencias (2022-27). Informe del mercado automotriz de América del Norte | Tamaño, participación, crecimiento y tendencias (2022-27). (n.d.). https://www.mordorintelligence.com/es/industry-reports/north-america-automotive-market#:~:text=Estados%20Unidos%20es%20una%20de,que%20el%20año%20anterior%2C%202019.
Diaz, L. O. (2023, April 11). Texas y su relevancia en la industria automotriz. SPC Pro. https://spcpro.com/2023/04/texas-y-su-relevancia-en-la-industria-automotriz/#:~:text=El%20sector%20automotriz%20en%20Texas,Toyota%2C%20General%20Motors%20y%20Tesla.

Referencias Entregable 2

Situación Problema 1
Statista Research Department. (2021, September 30). Industry revenue of “aerospace product and parts manufacturing“ in Texas from 2012 to 2024. Statista. Retrieved August 30, 2023, from https://0-www-statista-com.biblioteca-ils.tec.mx/forecasts/1205096/aerospace-product-and-parts-manufacturing-revenue-in-texas
Dun & Bradstreet. (n.d.). Aerospace Product And Parts Manufacturing Companies In San Antonio, Texas, United States Of America. Retrieved August 30, 2023, from https://www.dnb.com/business-directory/company-information.aerospace_product_and_parts_manufacturing.us.texas.san_antonio.html
Statista Research Department. (2021b, September 30). Industry revenue of “motor vehicle and parts dealers“ in Texas from 2012 to 2024. Statista. Retrieved August 30, 2023, from https://0-www-statista-com.biblioteca-ils.tec.mx/forecasts/1205324/motor-vehicle-and-parts-dealers-revenue-in-texas
Dun & Bradstreet. (n.d.-b). Motor Vehicle Parts Manufacturing Companies In San Antonio, Texas, United States Of America. Retrieved August 30, 2023, from https://www.dnb.com/business-directory/company-information.motor_vehicle_parts_manufacturing.us.texas.san_antonio.html
Statista Research Department. (2021b, September 30). Industry revenue of “medical equipment and supplies manufacturing“ in Texas from 2012 to 2024. Statista. Retrieved August 30, 2023, from https://0-www-statista-com.biblioteca-ils.tec.mx/forecasts/1205226/medical-equipment-and-supplies-manufacturing-revenue-in-texas
Dun & Bradstreet. (n.d.-b). Medical Equipment And Supplies Manufacturing Companies In San Antonio, Texas, United States Of America. Retrieved August 30, 2023, from https://www.dnb.com/business-directory/company-information.medical_equipment_and_supplies_manufacturing.us.texas.san_antonio.html
Situación Problema 2
En Nuevo León las mujeres ganan en promedio,42% menos ingresos por hora que los hombres: UANL. (2023, March 8). EL ECONOMISTA. Retrieved September 1, 2023, from https://www.eleconomista.com.mx/estados/En-Nuevo-Leon-las-mujeres-ganan-en-promedio42-menos-ingresos-por-hora-que-los-hombres-UANL-20230308-0084.html
Artesanos y Trabajadores en la Elaboración de Productos de Papel y Cartón. (2023). Data Mexico. Retrieved September 1, 2023, from https://www.economia.gob.mx/datamexico/es/profile/occupation/artesanos-y-trabajadores-en-la-elaboracion-de-productos-de-papel-y-carton

Anexo

FORMS es una empresa cuyo diferenciador es brindar soluciones especializadas relacionadas con las necesidades del empaque dentro de la cadena de suministro del cliente. No cuentan con un portafolio de productos sino más bien con una metodología de solución que llaman “La Ruta del Empaque” que a través de 5 pasos aseguran cumplir con los estándares de calidad:
1. Entender la problemática.
2. Identificar oportunidades.
3. Desarrollo de prototipos.
4. Pruebas piloto y evaluación de resultados.
5. Producción, suministro y servicio.
Proveen empaques a la industria automotriz, sin embargo, se especializan concretamente en partes interiores y eléctricas. Además, ofrecen la opción de un software para administrar dicho empaque.
Por otro lado, parte de su talento humano está integrado por 6 ingenieros, quienes se encargan de desarrollar diseños innovadores y eficaces. En el ámbito administrativo trabajan alrededor de 30 personas mientras que a nivel operativo 100 colaboradores. Además, en Durango cuentan con personas que administran sus redes con el fin de conseguir empleados.
Sus principales competidores en México son:
1. Empaques retornables: Bradford México, Helsa, Conteyor, Victory Packaging, Versatech y Orbis.
2. Empaques de carton: Empaques Figueroa, HT y Río Grande.
Las zonas geográficas donde buscan tener presencia son:
1. Monterrey-Saltillo.
2. Bajío.
3. San Antonio, Tx.
Lo que busca FORM de la relación con el ITESM Campus Monterrey, se divide en dos vertientes:
1.Recursos Humanos: encontrar soluciones coherentes y sostenibles para la selección, retención y satisfacción del personal. Además de mejorar su clima organizacional.
2. Mercado/Comercialización: crear un sistema o modelo operativo de inteligencia comercial que les permita acceder de forma más sencilla con clientes potenciales para la empresa. Asimismo, la diversificación e industrias atractivas para venderles.
Las principales preocupaciones del CEO son:
1. Alta dependencia sobre ciertos clientes.
2. La permanencia de los empleados en la empresa.
3. Incertidumbre de Seguridad, Económica y Política de México con otros países.
4. La empresa todavía depende de él al 100%.

Ideas

Recursos Humanos
1.- A partir de los datos identificar características específicas (variables) de los colaboradores, para agruparlos por tiempo en la empresa, área laboral, rangos de edad, sexo, estado civil, ubicación geográfica y otras variables relevantes que nos permitan identificar los perfiles de aquellos colaboradores con una alta tendencia a permanecer por más tiempo en la empresa y aquellos con alta tendencia a rotar rápidamente. Esto permitirá identificar el tipo de perfil que debe contratar FORM para mitigar el riesgo por rotación, además de encontrar las variables más significativas que expliquen el tiempo que permanece un colaborador en la empresa.
2.- Una vez identificada el tipo de cultura organizacional qué tienes y los datos de esta, ofrecer un ambiente de desarrollo profesional, en donde lo qué se busca es capacitar al personal en diferentes áreas de utilidad para la empresa, con la finalidad de qué puedan hacer un mejor trabajo para el beneficio del crecimiento de la empresa; y también para qué el personal tenga un plan de desarrollo. Las capacitaciones se llevarían a cabo en un espacio determinado dentro de la empresa, en donde el personal pueda tomar cursos de la aplicación Masterclass
3.- Crear una cultura de Innovación, esto se puede hacer mediante capacitación y la implementación de una “Idea Box”, en la cual durante 3 semanas estará abierta y la gente podrá poner propuestas e ideas qué consideren qué puedan beneficiar a la empresa y sus colaboradores. En la semana 4 se analizarán las ideas y se seleccionará la mejor idea, a la persona qué haya creado dicha idea se le dará un premio el cual consideré la empresa propia. El efecto de esta “Idea Box”, es qué invita a la gente a innovar, se pueden obtener proyectos los cuales ayudan a mejorar los procesos de la empresa, crea un ambiente competitivo y provoca qué la empresa no pare de generar ideas.