Evaluación de Proveedores Locales, Nacionales e Internacionales

El análisis se realizó a partir de 101 observaciones correspondientes a tres categorías de proveedores: locales, nacionales e internacionales.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
datos <- read.csv("datos_negocios_extra_1_proveedores.csv")
head(datos)
##   Tipo_Proveedor Pedidos_Realizados Tiempo_Envio_Dias Costo_Envio
## 1          Local                 16               5.7      279.07
## 2  Internacional                 11               3.5      488.87
## 3       Nacional                 12               4.4      268.02
## 4  Internacional                 20               6.6      141.31
## 5          Local                 38               9.6      390.66
## 6          Local                 42               5.2      282.06

Los proveedores locales, nacionales e internacionales muestran un comportamiento relativamente uniforme, con un promedio de 27.48 pedidos y una mediana de 25.5. Además, los tiempos de envío se mantienen estables, registrando un promedio de 8.14 días y una mediana de 8.25. En contraste, los costos de envío presentan una mayor variabilidad, con un promedio de 271.01 y valores que oscilan entre 50.04 y 494.13, lo que evidencia diferencias significativas entre los distintos tipos de proveedores, principalmente en los internacionales.

library(ggplot2)
ggplot(datos, aes(x = Tipo_Proveedor, y = Pedidos_Realizados, fill = Tipo_Proveedor)) +
  geom_boxplot() +
  labs(title = "Distribución de Tipo de Proveedores",
       x = "Tipo de Proveedor",
       y = "Pedidos Realizados") +
  theme_minimal()

Las medianas se ubican cerca de 27–28 pedidos para los proveedores locales y nacionales, mientras que los internacionales presentan valores ligeramente menores, alrededor de 26–27 pedidos. En conclusión, la distribución es bastante parecida entre los grupos, aunque los proveedores más cercanos tienden a manejar un volumen un poco mayor.

library(ggplot2)

# Crear variable categórica (rápido vs lento según la mediana)
datos$Nivel_Envio <- ifelse(datos$Tiempo_Envio_Dias > median(datos$Tiempo_Envio_Dias),
                           "Lento", "Rápido")

# Gráfica
ggplot(datos, aes(x = Tipo_Proveedor, fill = Nivel_Envio)) +
  geom_bar(position = "dodge") +
  labs(title = "Tiempo de Envío por Tipo de Proveedor",
       x = "Tipo de Proveedor",
       y = "Tiempo_Envio_Dias",
       fill = "Nivel de Envío") +
  scale_fill_manual(values = c("lightblue", "coral"),
                    labels = c("Rápido", "Lento")) +
  theme_minimal()

Con una mediana cercana a 8.25 días, los proveedores se distribuyen de manera equilibrada entre envíos rápidos y lentos en las tres categorías analizadas. En conclusión, no se observan diferencias significativas en los tiempos de entrega, lo que indica un comportamiento logístico bastante uniforme entre los distintos tipos de proveedores.

library(ggplot2)

ggplot(datos, aes(x = Costo_Envio)) +
  geom_histogram(binwidth = 50, fill = "skyblue", color = "black", alpha = 0.7) +
  geom_density(aes(y = after_stat(density) * 50), color = "blue", linewidth = 1) +
  labs(title = "Distribución del Costo de Envío",
       x = "Costo de Envío",
       y = "Frecuencia") +
  theme_minimal()

El costo de envío presenta un promedio de 271.01, con valores que oscilan entre 50.04 y 494.13, evidenciando una amplia dispersión en los datos. En conclusión, esta es la variable con mayor variabilidad, lo que refleja diferencias significativas entre los distintos proveedores.

17.0.1.4 Intervalo de confianza para la diferencia de medias Este análisis compara el tiempo promedio de envío entre proveedores locales y nacionales. Para ello, se calcula un intervalo de confianza del 95% para identificar si existe una diferencia significativa entre ambos grupos. Si el intervalo incluye el valor 0, significa que no hay diferencias importantes en los tiempos de envío. Por el contrario, si el 0 no aparece dentro del intervalo, se concluye que sí existe una diferencia significativa entre los proveedores comparados.

library(dplyr)

# Filtrar proveedores locales
datos_local <- datos %>%
  filter(Tipo_Proveedor == "Local")

# Cálculos
media_tiempo_local <- mean(datos_local$Tiempo_Envio, na.rm = TRUE)  
sd_tiempo_local <- sd(datos_local$Tiempo_Envio, na.rm = TRUE)  
n_local <- nrow(datos_local)  

error_local <- qt(0.975, df = n_local - 1) * sd_tiempo_local / sqrt(n_local)

# Intervalo de confianza
IC_tiempo_local <- c(
  media_tiempo_local - error_local, 
  media_tiempo_local + error_local
)

