En este informe nos ponemos en el rol de analistas de datos de Adidas para explorar cómo le está yendo a la marca en términos comerciales y financieros. Para eso trabajamos con una base de 9.648 registros de venta, que incluye información como el precio por unidad, las unidades vendidas, las ventas totales, la utilidad operativa, el margen operativo, el método de venta, el distribuidor, la región y la ciudad. La idea es ir más allá de los números fríos: buscamos identificar patrones de ventas y rentabilidad, comparar cómo se comportan distintos segmentos del negocio (región, producto, retailer, método de venta) y, con esa evidencia, dejar algunas recomendaciones que le sirvan a Adidas para tomar mejores decisiones.
La base de datos no incluye una variable de fecha/periodo, por lo que no es posible calcular tasas de crecimiento temporales; el análisis se enfoca en comparaciones transversales entre segmentos.
El análisis exploratorio de datos (EDA) es un paso clave para comprender la información de ventas de Adidas, identificar patrones y evaluar la distribución de las variables.
PASO 1. Instalar y cargar librerías
# Cargar librerías necesarias
library(readxl)
library(dplyr)
library(ggplot2)
library(plotly)
library(knitr)
library(kableExtra)
library(tidyr)
library(scales)
library(forcats)
PASO 2: Cargar y preparar la información
El código siguiente carga el archivo de Excel con los datos de ventas de Adidas, le asigna un ID único a cada fila y convierte las variables categóricas (distribuidor, región, ciudad, producto y método de venta) a tipo factor.
datos <- read_excel("DatosCaso1.xlsx", sheet = "Data Sales Adidas")
# Se genera un ID único por fila
id <- 1:dim(datos)[1]
datos <- data.frame(id, datos)
# Se convierten las variables categóricas a factor
datos <- datos %>%
mutate(
distribuidor = factor(distribuidor),
region = factor(region),
estado = factor(estado),
ciudad = factor(ciudad),
producto = factor(producto),
metodo_venta = factor(metodo_venta)
)
head(datos)
| id | distribuidor | region | estado | ciudad | producto | precio_unidad | unidades_vendidas | ventas_total | utilidad_operativa | margen_operativo | metodo_venta |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Foot Locker | Northeast | New York | New York | Men’s Street Footwear | 50 | 1200 | 60000 | 30000.0 | 0.50 | In-store |
| 2 | Foot Locker | Northeast | New York | New York | Men’s Athletic Footwear | 50 | 1000 | 50000 | 15000.0 | 0.30 | In-store |
| 3 | Foot Locker | Northeast | New York | New York | Women’s Street Footwear | 40 | 1000 | 40000 | 14000.0 | 0.35 | In-store |
| 4 | Foot Locker | Northeast | New York | New York | Women’s Athletic Footwear | 45 | 850 | 38250 | 13387.5 | 0.35 | In-store |
| 5 | Foot Locker | Northeast | New York | New York | Men’s Apparel | 60 | 900 | 54000 | 16200.0 | 0.30 | In-store |
| 6 | Foot Locker | Northeast | New York | New York | Women’s Apparel | 50 | 1000 | 50000 | 12500.0 | 0.25 | In-store |
Ahora obtenemos los nombres exactos de las variables que tenemos en la base de datos:
names(datos)
## [1] "id" "distribuidor" "region"
## [4] "estado" "ciudad" "producto"
## [7] "precio_unidad" "unidades_vendidas" "ventas_total"
## [10] "utilidad_operativa" "margen_operativo" "metodo_venta"
## Registros totales y verificación de datos faltantes
dim(datos)
## [1] 9648 12
colSums(is.na(datos))
## id distribuidor region estado
## 0 0 0 0
## ciudad producto precio_unidad unidades_vendidas
## 0 0 0 0
## ventas_total utilidad_operativa margen_operativo metodo_venta
## 0 0 0 0
La base no presenta valores faltantes y cuenta con 6 distribuidores, 5 regiones, 52 ciudades, 6 líneas de producto y 3 métodos de venta (In-store, Outlet, Online).
Indicadores de centralidad y variabilidad
## Indicadores de centralidad y variabilidad para la variable "ventas_total"
promedio_ventas = mean(datos$ventas_total, na.rm = TRUE)
mediana_ventas = median(datos$ventas_total, na.rm = TRUE)
minimo_ventas = min(datos$ventas_total, na.rm = TRUE)
maximo_ventas = max(datos$ventas_total, na.rm = TRUE)
desvest_ventas = sd(datos$ventas_total, na.rm = TRUE)
indic_ventas = data.frame(promedio_ventas, mediana_ventas, minimo_ventas, maximo_ventas, desvest_ventas)
indic_ventas
| promedio_ventas | mediana_ventas | minimo_ventas | maximo_ventas | desvest_ventas |
|---|---|---|---|---|
| 12455.08 | 7803.5 | 0 | 82500 | 12716.39 |
## Indicadores de centralidad y variabilidad para la variable "utilidad_operativa"
promedio_utilidad = mean(datos$utilidad_operativa, na.rm = TRUE)
mediana_utilidad = median(datos$utilidad_operativa, na.rm = TRUE)
minimo_utilidad = min(datos$utilidad_operativa, na.rm = TRUE)
maximo_utilidad = max(datos$utilidad_operativa, na.rm = TRUE)
desvest_utilidad = sd(datos$utilidad_operativa, na.rm = TRUE)
indic_utilidad = data.frame(promedio_utilidad, mediana_utilidad, minimo_utilidad, maximo_utilidad, desvest_utilidad)
indic_utilidad
| promedio_utilidad | mediana_utilidad | minimo_utilidad | maximo_utilidad | desvest_utilidad |
|---|---|---|---|---|
| 4894.794 | 3262.98 | 0 | 39000 | 4866.464 |
## Indicadores de centralidad y variabilidad para la variable "margen_operativo"
promedio_margen = mean(datos$margen_operativo, na.rm = TRUE)
mediana_margen = median(datos$margen_operativo, na.rm = TRUE)
minimo_margen = min(datos$margen_operativo, na.rm = TRUE)
maximo_margen = max(datos$margen_operativo, na.rm = TRUE)
desvest_margen = sd(datos$margen_operativo, na.rm = TRUE)
indic_margen = data.frame(promedio_margen, mediana_margen, minimo_margen, maximo_margen, desvest_margen)
indic_margen
| promedio_margen | mediana_margen | minimo_margen | maximo_margen | desvest_margen |
|---|---|---|---|---|
| 0.4229913 | 0.41 | 0.1 | 0.8 | 0.0971974 |
## Indicadores de centralidad y variabilidad para la variable "precio_unidad"
promedio_precio = mean(datos$precio_unidad, na.rm = TRUE)
mediana_precio = median(datos$precio_unidad, na.rm = TRUE)
minimo_precio = min(datos$precio_unidad, na.rm = TRUE)
maximo_precio = max(datos$precio_unidad, na.rm = TRUE)
desvest_precio = sd(datos$precio_unidad, na.rm = TRUE)
indic_precio = data.frame(promedio_precio, mediana_precio, minimo_precio, maximo_precio, desvest_precio)
indic_precio
| promedio_precio | mediana_precio | minimo_precio | maximo_precio | desvest_precio |
|---|---|---|---|---|
| 45.21663 | 45 | 7 | 110 | 14.7054 |
📌 El precio por unidad es la variable más estable (desviación de solo ~US$14,7 frente a una media de US$45,2). En cambio, ventas totales y utilidad operativa muestran una media bastante mayor que su mediana (US$12.455 vs US$7.804 en ventas), lo que ya anticipa una distribución sesgada a la derecha, con pocos casos muy grandes “jalando” el promedio hacia arriba.
Histograma
Ahora creamos el histograma de las ventas totales y del margen operativo para ver la distribución de los datos:
# Crear y mostrar el histograma interactivo de ventas totales
ggplotly(
ggplot(datos, aes(x = ventas_total)) +
geom_histogram(binwidth = 3000, fill = "steelblue", color = "black", alpha = 0.6) +
labs(title = "Figura 1. Histograma de las Ventas Totales por transacción",
x = "Ventas totales (US$)",
y = "Frecuencia") +
theme_minimal()
)
Interpretación Figura 1.
La Figura 1 muestra la distribución de las ventas totales por transacción.
📌 Distribución de Ventas:
La mayoría de las transacciones se concentran entre US$1.000 y US$16.000, con el mayor pico por debajo de los US$10.000.
📈 Asimetría:
La distribución está claramente sesgada a la derecha: la mediana (US$7.804) es bastante menor que la media (US$12.455), lo que confirma la presencia de un grupo reducido de transacciones de muy alto valor.
📊 Dispersión y Rango:
Las ventas van desde US$0 hasta US$82.500, con una desviación estándar de US$12.716 — una variabilidad muy alta frente al promedio.
⚠️ Las transacciones superiores a US$33.563 (límite superior por rango intercuartílico) son estadísticamente atípicas y probablemente corresponden a pedidos grandes o tiendas insignia.
# Crear y mostrar el histograma interactivo del margen operativo
ggplotly(
ggplot(datos, aes(x = margen_operativo)) +
geom_histogram(binwidth = 0.03, fill = "seagreen", color = "black", alpha = 0.6) +
labs(title = "Figura 2. Histograma del Margen Operativo",
x = "Margen operativo",
y = "Frecuencia") +
theme_minimal()
)
Interpretación Figura 2.
La Figura 2 muestra la distribución del margen operativo de las ventas de Adidas.
📌 Distribución del Margen:
El margen se concentra entre 35% y 49% (rango intercuartílico), con una mediana de 41%, cercana al promedio de 42,3% — una distribución bastante simétrica.
📈 Modos y Agrupaciones:
No se observan picos extremos: el margen operativo es la variable más estable del negocio (CV = 0,23), muy por debajo de la variabilidad de ventas o utilidad.
📊 Dispersión y Rango:
El margen va desde 10% hasta 80%, con una desviación estándar de solo 9,7 puntos porcentuales.
⚠️ Aunque el volumen de ventas varía enormemente entre transacciones, la rentabilidad porcentual se mantiene relativamente consistente en todo el negocio.
Boxplot
Ahora creamos el boxplot de las ventas totales para ver la distribución de los datos y posibles valores atípicos:
# Crear y mostrar el boxplot interactivo
ggplotly(
ggplot(datos, aes(y = ventas_total)) +
geom_boxplot(fill = "lightblue", color = "black", outlier.colour = "red", outlier.shape = 16, outlier.size = 2) +
labs(title = "Figura 3. Boxplot de las Ventas Totales",
y = "Ventas totales (US$)") +
theme_minimal()
)
Interpretación Figura 3 - Boxplot
Este boxplot muestra la distribución de las ventas totales y permite identificar la dispersión, la mediana y los valores atípicos.
📌 Mediana (median: US$7.804):
La línea dentro de la caja representa la mediana de las ventas. Esto significa que el 50% de las transacciones tienen ventas menores o iguales a US$7.804, y el otro 50% tiene ventas mayores.
📦 Rango Intercuartílico (IQR):
Q1 (Primer Cuartil: US$4.065): el 25% de las transacciones tiene ventas inferiores a US$4.065. Q3 (Tercer Cuartil: US$15.865): el 75% de las transacciones tiene ventas inferiores a US$15.865.
📊 Rango Total (Bigotes del Boxplot):
Mínimo (min: US$0). Máximo (max: US$82.500). Upper fence: US$33.563 — cualquier valor superior se considera atípico.
⚠️ ¿Hay valores atípicos?
Sí: se observan numerosos puntos rojos por encima del bigote superior (~8% de las transacciones), lo que confirma que existe un grupo de ventas de alto valor que se aleja significativamente del comportamiento típico del negocio.
Ahora creamos el boxplot de las ventas totales por región para comparar segmentos:
ggplotly(
ggplot(datos, aes(x = fct_reorder(region, ventas_total, .fun = median), y = ventas_total, fill = region)) +
geom_boxplot(color = "black", outlier.colour = "red", outlier.shape = 16, outlier.size = 1.5, show.legend = FALSE) +
labs(title = "Figura 4. Boxplot de Ventas Totales por Región",
x = "Región", y = "Ventas totales (US$)") +
theme_minimal() +
coord_flip()
)
Interpretación Figura 4.
Todas las regiones presentan alta dispersión y valores atípicos, pero West muestra la mediana más alta, seguida de Northeast. Midwest es la región con menor mediana de ventas por transacción, coherente con ser la región de menor facturación total.
Ventas totales por región
resumen_region <- datos %>%
group_by(region) %>%
summarise(ventas_totales = sum(ventas_total),
unidades = sum(unidades_vendidas),
utilidad = sum(utilidad_operativa),
margen_prom = mean(margen_operativo),
n = n()) %>%
arrange(desc(ventas_totales))
resumen_region
| region | ventas_totales | unidades | utilidad | margen_prom | n |
|---|---|---|---|---|---|
| West | 36436157 | 686985 | 13017584 | 0.3966912 | 2448 |
| Northeast | 25078267 | 501279 | 9732774 | 0.4104503 | 2376 |
| Southeast | 21374436 | 407000 | 8393059 | 0.4191667 | 1224 |
| South | 20603356 | 492260 | 9221605 | 0.4668981 | 1728 |
| Midwest | 16674434 | 391337 | 6859945 | 0.4352724 | 1872 |
ggplotly(
ggplot(resumen_region, aes(x = fct_reorder(region, ventas_totales), y = ventas_totales, fill = region)) +
geom_col(show.legend = FALSE) +
coord_flip() +
scale_y_continuous(labels = dollar_format(scale = 1e-6, suffix = "M")) +
labs(title = "Figura 5. Ventas Totales por Región", x = "Región", y = "Ventas totales (millones US$)") +
theme_minimal()
)
Interpretación Figura 5.
📌 La región West lidera con ≈US$36,4M (29% de las ventas), seguida de Northeast (US$25,1M). Midwest es la región de menor facturación (US$16,7M). Sin embargo, como se ve más adelante, la región South —aunque factura menos— tiene el margen operativo promedio más alto (46,7%), lo que indica que volumen y rentabilidad relativa no siempre van de la mano.
Participación de cada línea de producto (gráfico de torta)
resumen_producto <- datos %>%
group_by(producto) %>%
summarise(ventas_totales = sum(ventas_total),
unidades = sum(unidades_vendidas),
utilidad = sum(utilidad_operativa),
margen_prom = mean(margen_operativo),
precio_prom = mean(precio_unidad)) %>%
arrange(desc(ventas_totales)) %>%
mutate(participacion = round(ventas_totales / sum(ventas_totales) * 100, 1))
resumen_producto
| producto | ventas_totales | unidades | utilidad | margen_prom | precio_prom | participacion |
|---|---|---|---|---|---|---|
| Men’s Street Footwear | 27680769 | 593320 | 11629046 | 0.4461304 | 44.23665 | 23.0 |
| Women’s Apparel | 23870985 | 433827 | 9685221 | 0.4413184 | 51.60075 | 19.9 |
| Men’s Athletic Footwear | 20577180 | 435526 | 7437457 | 0.4027019 | 43.77950 | 17.1 |
| Women’s Street Footwear | 17201563 | 392269 | 6494017 | 0.4101990 | 40.25249 | 14.3 |
| Men’s Apparel | 16520632 | 306683 | 6381405 | 0.4132254 | 50.32192 | 13.7 |
| Women’s Athletic Footwear | 14315521 | 317236 | 5597822 | 0.4243587 | 41.11270 | 11.9 |
plot_ly(resumen_producto, labels = ~producto, values = ~participacion, type = "pie",
textinfo = "label+percent",
marker = list(colors = c("#000000", "#767677", "#0057B8", "#D0021B", "#00857D", "#B5B5B5"))) %>%
layout(title = "Figura 6. Participación de cada línea de producto en las ventas totales")
Interpretación Figura 6.
📌 Men’s Street Footwear es la línea más importante con 23,0% de participación en las ventas, seguida de Women’s Apparel (19,9%). Las líneas de calzado “Athletic” tienen menor participación que las de “Street”, lo que sugiere una demanda más orientada al segmento lifestyle/urbano que al deportivo técnico puro.
Margen operativo promedio por método de venta
resumen_metodo <- datos %>%
group_by(metodo_venta) %>%
summarise(ventas_totales = sum(ventas_total),
utilidad = sum(utilidad_operativa),
margen_prom = mean(margen_operativo),
unidades = sum(unidades_vendidas)) %>%
arrange(desc(ventas_totales))
resumen_metodo
| metodo_venta | ventas_totales | utilidad | margen_prom | unidades |
|---|---|---|---|---|
| Online | 44965657 | 19552538 | 0.4641522 | 939093 |
| Outlet | 39536618 | 14913301 | 0.3948758 | 849778 |
| In-store | 35664375 | 12759129 | 0.3561207 | 689990 |
ggplotly(
ggplot(resumen_metodo, aes(x = fct_reorder(metodo_venta, margen_prom), y = margen_prom, fill = metodo_venta)) +
geom_col(show.legend = FALSE) +
scale_y_continuous(labels = percent_format()) +
labs(title = "Figura 7. Margen Operativo Promedio por Método de Venta",
x = "Método de venta", y = "Margen operativo promedio") +
theme_minimal()
)
Interpretación Figura 7.
📌 El canal Online no solo genera las mayores ventas totales (US$45,0M) sino también el margen operativo promedio más alto (46,4%), mientras que In-store tiene el margen más bajo (35,6%). Esto respalda priorizar el canal digital dentro del mix comercial de Adidas.
Precio por unidad vs. Unidades vendidas
ggplotly(
ggplot(datos, aes(x = precio_unidad, y = unidades_vendidas)) +
geom_point(color = "purple", alpha = 0.3, size = 1.5) +
geom_smooth(method = "lm", color = "grey30", se = TRUE) +
labs(
title = paste("Figura 8. Relación entre Precio por Unidad y Unidades Vendidas\nCoef. de correlación: ",
round(cor(datos$precio_unidad, datos$unidades_vendidas, use = "complete.obs"), 2)),
x = "Precio por unidad (US$)",
y = "Unidades vendidas",
caption = "Fuente: Datos de ventas Adidas"
) +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5))
)
Interpretación Figura 8.
🔹 Tendencia general: se observa una relación positiva y débil (r ≈ 0,27) entre el precio por unidad y las unidades vendidas — contrario a lo que predice la teoría clásica de la demanda (precio alto → menos ventas).
🔹 Esto sugiere que, en este negocio, el volumen de unidades vendidas depende más del producto, canal y región que del precio en sí. Ajustar precios sin considerar estos factores podría llevar a decisiones equivocadas.
Ventas totales vs. Utilidad operativa
ggplotly(
ggplot(datos, aes(x = ventas_total, y = utilidad_operativa, color = metodo_venta)) +
geom_point(alpha = 0.3, size = 1.2) +
labs(
title = paste("Figura 9. Relación entre Ventas Totales y Utilidad Operativa\nCoef. de correlación: ",
round(cor(datos$ventas_total, datos$utilidad_operativa, use = "complete.obs"), 2)),
x = "Ventas totales (US$)",
y = "Utilidad operativa (US$)",
color = "Método de venta"
) +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5))
)
Interpretación Figura 9.
🔹 Existe una relación positiva y muy fuerte (r ≈ 0,94) entre ventas totales y utilidad operativa, como es esperable.
🔹 Las transacciones del canal Online tienden a ubicarse por encima de la tendencia general: para un mismo nivel de ventas, generan más utilidad que In-store u Outlet, reforzando que el canal online es más eficiente en rentabilidad.
Coeficiente de correlación — resumen de todas las variables numéricas
num_vars <- c("precio_unidad", "unidades_vendidas", "ventas_total", "utilidad_operativa", "margen_operativo")
matriz_cor <- round(cor(datos[, num_vars]), 2)
matriz_cor
## precio_unidad unidades_vendidas ventas_total
## precio_unidad 1.00 0.27 0.54
## unidades_vendidas 0.27 1.00 0.92
## ventas_total 0.54 0.92 1.00
## utilidad_operativa 0.50 0.87 0.94
## margen_operativo -0.14 -0.31 -0.30
## utilidad_operativa margen_operativo
## precio_unidad 0.50 -0.14
## unidades_vendidas 0.87 -0.31
## ventas_total 0.94 -0.30
## utilidad_operativa 1.00 -0.05
## margen_operativo -0.05 1.00
📌 Unidades vendidas ↔︎ Ventas totales (r ≈ 0,92) y Ventas totales ↔︎ Utilidad operativa (r ≈ 0,94): correlaciones muy fuertes y positivas, esperables porque las ventas y la utilidad dependen en gran parte del volumen.
📌 Unidades vendidas ↔︎ Margen operativo (r ≈ -0,31): correlación negativa moderada — a mayor volumen vendido, el margen porcentual tiende a ser algo menor, posiblemente por descuentos asociados a pedidos grandes (outlet/mayoreo).
📌 Precio por unidad ↔︎ Margen operativo (r ≈ -0,14): correlación negativa débil — precios más altos no garantizan mayor margen porcentual.
Mapa de calor: producto x región (ventas totales)
heat_data <- datos %>%
group_by(producto, region) %>%
summarise(ventas_totales = sum(ventas_total), .groups = "drop")
ggplotly(
ggplot(heat_data, aes(x = region, y = producto, fill = ventas_totales)) +
geom_tile(color = "white") +
scale_fill_gradient(low = "#E5E5E5", high = "#000000", labels = dollar_format(scale = 1e-6, suffix = "M")) +
labs(title = "Figura 10. Ventas Totales por combinación Producto x Región",
x = "Región", y = "Producto", fill = "Ventas") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 30, hjust = 1))
)
Interpretación Figura 10.
📌 La combinación más fuerte es Men’s Street Footwear + West (US$7,4M), seguida de Women’s Apparel + West (US$7,0M) y Men’s Street Footwear + Northeast (US$6,8M). La región West concentra 4 de las 5 combinaciones producto-región más vendidas, confirmando su rol como mercado ancla para Adidas.
Ranking de distribuidores (retailers)
resumen_distrib <- datos %>%
group_by(distribuidor) %>%
summarise(ventas_totales = sum(ventas_total),
utilidad = sum(utilidad_operativa),
margen_prom = mean(margen_operativo)) %>%
arrange(desc(ventas_totales))
resumen_distrib
| distribuidor | ventas_totales | utilidad | margen_prom |
|---|---|---|---|
| West Gear | 32409558 | 12196891 | 0.4178559 |
| Foot Locker | 29024945 | 11317027 | 0.4179333 |
| Sports Direct | 24616622 | 10641609 | 0.4448917 |
| Kohl’s | 13512453 | 5182260 | 0.4192913 |
| Walmart | 10506085 | 3902749 | 0.4065335 |
| Amazon | 10096987 | 3984432 | 0.4178714 |
📌 West Gear (US$32,4M) y Foot Locker (US$29,0M) concentran la mayor parte de las ventas. Sports Direct, aunque factura menos que los dos anteriores, opera con el margen promedio más alto entre los grandes distribuidores (44,5%), siendo un socio estratégico interesante.
Top 10 ciudades por ventas totales
top_ciudades <- datos %>%
group_by(ciudad) %>%
summarise(ventas_totales = sum(ventas_total)) %>%
arrange(desc(ventas_totales)) %>%
slice_head(n = 10)
ggplotly(
ggplot(top_ciudades, aes(x = fct_reorder(ciudad, ventas_totales), y = ventas_totales)) +
geom_col(fill = "#00857D") +
coord_flip() +
scale_y_continuous(labels = dollar_format(scale = 1e-6, suffix = "M")) +
labs(title = "Figura 11. Top 10 Ciudades por Ventas Totales", x = "Ciudad", y = "Ventas totales (millones US$)") +
theme_minimal()
)
📌 New York, San Francisco y Charleston son las tres ciudades con mayor facturación, mercados prioritarios para inversión en punto de venta y marketing local.
Negocio concentrado y asimétrico: ~8% de las transacciones (por encima de US$33.563) son atípicas por su alto valor y concentran una porción importante de la facturación total.
Volumen no es igual a rentabilidad relativa: West lidera en ventas, pero South tiene el margen operativo promedio más alto (46,7%).
El canal Online es el más rentable: mayor venta total y mayor margen promedio (46,4%) que Outlet e In-store.
Men’s Street Footwear y Women’s Apparel son las líneas de producto más importantes en ventas (23,0% y 19,9% de participación).
El precio no es el principal freno del volumen: la correlación precio-unidades vendidas es positiva y débil (r ≈ 0,27), contrario a la teoría clásica de demanda.
El margen operativo es la variable más estable del negocio (CV = 0,23) frente a ventas y utilidad, mucho más volátiles.
Sports Direct opera con menor volumen pero mayor margen relativo entre los grandes distribuidores.
Priorizar la inversión comercial en el canal Online, dado que combina el mayor volumen de ventas con el mayor margen operativo promedio.
Fortalecer Men’s Street Footwear y Women’s Apparel en West y Northeast, las combinaciones producto-región más rentables; candidatas para campañas de lanzamiento o ediciones limitadas.
Revisar la estrategia comercial en Midwest, la región de menor facturación, con un diagnóstico adicional (cobertura de tiendas, competencia local, publicidad) antes de reforzar o reasignar inversión.
Usar a Sports Direct y South como referencia de eficiencia de margen, estudiando sus condiciones comerciales/de costos para replicarlas en otros distribuidores y regiones.
No basar la estrategia de precios únicamente en el supuesto “precio alto = menos ventas”: la evidencia muestra una relación positiva débil, por lo que los ajustes de precio deberían evaluarse junto con producto, canal y campaña.
Monitorear las transacciones “outlier” de alto volumen como cuentas clave (key accounts), dado que representan una porción desproporcionada de la facturación total.
Próximos pasos sugeridos: incorporar una variable temporal (fecha de venta) para calcular tasas de crecimiento real, e incluir datos de costos fijos y de marketing por canal para evolucionar hacia un análisis predictivo/prescriptivo más robusto.
Informe elaborado como parte del Caso 1 — Analítica Descriptiva. Enfoque descriptivo, exploratorio y diagnóstico sobre datos históricos de ventas de Adidas.