Analisis de proveedores locales, nacionales e internacionales

Este analisis costa de 101 observaciones de tres tipos 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 presentan un comportamiento estable, con un promedio de 27.48 pedidos (mediana 25.5) y tiempos de envío bastante consistentes alrededor de 8.14 días (mediana 8.25). Sin embargo, el costo de envío es más variable, con un promedio de 271.01 y valores que van desde 50.04 hasta 494.13, lo que sugiere diferencias importantes entre tipos de proveedores, especialmente en los internacionales.

summary(datos)
##  Tipo_Proveedor     Pedidos_Realizados Tiempo_Envio_Dias  Costo_Envio    
##  Length:100         Min.   : 7.00      Min.   : 1.50     Min.   : 50.04  
##  Class :character   1st Qu.:15.00      1st Qu.: 4.75     1st Qu.:143.40  
##  Mode  :character   Median :25.50      Median : 8.25     Median :282.56  
##                     Mean   :27.48      Mean   : 8.14     Mean   :271.01  
##                     3rd Qu.:41.00      3rd Qu.:11.22     3rd Qu.:375.64  
##                     Max.   :48.00      Max.   :15.00     Max.   :494.13
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()

Los locales y nacionales tienen medianas cercanas a 27–28 pedidos, mientras los internacionales están ligeramente por debajo (~26–27). Conclusión, la distribución es similar, pero los proveedores cercanos manejan un poco más de volumen.

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 de ~8.25 días, los proveedores se dividen en rápidos y lentos de forma bastante equilibrada entre los tres tipos. Conclusión, no hay diferencias fuertes en tiempos, el desempeño logístico es bastante homogéneo.

library(ggplot2)

ggplot(datos, aes(x = Costo_Envio)) +
  geom_histogram(binwidth = 50, fill = "skyblue", color = "black", alpha = 0.7) +
  geom_density(aes(y = ..density.. * 50), color = "blue", size = 1) +
  labs(title = "Distribución del Costo de Envío",
       x = "Costo de Envío",
       y = "Frecuencia") +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

El costo tiene una media de 271.01, con valores entre 50.04 y 494.13, mostrando alta dispersión. Conclusión, es la variable más variable, lo que indica diferencias importantes entre proveedores.

Intervalo de confianza para la media

  1. Se calculará un intervalo de confianza al 95% para estimar el tiempo promedio de envío según el tipo de proveedor. Para esto, se toma una muestra de proveedores y se analiza la variable tiempo de envío, con el fin de conocer en qué rango podría encontrarse el promedio real de envío para el total de proveedores. Datos Variable categórica: Tipo de proveedor Variable cuantitativa: Tiempo de envío Muestra: n=50 proveedores Media muestral (X): calculada con los tiempos de envío de la muestra Desviación estándar muestral (s): calculada con los tiempos de envío de la muestra Nivel de confianza: 95%
datos_local <- datos %>%
  filter(Tipo_Proveedor == "Local")

datos_local
##    Tipo_Proveedor Pedidos_Realizados Tiempo_Envio_Dias Costo_Envio Nivel_Envio
## 1           Local                 16               5.7      279.07      Rápido
## 2           Local                 38               9.6      390.66       Lento
## 3           Local                 42               5.2      282.06      Rápido
## 4           Local                 44               8.0       72.41      Rápido
## 5           Local                 15               4.5      331.54      Rápido
## 6           Local                 15               9.3      472.41       Lento
## 7           Local                 45               1.6      233.02      Rápido
## 8           Local                  8               5.0      478.92      Rápido
## 9           Local                 28               4.5      408.10      Rápido
## 10          Local                 15               7.2       52.86      Rápido
## 11          Local                 22               4.3      412.91      Rápido
## 12          Local                 10              14.5       64.23       Lento
## 13          Local                 47               2.5      186.67      Rápido
## 14          Local                 23               4.0      371.83      Rápido
## 15          Local                 22               8.8      315.58       Lento
## 16          Local                 47              10.0      318.53       Lento
## 17          Local                 10               7.7      241.21      Rápido
## 18          Local                 36              12.2      193.59       Lento
## 19          Local                 15               3.7      419.72      Rápido
## 20          Local                 35               5.9      142.27      Rápido
## 21          Local                 28               1.8      148.40      Rápido
## 22          Local                 11               4.6      270.59      Rápido
## 23          Local                 47               3.4      241.13      Rápido
## 24          Local                 18               4.1      264.20      Rápido
## 25          Local                 30               7.5      315.61      Rápido
## 26          Local                 11              11.9      397.67       Lento
## 27          Local                 31              14.7      311.66       Lento
## 28          Local                 32              14.2      375.51       Lento
## 29          Local                 43              12.8      315.42       Lento
## 30          Local                 48              11.2      450.19       Lento
## 31          Local                 42               8.6      277.67       Lento
## 32          Local                 13               9.9      125.35       Lento