# Mostrar resultados
cat("Media tiempo de envío (local):", media_tiempo_local, "\n")
## Media tiempo de envío (local): 7.465625
cat("Intervalo de confianza 95%:", IC_tiempo_local[1], "-", IC_tiempo_local[2])
## Intervalo de confianza 95%: 6.087078 - 8.844172
cat("Intervalo de confianza para la media poblacional del tiempo de envío de los proveedores locales:", IC_tiempo_local, "\n")
## Intervalo de confianza para la media poblacional del tiempo de envío de los proveedores locales: 6.087078 8.844172
library(dplyr)

# Filtrar por tipo de proveedor
datos_local <- filter(datos, Tipo_Proveedor == "Local")
datos_nacional <- filter(datos, Tipo_Proveedor == "Nacional")

# Medias
media_local <- mean(datos_local$Tiempo_Envio, na.rm = TRUE)
media_nacional <- mean(datos_nacional$Tiempo_Envio, na.rm = TRUE)

# Desviaciones estándar
sd_local <- sd(datos_local$Tiempo_Envio, na.rm = TRUE)
sd_nacional <- sd(datos_nacional$Tiempo_Envio, na.rm = TRUE)

# Tamaños de muestra
n_local <- nrow(datos_local)
n_nacional <- nrow(datos_nacional)

# Diferencia de medias
diff_medias <- media_local - media_nacional

# Error estándar de la diferencia
error_diff <- sqrt((sd_local^2 / n_local) + (sd_nacional^2 / n_nacional))

# Grados de libertad de Welch
df_welch <- ((sd_local^2 / n_local + sd_nacional^2 / n_nacional)^2) /
  (((sd_local^2 / n_local)^2 / (n_local - 1)) + 
     ((sd_nacional^2 / n_nacional)^2 / (n_nacional - 1)))

# Valor crítico
t_critico <- qt(0.975, df = df_welch)

# Intervalo de confianza
IC_diff_medias <- c(
  diff_medias - t_critico * error_diff,
  diff_medias + t_critico * error_diff
)

# Resultados
cat("Media de tiempo de envío en proveedores locales:", round(media_local, 2), "\n")
## Media de tiempo de envío en proveedores locales: 7.47
cat("Media de tiempo de envío en proveedores nacionales:", round(media_nacional, 2), "\n")
## Media de tiempo de envío en proveedores nacionales: 8.52
cat("Diferencia de medias:", round(diff_medias, 2), "\n")
## Diferencia de medias: -1.06
cat("Intervalo de confianza 95% para la diferencia de medias:", round(IC_diff_medias, 2), "\n")
## Intervalo de confianza 95% para la diferencia de medias: -2.94 0.83
cat("Media de tiempo de envío en proveedores nacionales:", round(media_nacional, 2), "\n")
## Media de tiempo de envío en proveedores nacionales: 8.52
cat("Diferencia de medias en el tiempo de envío:", round(diff_medias, 2), "\n")
## Diferencia de medias en el tiempo de envío: -1.06

Con un nivel de significancia del 5%, el intervalo de confianza obtenido permite estimar la diferencia entre el tiempo promedio de envío de los proveedores locales y nacionales. Según el resultado, se puede concluir que el intervalo brinda una estimación confiable de dicha diferencia, permitiendo comparar el desempeño logístico de ambos tipos de proveedores y realizar inferencias sobre su comportamiento en la población.

17.0.1.5 Intervalo de confianza para la varianza

# Varianza del tiempo de envío en proveedores locales
varianza_local <- var(datos_local$Tiempo_Envio, na.rm = TRUE)

# Tamaño de muestra
n_local <- nrow(datos_local)

# Grados de libertad
gl <- n_local - 1

# Valores críticos chi-cuadrado
chi2_inf <- qchisq(0.975, df = gl)
chi2_sup <- qchisq(0.025, df = gl)

# Intervalo de confianza para la varianza
IC_varianza_local <- c(
  (gl * varianza_local) / chi2_inf,
  (gl * varianza_local) / chi2_sup
)

# Resultado
cat("Varianza muestral del tiempo de envío en proveedores locales:", 
    round(varianza_local, 4), "\n")
## Varianza muestral del tiempo de envío en proveedores locales: 14.6197
cat("Intervalo de confianza (95%) para la varianza poblacional del tiempo de envío de los proveedores locales:", 
    round(IC_varianza_local[1], 4), "a", round(IC_varianza_local[2], 4), "\n")
## Intervalo de confianza (95%) para la varianza poblacional del tiempo de envío de los proveedores locales: 9.3965 a 25.8406
cat("Intervalo de confianza (95%) para la varianza poblacional del tiempo de envío de los proveedores locales:", 
    round(IC_varianza_local[1], 4), "a", round(IC_varianza_local[2], 4), "\n")
## Intervalo de confianza (95%) para la varianza poblacional del tiempo de envío de los proveedores locales: 9.3965 a 25.8406

El intervalo de confianza al 95% para la varianza del tiempo de envío de los proveedores locales indica el rango donde se encuentra la variabilidad real de los tiempos de entrega. Este resultado permite analizar qué tan dispersos están los tiempos de envío respecto al promedio. Una varianza baja refleja entregas más estables y uniformes, mientras que una varianza alta indica mayor variabilidad en los tiempos de entrega.