Adidas es una de las marcas deportivas más reconocidas a nivel mundial, dedicada a la fabricación y comercialización de calzado, ropa y accesorios deportivos. Gracias a su presencia en diferentes países y a la amplia variedad de productos que ofrece, la empresa genera una gran cantidad de información relacionada con sus ventas, la cual resulta valiosa para comprender mejor el comportamiento de sus clientes y el desempeño de sus operaciones comerciales.
Analizar esta información permite identificar cuáles son los productos más vendidos, las regiones que generan mayores ingresos y los canales de venta que contribuyen en mayor medida a los resultados de la compañía. Además, facilita la detección de tendencias y patrones de consumo que pueden ser útiles para fortalecer la estrategia comercial y mejorar la toma de decisiones.
A partir de los resultados obtenidos, se podrán reconocer oportunidades de mejora, aspectos relevantes del comportamiento de las ventas y posibles acciones que contribuyan al crecimiento y fortalecimiento de la empresa en el mercado.
Analizar descriptivamente el desempeño comercial y financiero de Adidas, identificando diferencias en ventas y utilidad operativa según producto y región, la participación de los diferentes métodos de venta y la relación entre ventas y utilidad operativa.
El análisis exploratorio de datos (EDA) es una etapa fundamental para comprender el comportamiento de las ventas de Adidas, identificar patrones y analizar las principales variables comerciales.
Mediante estadísticas descriptivas y herramientas de visualización, se evaluará el desempeño de productos, regiones y métodos de venta para obtener una mejor comprensión de los resultados de la compañía.
PASO 1. Instalar y cargar librerias
# Cargar librerías necesarias
library(readxl)
library(dplyr)
library(ggplot2)
library(plotly)
library(knitr)
library(kableExtra)
library(tidyr)
library(RecordLinkage)
library(leaflet)
library(htmltools)
library(scales)
PASO 2: cargar la base de datos
library(readxl)
datos<- read_excel("CASO 1/DatosCaso1.xlsx")
names(datos)
## [1] "distribuidor" "region" "estado"
## [4] "ciudad" "producto" "precio_unidad"
## [7] "unidades_vendidas" "ventas_total" "utilidad_operativa"
## [10] "margen_operativo" "metodo_venta"
library(dplyr)
resumen_producto <- datos %>%
group_by(producto) %>%
summarise(ventas_totales = sum(ventas_total, na.rm = TRUE),utilidad_operativa=sum(utilidad_operativa,na.rm = TRUE),.groups = "drop")
resumen_producto
| producto | ventas_totales | utilidad_operativa |
|---|---|---|
| Men’s Apparel | 16520632 | 6381405 |
| Men’s Athletic Footwear | 20577180 | 7437457 |
| Men’s Street Footwear | 27680769 | 11629046 |
| Women’s Apparel | 23870985 | 9685221 |
| Women’s Athletic Footwear | 14315521 | 5597822 |
| Women’s Street Footwear | 17201563 | 6494017 |
resumen_producto <- datos %>%
group_by(producto) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
utilidad_operativa = sum(utilidad_operativa, na.rm = TRUE),
.groups = "drop"
)
resumen_producto <- resumen_producto %>%
mutate(
ventas_millones = ventas_totales / 1000000,
utilidad_millones = utilidad_operativa / 1000000
)
resumen_producto
| producto | ventas_totales | utilidad_operativa | ventas_millones | utilidad_millones |
|---|---|---|---|---|
| Men’s Apparel | 16520632 | 6381405 | 16.52063 | 6.381405 |
| Men’s Athletic Footwear | 20577180 | 7437457 | 20.57718 | 7.437457 |
| Men’s Street Footwear | 27680769 | 11629046 | 27.68077 | 11.629046 |
| Women’s Apparel | 23870985 | 9685221 | 23.87099 | 9.685221 |
| Women’s Athletic Footwear | 14315521 | 5597822 | 14.31552 | 5.597822 |
| Women’s Street Footwear | 17201563 | 6494017 | 17.20156 | 6.494017 |
library(ggplot2)
ggplot(resumen_producto,aes(x=reorder(producto,ventas_millones),y=ventas_millones,fill=producto))+geom_col(width = 0.7)+geom_text(aes(label = paste0("$",round(ventas_millones,2),"M")),hjust = -0.1,size = 4)+coord_flip()+scale_fill_brewer(palette = "Blues")+labs(title = "Figura 1. Ventas totales por producto",x="Producto",y="Ventas totales (millones de USD)",fill="Producto",caption = "Fuente: elaboración propia con base en los datos del caso Adidas")+expand_limits(y=max(resumen_producto$ventas_millones)*1.15)+theme_classic()+theme(plot.title = element_text(size = 16,face = "bold",hjust = 0.5),plot.caption = element_text(size = 9,hjust = 0),axis.title = element_text(size = 12, face = "bold"),axis.text = element_text(size = 10),legend.position = "none")
Interpretación Figura 1.
La figura 1 muestra que Men’s Street Footwear concentra el mayor volumen de ventas, con aproximadamente US$27,68 millones, mientras que Women’s Athletic Footwear presenta el menor, con USD 14,32 millones. Esto evidencia diferencias importantes entre categorías y permite identificar dónde se concentra el volumen comercial. Sin embargo, las ventas no reflejan por sí solas la rentabilidad, por lo que es necesario analizar la utilidad operativa.
library(ggplot2)
ggplot(resumen_producto,aes(x=reorder(producto,utilidad_millones),y=utilidad_millones,fill=producto))+geom_col(width = 0.7)+geom_text(aes(label = paste0("$",round(utilidad_millones,2),"M")),hjust = -0.1,size = 4)+coord_flip()+scale_fill_brewer(palette = "Greens")+labs(title = "Figura 2. Utilidad operativa por producto",x="Producto",y="Utilidad operativa (millones de USD)",fill="Producto",caption = "Fuente: elaboración propia con base en los datos del caso Adidas")+expand_limits(y=max(resumen_producto$utilidad_millones)*1.15)+theme_classic()+theme(plot.title = element_text(size = 16,face = "bold",hjust = 0.5),plot.caption = element_text(size = 9,hjust = 0),axis.title = element_text(size = 12, face = "bold"),axis.text = element_text(size = 10),legend.position = "none")
Interpretación Figura 2.
La Figura 2 muestra que Men’s Street Footwear también genera la mayor utilidad operativa, con aproximadamente USD 11,63 millones, mientras que Women’s Athletic Footwear presenta la menor, con USD 5,60 millones. Esto indica que el producto con mayor volumen de ventas también aporta la mayor utilidad absoluta.
resumen_region <- datos %>%
group_by(region) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
utilidad_operativa = sum(utilidad_operativa, na.rm = TRUE),
.groups = "drop"
) %>%
mutate(
ventas_millones = ventas_totales / 1000000,
utilidad_millones = utilidad_operativa / 1000000
)
resumen_region
| region | ventas_totales | utilidad_operativa | ventas_millones | utilidad_millones |
|---|---|---|---|---|
| Midwest | 16674434 | 6859945 | 16.67443 | 6.859945 |
| Northeast | 25078267 | 9732774 | 25.07827 | 9.732774 |
| South | 20603356 | 9221605 | 20.60336 | 9.221605 |
| Southeast | 21374436 | 8393059 | 21.37444 | 8.393059 |
| West | 36436157 | 13017584 | 36.43616 | 13.017584 |
library(plotly)
grafico_region <- ggplot(
resumen_region,
aes(
x = reorder(region, ventas_millones),
y = ventas_millones,
fill = region,
text = paste0(
"<b>Región:</b> ", region,
"<br><b>Ventas:</b> $", round(ventas_millones, 2), " millones",
"<br><b>Utilidad:</b> $", round(utilidad_millones, 2), " millones"
)
)
) +
geom_col(width = 0.7) +
scale_fill_brewer(palette = "Purples") +
labs(
title = "Figura 3. Ventas totales por región",
x = "Región",
y = "Ventas totales (millones de USD)",
caption = "Fuente: elaboración propia con base en los datos del caso Adidas."
) +
theme_classic() +
theme(
plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.caption = element_text(size = 8, hjust = 0),
axis.title = element_text(size = 8, face = "bold"),
axis.text = element_text(size = 8),
legend.position = "none"
)
ggplotly(grafico_region, tooltip = "text")
Interpretación Figura 3.
La Figura 3 muestra diferencias en las ventas entre las regiones analizadas, permitiendo identificar cuáles concentran el mayor volumen comercial de Adidas. Esta comparación permite reconocer los mercados con mayor aporte a las ventas y aquellos con menor participación, proporcionando una base para analizar posteriormente el comportamiento de los métodos de venta.
resumen_metodo <- datos %>%
group_by(metodo_venta) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
.groups = "drop"
) %>%
mutate(
porcentaje = ventas_totales / sum(ventas_totales) * 100
)
resumen_metodo
| metodo_venta | ventas_totales | porcentaje |
|---|---|---|
| In-store | 35664375 | 29.67910 |
| Online | 44965657 | 37.41941 |
| Outlet | 39536618 | 32.90149 |
library(plotly)
plot_ly(
resumen_metodo,
labels = ~metodo_venta,
values = ~ventas_totales,
type = "pie",
textinfo = "percent",
hoverinfo = "label+percent+value",
marker = list(
colors = c(
"#0B3C5D",
"#2CA6A4",
"#F4A261"
),
line = list(
color = "white",
width = 2
)
)
) %>%
layout(
title = list(
text = "Figura 4. Participación de las ventas por método de venta",
x = 0.5
),
legend = list(
title = list(
text = "Método de venta"
)
),
margin = list(
b = 100
),
annotations = list(
list(
text = "Fuente: elaboración propia con base en los datos del caso Adidas.",
x = 0,
y = -0.18,
xref = "paper",
yref = "paper",
showarrow = FALSE,
xanchor = "left",
align = "left",
font = list(
size = 10
)
)
)
)
Interpretación Figura 4.
La Figura 4 muestra que el canal Online concentra la mayor participación de las ventas, con 37,42 %, seguido de Outlet con 32,90 % e In-store con 29,68 %. Esto evidencia una distribución relativamente equilibrada entre los tres canales, aunque las ventas online presentan la mayor participación.
resumen_producto_metodo <- datos %>%
group_by(producto, metodo_venta) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
.groups = "drop"
)
resumen_producto_metodo
| producto | metodo_venta | ventas_totales |
|---|---|---|
| Men’s Apparel | In-store | 4932500 |
| Men’s Apparel | Online | 6334120 |
| Men’s Apparel | Outlet | 5254012 |
| Men’s Athletic Footwear | In-store | 5934875 |
| Men’s Athletic Footwear | Online | 7625859 |
| Men’s Athletic Footwear | Outlet | 7016446 |
| Men’s Street Footwear | In-store | 8885200 |
| Men’s Street Footwear | Online | 10365158 |
| Men’s Street Footwear | Outlet | 8430411 |
| Women’s Apparel | In-store | 7024875 |
| Women’s Apparel | Online | 8966155 |
| Women’s Apparel | Outlet | 7879955 |
| Women’s Athletic Footwear | In-store | 4052000 |
| Women’s Athletic Footwear | Online | 5371092 |
| Women’s Athletic Footwear | Outlet | 4892429 |
| Women’s Street Footwear | In-store | 4834925 |
| Women’s Street Footwear | Online | 6303273 |
| Women’s Street Footwear | Outlet | 6063365 |
library(ggplot2)
ggplot(
resumen_producto_metodo,
aes(
x = metodo_venta,
y = producto,
fill = ventas_totales
)
) +
geom_tile(
color = "white",
linewidth = 1
) +
geom_text(
aes(
label = paste0(
"$",
round(ventas_totales / 1000000, 2),
" M"
)
),
size = 4,
fontface = "bold"
) +
scale_fill_gradient(
low = "#E8F1F5",
high = "#0B3C5D",
name = "Ventas\n(millones)"
) +
labs(
title = "Figura 5. Ventas por producto y método de venta",
subtitle = "Intensidad de las ventas según la combinación de producto y canal",
x = "Método de venta",
y = "Producto",
caption = "Fuente: elaboración propia con base en los datos del caso Adidas."
) +
theme_classic() +
theme(
plot.title = element_text(
size = 16,
face = "bold",
hjust = 0.5
),
plot.subtitle = element_text(
size = 10,
hjust = 0.5
),
plot.caption = element_text(
size = 8,
hjust = 0
),
axis.title = element_text(
size = 11,
face = "bold"
),
axis.text = element_text(
size = 9
),
legend.title = element_text(
size = 9,
face = "bold"
),
legend.text = element_text(
size = 8
)
)
Interpretación Figura 5.
La Figura 5 permite identificar cómo se distribuyen las ventas de cada producto entre los diferentes métodos de venta. Se observa que las combinaciones con mayor intensidad concentran una proporción importante de las ventas, mientras que otras presentan niveles más bajos. Esto permite identificar qué productos y canales contribuyen en mayor medida al desempeño comercial y facilita la detección de oportunidades para fortalecer las combinaciones con menor participación.
ventas_street <- datos %>%
filter(producto == "Men's Street Footwear")
estadisticos_street <- ventas_street %>%
summarise(
minimo = min(ventas_total, na.rm = TRUE),
Q1 = quantile(ventas_total, 0.25, na.rm = TRUE),
mediana = median(ventas_total, na.rm = TRUE),
media = mean(ventas_total, na.rm = TRUE),
Q3 = quantile(ventas_total, 0.75, na.rm = TRUE),
maximo = max(ventas_total, na.rm = TRUE)
) %>%
mutate(
rango = maximo - minimo
)
estadisticos_street
| minimo | Q1 | mediana | media | Q3 | maximo | rango |
|---|---|---|---|---|---|---|
| 1568 | 6461.5 | 10969 | 17193.02 | 24281.25 | 81000 | 79432 |
library(ggplot2)
ggplot(
ventas_street,
aes(
x = producto,
y = ventas_total
)
) +
geom_boxplot(
fill = "#2CA6A4",
color = "#0B3C5D",
width = 0.45,
outlier.color = "#F4A261",
outlier.size = 2
) +
# Media
stat_summary(
fun = mean,
geom = "point",
shape = 18,
size = 4,
color = "#000000"
) +
# Etiqueta del mínimo
annotate(
"text",
x = 1.18,
y = estadisticos_street$minimo,
label = paste0(
"Mín: $",
format(round(estadisticos_street$minimo, 0),
big.mark = ",", scientific = FALSE)
),
hjust = 0,
size = 3.5
) +
# Etiqueta Q1
annotate(
"text",
x = 1.18,
y = estadisticos_street$Q1,
label = paste0(
"Q1: $",
format(round(estadisticos_street$Q1, 0),
big.mark = ",", scientific = FALSE)
),
hjust = 0,
size = 3.5
) +
# Etiqueta mediana
annotate(
"text",
x = 1.18,
y = estadisticos_street$mediana,
label = paste0(
"Mediana: $",
format(round(estadisticos_street$mediana, 0),
big.mark = ",", scientific = FALSE)
),
hjust = 0,
size = 3.5,
fontface = "bold"
) +
# Etiqueta media
annotate(
"text",
x = 1.18,
y = estadisticos_street$media,
label = paste0(
"Media: $",
format(round(estadisticos_street$media, 0),
big.mark = ",", scientific = FALSE)
),
hjust = 0,
size = 3.5
) +
# Etiqueta Q3
annotate(
"text",
x = 1.18,
y = estadisticos_street$Q3,
label = paste0(
"Q3: $",
format(round(estadisticos_street$Q3, 0),
big.mark = ",", scientific = FALSE)
),
hjust = 0,
size = 3.5
) +
# Etiqueta máximo
annotate(
"text",
x = 1.18,
y = estadisticos_street$maximo,
label = paste0(
"Máx: $",
format(round(estadisticos_street$maximo, 0),
big.mark = ",", scientific = FALSE)
),
hjust = 0,
size = 3.5
) +
# Rango
annotate(
"text",
x = 1,
y = estadisticos_street$maximo,
label = paste0(
"Rango: $",
format(round(estadisticos_street$rango, 0),
big.mark = ",", scientific = FALSE)
),
vjust = -1.5,
size = 3.5,
fontface = "bold"
) +
labs(
title = "Figura 6. Distribución de las ventas por registro",
subtitle = "Men's Street Footwear",
x = "Producto",
y = "Ventas por registro (US$)",
caption = "Fuente: elaboración propia con base en los datos del caso Adidas."
) +
scale_y_continuous(
labels = scales::dollar_format(
prefix = "$",
big.mark = ",",
decimal.mark = "."
)
) +
theme_classic() +
theme(
plot.title = element_text(
size = 16,
face = "bold",
hjust = 0.5
),
plot.subtitle = element_text(
size = 11,
hjust = 0.5
),
plot.caption = element_text(
size = 8,
hjust = 0
),
axis.title = element_text(
size = 11,
face = "bold"
),
axis.text = element_text(
size = 9
)
)
Interpretación Figura 6.
La Figura 6 muestra una alta dispersión en las ventas por registro de Men’s Street Footwear. Se identifican numerosos valores atípicos por encima del límite superior, con registros que alcanzan hasta USD 81.000. Además, la media (USD 17.193) supera considerablemente a la mediana (USD 10.969), lo que indica que las ventas excepcionalmente altas influyen en el valor promedio. Por ello, la mediana representa mejor el comportamiento típico de las ventas por registro.
library(plotly)
# Calcular correlación
correlacion <- cor(
resumen_producto$ventas_totales,
resumen_producto$utilidad_operativa,
use = "complete.obs"
)
# Calcular R²
r_cuadrado <- correlacion^2
# Crear gráfico interactivo
plot_ly(
resumen_producto,
x = ~ventas_millones,
y = ~utilidad_millones,
type = "scatter",
mode = "markers",
text = ~producto,
hovertemplate = paste(
"<b>%{text}</b><br>",
"Ventas: US$%{x:.2f} M<br>",
"Utilidad operativa: US$%{y:.2f} M",
"<extra></extra>"
),
marker = list(
size = 10,
color = "#0B3C5D"
)
) %>%
add_trace(
data = resumen_producto,
x = ~ventas_millones,
y = ~predict(lm(utilidad_millones ~ ventas_millones, data = resumen_producto)),
type = "scatter",
mode = "lines",
line = list(
color = "#F4A261",
width = 3
),
hoverinfo = "skip",
showlegend = FALSE
) %>%
layout(
title = list(
text = "Figura 7. Relación entre ventas totales y utilidad operativa",
x = 0.5
),
xaxis = list(
title = "Ventas totales (US$ millones)",
showgrid = FALSE,
zeroline = FALSE
),
yaxis = list(
title = "Utilidad operativa (US$ millones)",
showgrid = FALSE,
zeroline = FALSE
),
annotations = list(
list(
x = 0.98,
y = 0.05,
xref = "paper",
yref = "paper",
text = paste0(
"<b>r = ",
round(correlacion, 3),
"<br>R² = ",
round(r_cuadrado, 3),
"</b>"
),
showarrow = FALSE,
xanchor = "right",
align = "right",
font = list(size = 14)
),
list(
text = "Fuente: elaboración propia con base en los datos del caso Adidas.",
x = 0,
y = -0.32,
xref = "paper",
yref = "paper",
showarrow = FALSE,
xanchor = "left",
align = "left",
font = list(size = 10)
)
),
margin = list(
b = 140
)
)
Interpretación Figura 7.
La Figura 7 muestra una relación positiva muy fuerte entre las ventas totales y la utilidad operativa por producto, con un coeficiente de correlación de r = 0,987. Esto indica que los productos que presentan mayores niveles de ventas también tienden a generar mayores niveles de utilidad operativa. Además, el R² = 0,975 evidencia un alto grado de asociación lineal entre ambas variables. En conjunto, los resultados muestran que el volumen de ventas está estrechamente relacionado con la generación de utilidad operativa en los productos analizados.
• El análisis muestra que Men’s Street Footwear es la categoría con mayor relevancia comercial, al alcanzar USD 27,68 millones en ventas y aproximadamente US$11,63 millones en utilidad operativa. Men’s Street Footwear presenta el mayor nivel de ventas y utilidad operativa dentro de las categorías analizadas. Sin embargo, con los datos disponibles no es posible establecer directamente cuáles son las preferencias de los consumidores que explican este comportamiento.
• Por otro lado, el canal Online concentra la mayor parte de las ventas, con un 37,42 %. Sin embargo, la diferencia frente a Outlet (32,90 %) e In-store (29,68 %) es relativamente pequeña. Las ventas presentan una distribución relativamente equilibrada entre los tres canales, aunque Online concentra la mayor participación.. Aun así, con las variables disponibles no es posible determinar qué factores explican la preferencia de los clientes por cada canal.
• Un hallazgo importante se observa al analizar Men’s Street Footwear por registro. Aunque esta es la categoría con mayor volumen acumulado de ventas, los valores individuales presentan una variación considerable y varios datos atípicos, con ventas que llegan hasta US$81.000. Esto indica que el resultado de la categoría no se debe únicamente a un flujo constante de ventas, sino también a algunas operaciones de valores especialmente altos.
• Finalmente, se encontró una relación muy fuerte entre las ventas y la utilidad operativa (r = 0,987; R² = 0,975). Esto muestra que, en las categorías analizadas, los niveles más altos de ventas están estrechamente relacionados con una mayor utilidad operativa. En conjunto, los resultados permiten observar que el comportamiento comercial está relacionado con tres aspectos principales: los productos que generan mayores ventas, los canales en los que se concentran y la utilidad que aporta cada categoría.
El análisis realizado muestra que el desempeño comercial de Adidas está relacionado con diferentes aspectos, principalmente el producto, las ventas, los canales de comercialización y la utilidad que genera cada categoría. Entre los resultados obtenidos, Men’s Street Footwear se destaca por presentar los mayores niveles de ventas y utilidad operativa, mientras que otras categorías muestran resultados más bajos que pueden ser revisados con mayor detalle. Por otra parte, las ventas se encuentran distribuidas de manera relativamente equilibrada entre los canales Online, Outlet e In-store, lo que muestra que el comportamiento comercial de la empresa no depende de un solo canal.
También se encontraron varios valores atípicos en las ventas de Men’s Street Footwear, con algunas operaciones considerablemente mayores que el resto. Esto permite observar que el resultado total de la categoría está compuesto tanto por ventas frecuentes como por algunas transacciones de valores elevados. Analizar estas operaciones con mayor detalle podría ayudar a entender qué características tienen y si existe algún patrón en común.
Finalmente, la relación entre ventas y utilidad operativa es muy fuerte, lo que muestra que las categorías con mayores niveles de ventas también tienden a presentar una mayor utilidad. En conjunto, los resultados permiten tener una visión más completa del desempeño comercial de Adidas, no solo considerando cuánto se vende, sino también qué productos tienen mayor participación, a través de qué canales se comercializan y qué utilidad generan. Esto proporciona una base para que, en futuros análisis, se puedan estudiar con mayor detalle las categorías con menor desempeño, las transacciones de mayor valor y el comportamiento de cada canal.
• Fortalecer la gestión de Men’s Street Footwear: mantener una atención especial sobre esta categoría, principalmente en aspectos como disponibilidad, promoción y presencia en los diferentes canales, debido a su alta participación tanto en las ventas como en la utilidad operativa.
• Revisar las transacciones de mayor valor: estudiar con mayor detalle las ventas excepcionalmente altas de Men’s Street Footwear, teniendo en cuenta variables como el distribuidor, la ciudad y el método de venta. Esto permitiría identificar características comunes y evaluar si algunos de estos patrones pueden presentarse en otras operaciones.
• Mantener una estrategia multicanal: continuar gestionando de manera conjunta los canales Online, Outlet e In-store, ya que los tres tienen una participación importante en las ventas. Esto permitiría aprovechar las características de cada canal sin depender únicamente de uno de ellos.
• Revisar el desempeño de Women’s Athletic Footwear: realizar un análisis más detallado de esta categoría, considerando aspectos como el precio unitario, las unidades vendidas y el método de venta. Esto ayudaría a entender mejor las razones de su menor nivel de ventas y utilidad antes de realizar cambios en la asignación de recursos.
• Relacionar los productos con los canales de venta: cruzar la información de las categorías con los diferentes métodos de venta para identificar qué combinaciones presentan mayores niveles de ventas y cuáles podrían requerir mayor atención. Profundizar en el análisis de precios y volumen: incorporar el precio unitario y las unidades vendidas para entender mejor qué tanto influyen estas variables en las diferencias de ventas entre los productos y categorías.
• Realizar un seguimiento periódico de los resultados: establecer indicadores que permitan revisar de forma periódica las ventas, la utilidad operativa, las unidades vendidas y el desempeño de los productos y canales. Esto facilitaría detectar cambios importantes en el comportamiento comercial y tomar decisiones con información actualizada.