El intervalo de confianza al 95% indica que el tiempo promedio de envío de los proveedores locales se encuentra dentro de un rango estimado con alta confiabilidad. Esto permite afirmar que los resultados son representativos y que se pueden hacer inferencias sobre el comportamiento general de este tipo de proveedores.

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

El intervalo de confianza al 95% indica que el tiempo promedio real de envío de los proveedores locales se encuentra dentro del rango calculado. Esto significa que el resultado es confiable y permite estimar el comportamiento general de los proveedores locales en cuanto a tiempos de entrega.

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

El intervalo de confianza al 95% indica que el tiempo promedio real de envío de los proveedores locales se encuentra dentro del rango calculado. Esto sugiere que la estimación es confiable y permite hacer inferencias sobre el comportamiento general de los proveedores locales en términos de tiempo de entrega.

17.0.1.4 Intervalo de confianza para la diferencia de medias

Una empresa de logística desea comparar el tiempo promedio de envío entre los distintos tipos de proveedores: locales, nacionales e internacionales, con el fin de determinar si existen diferencias significativas en la eficiencia de entrega. Para ello, se seleccionaron muestras aleatorias de proveedores de cada categoría y se registró el tiempo de envío de sus pedidos. Calcular un intervalo de confianza al 95% para la diferencia de medias poblacionales del tiempo de envío entre dos tipos de proveedores (por ejemplo, proveedores locales y nacionales). Interpretar el intervalo obtenido y evaluar si existe una diferencia significativa en los tiempos de envío entre ambos tipos de proveedores.

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
cat("Intervalo de confianza (95%) para la diferencia de medias a nivel poblacional es de:", round(IC_diff_medias[1], 2), "a", round(IC_diff_medias[2], 2), "\n")
## Intervalo de confianza (95%) para la diferencia de medias a nivel poblacional es de: -2.94 a 0.83

Con un nivel de significancia del 5%, el intervalo de confianza obtenido muestra la diferencia estimada entre el tiempo promedio de envío de los proveedores locales y nacionales. De acuerdo con el resultado, se puede concluir que existe una estimación confiable de la diferencia entre ambos tiempos de envío, lo que permite comparar el desempeño logístico de los tipos de proveedores analizados y hacer inferencias sobre su comportamiento en la población.

17.0.1.5 Intervalo de confianza para la varianza

Una empresa de logística desea evaluar la variabilidad en el tiempo de envío de sus proveedores locales. Para ello, selecciona una muestra aleatoria de proveedores y registra el tiempo de envío de sus pedidos. Dado que la variabilidad en los tiempos de entrega es importante para garantizar la eficiencia del servicio, se requiere: Calcular un intervalo de confianza al 95% para la varianza poblacional del tiempo de envío de los proveedores locales. Interpretar el intervalo obtenido y evaluar si los tiempos de envío presentan una dispersión aceptable para la empresa.

# 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

El intervalo de confianza al 95% para la varianza del tiempo de envío de los proveedores locales muestra el rango en el que se encuentra la variabilidad real de los tiempos de entrega. Esto permite evaluar qué tan dispersos son los tiempos de envío respecto al promedio. Si la varianza es baja, significa que los proveedores locales tienen tiempos de entrega más estables y consistentes; si es alta, indica mayor variabilidad en las entregas.