Análisis de inventario, ventas y devoluciones por categoría de producto

El presente análisis se basa en 100 observaciones correspondientes a distintas categorías de productos, en las cuales se examinan variables como el stock disponible, las ventas realizadas y las devoluciones, con el objetivo de analizar el comportamiento comercial y la eficiencia en la gestión del inventario.

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_adicional_5_inventario.csv")
head(datos)
##   Categoria_Producto Stock_Disponible Ventas_Realizadas Devoluciones
## 1            Muebles             2541              1825          143
## 2        Electrónica             4255              1483           22
## 3          Alimentos              836               738           61
## 4        Electrónica             3113              1390           62
## 5               Ropa             4435              3598          219
## 6            Muebles             1074               918           17

Resumen estadistico de las variables numericas

summary(datos)
##  Categoria_Producto Stock_Disponible Ventas_Realizadas  Devoluciones   
##  Length:100         Min.   :  73     Min.   :  21.0    Min.   :  0.00  
##  Class :character   1st Qu.:1606     1st Qu.: 466.2    1st Qu.: 15.00  
##  Mode  :character   Median :2788     Median :1116.0    Median : 44.00  
##                     Mean   :2683     Mean   :1418.5    Mean   : 76.41  
##                     3rd Qu.:3880     3rd Qu.:2127.5    3rd Qu.:116.00  
##                     Max.   :4806     Max.   :4554.0    Max.   :346.00

El resumen estadístico muestra que el promedio del stock disponible es de 2683 unidades, con un promedio de 1418.5 ventas realizadas y 76.41 devoluciones, evidenciando variabilidad en el comportamiento comercial de los productos.

library(ggplot2)

ggplot(datos, aes(x = Categoria_Producto, y = Ventas_Realizadas, fill = Categoria_Producto)) +
  geom_boxplot() +
  labs(title = "Distribución de Ventas por Categoría de Producto",
       x = "Categoría de Producto",
       y = "Ventas Realizadas") +
  theme_minimal()

Este gráfico muestra la variabilidad en las ventas por categoría de producto, donde se evidencian diferencias en la mediana y en la dispersión de los datos entre cada categoría.

library(dplyr)

resumen_categoria <- datos %>%
  group_by(Categoria_Producto) %>%
  summarise(
    Promedio_Ventas = mean(Ventas_Realizadas),
    Promedio_Stock = mean(Stock_Disponible),
    Promedio_Devoluciones = mean(Devoluciones)
  )

print(resumen_categoria)
## # A tibble: 4 × 4
##   Categoria_Producto Promedio_Ventas Promedio_Stock Promedio_Devoluciones
##   <chr>                        <dbl>          <dbl>                 <dbl>
## 1 Alimentos                    1548.          2743.                  90.8
## 2 Electrónica                  1341.          2677.                  59.8
## 3 Muebles                      1551.          2838.                  93  
## 4 Ropa                         1111.          2361.                  52.2

En la categoría Muebles, el promedio de ventas es de 1551, mientras que en la categoría Ropa es de 1111. Conclusión: La categoría Muebles presenta un mejor desempeño en ventas que la categoría Ropa.

ggplot(datos, aes(x = Categoria_Producto, y = Ventas_Realizadas, fill = as.factor(Categoria_Producto))) +
  geom_bar(stat = "summary", fun = "mean", position = "dodge") +
  labs(title = "Promedio de Ventas por Categoría",
       x = "Categoría de Producto",
       y = "Ventas Promedio",
       fill = "Categoría") +
  scale_fill_manual(values = c("lightblue", "coral", "lightgreen", "purple")) +
  theme_minimal()

El gráfico muestra el promedio de ventas por categoría de producto. Se observa que la categoría Muebles presenta el mayor promedio de ventas, seguida de Alimentos, mientras que Ropa registra el menor nivel, evidenciando diferencias en el desempeño comercial entre las categorías.

ggplot(datos, aes(x = Categoria_Producto, y = Ventas_Realizadas, fill = as.factor(Categoria_Producto))) +
  geom_boxplot() +
  labs(title = "Distribución de Ventas según Categoría de Producto",
       x = "Categoría de Producto",
       y = "Ventas") +
  scale_fill_manual(values = c("lightblue", "coral", "lightgreen", "purple")) +
  theme_minimal()

La categoría Muebles tiende a presentar ventas más altas.

La mediana de las ventas es mayor en la categoría Muebles en comparación con otras categorías.

Existe mayor dispersión en las ventas en algunas categorías como Alimentos y Muebles.

ggplot(datos, aes(x = Ventas_Realizadas)) +
  geom_histogram(binwidth = 200, fill = "skyblue", color = "black", alpha = 0.7) +
  geom_density(aes(y = after_stat(density) * 200), color = "blue", size = 1) +
  labs(title = "Distribución de las Ventas",
       x = "Ventas",
       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.

El anterior histograma muestra la distribución de las ventas, donde se observa que la mayoría de los valores se concentran en niveles medios, con algunos valores altos que generan una ligera asimetría.

Intervalo de confianza para la media

Calcular un intervalo de confianza al 95% para la media poblacional de las ventas realizadas por producto.

  1. Interpretar el intervalo obtenido y evaluar si es posible hacer inferencias sobre el comportamiento general de las ventas.

Datos:

Muestra: N= 32 observaciones (ALIMENTOS)

Media muestral (X̄): Calculada con los datos de Ventas_Realizadas

Desviación estándar muestral (s): Calculada con los datos

Nivel de confianza: 95%

datos_A <- filter(datos, Categoria_Producto == "Alimentos")
datos_A
##    Categoria_Producto Stock_Disponible Ventas_Realizadas Devoluciones
## 1           Alimentos              836               738           61
## 2           Alimentos             1559               582           52
## 3           Alimentos             4524              3322          198
## 4           Alimentos             1991                29            0
## 5           Alimentos             4320              2241          201
## 6           Alimentos              747               419           24
## 7           Alimentos             3023              2104          171
## 8           Alimentos             3288              2483          147
## 9           Alimentos             4334               373           12
## 10          Alimentos             2996              2508          127
## 11          Alimentos              632                30            0
## 12          Alimentos             1621              1409           52
## 13          Alimentos             4707              1771           23
## 14          Alimentos             1677               783           49
## 15          Alimentos             1660              1294           97
## 16          Alimentos             3132              1937          144
## 17          Alimentos               87                87            4
## 18          Alimentos             1959              1478           31
## 19          Alimentos             4453              3190          259
## 20          Alimentos             3888               379            2
## 21          Alimentos             4672              2807          202
## 22          Alimentos              889               794            4
## 23          Alimentos             4075              3300          316
## 24          Alimentos             3753              2198          204
## 25          Alimentos              483               455           30
## 26          Alimentos             2003              1861           87
## 27          Alimentos              638               470           44
## 28          Alimentos             4507              2255           20
## 29          Alimentos             4268              3868           82
## 30          Alimentos             4527              3172          190
## 31          Alimentos             3038               120            5
## 32          Alimentos             3487              1083           69
media_ventas_A <- mean(datos_A$Ventas_Realizadas)  
sd_ventas_A <- sd(datos_A$Ventas_Realizadas)  
n_A <- nrow(datos_A)  

error_media_A <- qt(0.975, df = n_A - 1) * sd_ventas_A / sqrt(n_A)  

IC_media_A <- c(media_ventas_A - error_media_A, media_ventas_A + error_media_A)

cat("Media de ventas:", media_ventas_A, "\n")
## Media de ventas: 1548.125
cat("Intervalo de confianza para la media poblacional de las ventas en la categoría Alimentos:", IC_media_A, "\n")
## Intervalo de confianza para la media poblacional de las ventas en la categoría Alimentos: 1135.846 1960.404

El intervalo de confianza al 95% para la media de las ventas en la categoría Alimentos se encuentra entre 1135.846 y 1960.404. Esto indica que, con un 95% de confianza, la media poblacional de las ventas en esta categoría se encuentra dentro de este rango. Por lo tanto, es posible hacer inferencias sobre el comportamiento general de las ventas en la categoría Alimentos.

Prueba de Hipótesis para la Media de las Ventas en la Categoría Alimentos

La empresa desea verificar si el promedio de ventas realizadas en la categoría Alimentos es mayor a 1500 unidades. Para ello, se toma una muestra correspondiente a esta categoría y se realiza una prueba de hipótesis para la media poblacional de las ventas.

Hipótesis

H0: μ = 1500

H1: μ ≠ 1500

Datos Muestra

Muestra: Productos de la categoría Alimentos

Variable analizada: Ventas_Realizadas

Nivel de significancia: 5%

Nivel de confianza: 95%

library(dplyr)

# Filtrar categoría Alimentos
datos_A <- filter(datos, Categoria_Producto == "Alimentos")

# Cálculos
media_ventas <- mean(datos_A$Ventas_Realizadas)
sd_ventas <- sd(datos_A$Ventas_Realizadas)
n <- nrow(datos_A)

# Mostrar resultados
cat("Media de ventas:", media_ventas, "\n")
## Media de ventas: 1548.125
cat("Desviación estándar:", sd_ventas, "\n")
## Desviación estándar: 1143.51
cat("Tamaño de muestra:", n, "\n")
## Tamaño de muestra: 32
t.test(datos_A$Ventas_Realizadas,
       mu = 1500,
       alternative = "greater",
       conf.level = 0.95)
## 
##  One Sample t-test
## 
## data:  datos_A$Ventas_Realizadas
## t = 0.23807, df = 31, p-value = 0.4067
## alternative hypothesis: true mean is greater than 1500
## 95 percent confidence interval:
##  1205.383      Inf
## sample estimates:
## mean of x 
##  1548.125

El resultado de la prueba de hipótesis muestra un p-value de 0.4067, valor mayor al nivel de significancia de 0.05. Por lo tanto, no se rechaza la hipótesis nula. Esto indica que no existe evidencia estadística suficiente para afirmar que el promedio de ventas de la categoría Alimentos sea diferente o mayor a 1500 unidades. Además, la media muestral obtenida fue de 1548.125 ventas, mostrando que las ventas promedio de esta categoría se mantienen cercanas al valor planteado en la hipótesis.