Este informe presenta un Análisis Exploratorio de Datos (EDA) de la información comercial y financiera de Adidas. El propósito es describir el comportamiento de las ventas, las unidades vendidas y la rentabilidad, comparar segmentos y detectar patrones, relaciones y posibles valores atípicos.
El análisis se mantiene en el alcance solicitado para el caso: descriptivo, exploratorio y diagnóstico. Las recomendaciones finales corresponden a una primera aproximación de analítica prescriptiva y se formulan como acciones sugeridas a partir de los patrones observados, no como relaciones causales.
El EDA permite resumir las características principales del conjunto de datos y detectar errores, patrones, valores atípicos y relaciones entre variables. Este enfoque coincide con el material del curso sobre análisis exploratorio de datos.
El archivo contiene 9648 registros y 12 variables.
Las variables disponibles son:
De acuerdo con el material del curso, las variables cualitativas se expresan mediante categorías, mientras que las cuantitativas permiten realizar operaciones matemáticas. La identificación correcta del tipo de variable es necesaria para seleccionar tablas, estadísticas y gráficos adecuados.
calidad <- tibble(
Indicador = c(
"Número de registros",
"Número de variables",
"Valores faltantes",
"Filas duplicadas exactas",
"Registros donde ventas = precio × unidades"
),
Resultado = c(
nrow(datos),
ncol(datos),
sum(is.na(datos)),
sum(duplicated(datos)),
sum(abs(datos$ventas_total - datos$ventas_calculadas) < 1e-8)
)
)
kable(calidad, caption = "Diagnóstico inicial de la base")
| Indicador | Resultado |
|---|---|
| Número de registros | 9648 |
| Número de variables | 12 |
| Valores faltantes | 0 |
| Filas duplicadas exactas | 262 |
| Registros donde ventas = precio × unidades | 9648 |
No se identifican valores faltantes en la base. Se encuentran 262 filas exactamente duplicadas. No se eliminan automáticamente, porque un registro duplicado puede representar una repetición legítima en una base transaccional o agregada; antes de depurarlo debe conocerse la lógica de generación de la base.
Además, las 9648 observaciones cumplen exactamente la identidad:
Ventas totales = Precio por unidad × Unidades vendidas.
Esto constituye una validación interna importante de consistencia de las variables financieras.
El material del curso señala que los indicadores de centralidad resumen el conjunto de observaciones mediante valores como media, mediana y moda, mientras que los indicadores de variabilidad permiten evaluar qué tan representativo es el promedio.
variables_num <- datos %>%
select(precio_unidad, unidades_vendidas, ventas_total,
utilidad_operativa, margen_operativo)
tabla_descriptiva <- bind_rows(
`Precio por unidad` = resumen_numerico(datos$precio_unidad),
`Unidades vendidas` = resumen_numerico(datos$unidades_vendidas),
`Ventas totales` = resumen_numerico(datos$ventas_total),
`Utilidad operativa` = resumen_numerico(datos$utilidad_operativa),
`Margen operativo` = resumen_numerico(datos$margen_operativo),
.id = "Variable"
)
tabla_descriptiva <- tabla_descriptiva %>%
mutate(
Media = round(Media, 2),
Mediana = round(Mediana, 2),
Desv_Estandar = round(Desv_Estandar, 2),
Minimo = round(Minimo, 2),
Maximo = round(Maximo, 2),
Rango = round(Rango, 2),
CV = round(CV, 3)
)
kable(tabla_descriptiva, caption = "Medidas descriptivas de las variables cuantitativas")
| Variable | Media | Mediana | Desv_Estandar | Minimo | Maximo | Rango | CV |
|---|---|---|---|---|---|---|---|
| Precio por unidad | 45.22 | 45.00 | 14.71 | 7.0 | 110.0 | 103.0 | 0.325 |
| Unidades vendidas | 256.93 | 176.00 | 214.25 | 0.0 | 1275.0 | 1275.0 | 0.834 |
| Ventas totales | 12455.08 | 7803.50 | 12716.39 | 0.0 | 82500.0 | 82500.0 | 1.021 |
| Utilidad operativa | 4894.79 | 3262.98 | 4866.46 | 0.0 | 39000.0 | 39000.0 | 0.994 |
| Margen operativo | 0.42 | 0.41 | 0.10 | 0.1 | 0.8 | 0.7 | 0.230 |
La diferencia entre media y mediana en ventas y unidades indica que el promedio debe interpretarse con cautela: existen registros de magnitud considerablemente superior al comportamiento central.
Para una lectura financiera agregada es útil comparar el promedio simple del margen con el margen calculado sobre el total de ventas:
margen_simple <- mean(datos$margen_operativo)
margen_ponderado <- sum(datos$utilidad_operativa) / sum(datos$ventas_total)
tabla_margen <- tibble(
Medida = c("Margen operativo promedio simple",
"Margen operativo ponderado por ventas"),
Valor = c(margen_simple, margen_ponderado)
) %>%
mutate(Valor = percent(Valor, accuracy = 0.1))
kable(tabla_margen, caption = "Comparación de indicadores de margen")
| Medida | Valor |
|---|---|
| Margen operativo promedio simple | 42.3% |
| Margen operativo ponderado por ventas | 39.3% |
El margen promedio simple es cercano al 42,3%, mientras que el margen ponderado por ventas es aproximadamente 39,3%. La diferencia muestra que no todas las observaciones tienen el mismo peso económico.
Para evaluar el desempeño global de Adidas, el margen ponderado por ventas es más representativo, porque incorpora el tamaño de cada operación. Esto evita que una observación pequeña tenga la misma influencia que una observación con ventas muy superiores.
ggplot(datos, aes(x = ventas_total)) +
geom_histogram(bins = 35, fill = "steelblue", color = "white") +
scale_x_continuous(labels = comma) +
labs(
title = "Distribución de las ventas totales",
x = "Ventas totales",
y = "Frecuencia"
) +
theme_minimal()
La distribución de ventas presenta una concentración importante en valores relativamente bajos y una cola hacia valores altos. Esto es consistente con la diferencia entre media y mediana y con el coeficiente de variación superior a 1.
Por lo tanto, las ventas muestran alta dispersión y el promedio por sí solo no describe completamente el comportamiento de las observaciones.
ggplot(datos, aes(y = ventas_total)) +
geom_boxplot() +
scale_y_continuous(labels = comma) +
labs(
title = "Dispersión y posibles valores atípicos de las ventas",
y = "Ventas totales",
x = NULL
) +
theme_minimal()
q1 <- quantile(datos$ventas_total, 0.25, na.rm = TRUE)
q3 <- quantile(datos$ventas_total, 0.75, na.rm = TRUE)
iqr_ventas <- IQR(datos$ventas_total, na.rm = TRUE)
lim_inf <- q1 - 1.5 * iqr_ventas
lim_sup <- q3 + 1.5 * iqr_ventas
outliers_ventas <- sum(
datos$ventas_total < lim_inf | datos$ventas_total > lim_sup
)
tibble(
Q1 = q1,
Q3 = q3,
IQR = iqr_ventas,
Limite_inferior = lim_inf,
Limite_superior = lim_sup,
Valores_atipicos = outliers_ventas
) %>%
mutate(across(everything(), ~ round(.x, 2))) %>%
kable(caption = "Diagnóstico de valores atípicos en ventas")
| Q1 | Q3 | IQR | Limite_inferior | Limite_superior | Valores_atipicos |
|---|---|---|---|---|---|
| 4065.25 | 15864.5 | 11799.25 | -13633.62 | 33563.38 | 799 |
Se detectan 799 observaciones potencialmente atípicas en ventas mediante la regla de 1,5 × IQR. Esto no significa que sean errores. En un contexto comercial pueden representar operaciones de alto volumen y, por tanto, deben investigarse antes de excluirse.
region_resumen <- datos %>%
group_by(region) %>%
summarise(
Registros = n(),
Ventas = sum(ventas_total),
Unidades = sum(unidades_vendidas),
Utilidad = sum(utilidad_operativa),
Margen = Utilidad / Ventas,
.groups = "drop"
) %>%
mutate(
Participacion_ventas = Ventas / sum(Ventas)
) %>%
arrange(desc(Ventas))
kable(
region_resumen %>%
mutate(
Ventas = comma(Ventas),
Unidades = comma(Unidades),
Utilidad = comma(Utilidad),
Margen = percent(Margen, accuracy = 0.1),
Participacion_ventas = percent(Participacion_ventas, accuracy = 0.1)
),
caption = "Desempeño comercial y financiero por región"
)
| region | Registros | Ventas | Unidades | Utilidad | Margen | Participacion_ventas |
|---|---|---|---|---|---|---|
| West | 2448 | 36,436,157 | 686,985 | 13,017,584 | 35.7% | 30.3% |
| Northeast | 2376 | 25,078,267 | 501,279 | 9,732,774 | 38.8% | 20.9% |
| Southeast | 1224 | 21,374,436 | 407,000 | 8,393,059 | 39.3% | 17.8% |
| South | 1728 | 20,603,356 | 492,260 | 9,221,605 | 44.8% | 17.1% |
| Midwest | 1872 | 16,674,434 | 391,337 | 6,859,945 | 41.1% | 13.9% |
ggplot(region_resumen, aes(x = reorder(region, Ventas), y = Ventas)) +
geom_col() +
coord_flip() +
scale_y_continuous(labels = comma) +
labs(
title = "Ventas totales por región",
x = "Región",
y = "Ventas"
) +
theme_minimal()
La región West concentra la mayor participación de ventas, con aproximadamente 30,3% del total, y genera la mayor utilidad absoluta. Sin embargo, su margen ponderado es cercano a 35,7%, inferior al de regiones como South, que presenta un margen aproximado de 44,8%.
Esto revela una diferencia importante entre escala y rentabilidad:
La decisión gerencial no debería limitarse a invertir donde se vende más; también debe considerar dónde se obtiene una mejor conversión de ventas en utilidad.
producto_resumen <- datos %>%
group_by(producto) %>%
summarise(
Ventas = sum(ventas_total),
Unidades = sum(unidades_vendidas),
Utilidad = sum(utilidad_operativa),
Margen = Utilidad / Ventas,
.groups = "drop"
) %>%
mutate(Participacion = Ventas / sum(Ventas)) %>%
arrange(desc(Ventas))
kable(
producto_resumen %>%
mutate(
Ventas = comma(Ventas),
Unidades = comma(Unidades),
Utilidad = comma(Utilidad),
Margen = percent(Margen, accuracy = 0.1),
Participacion = percent(Participacion, accuracy = 0.1)
),
caption = "Desempeño por producto"
)
| producto | Ventas | Unidades | Utilidad | Margen | Participacion |
|---|---|---|---|---|---|
| Men’s Street Footwear | 27,680,769 | 593,320 | 11,629,046 | 42.0% | 23.0% |
| Women’s Apparel | 23,870,985 | 433,827 | 9,685,221 | 40.6% | 19.9% |
| Men’s Athletic Footwear | 20,577,180 | 435,526 | 7,437,457 | 36.1% | 17.1% |
| Women’s Street Footwear | 17,201,563 | 392,269 | 6,494,017 | 37.8% | 14.3% |
| Men’s Apparel | 16,520,632 | 306,683 | 6,381,405 | 38.6% | 13.7% |
| Women’s Athletic Footwear | 14,315,521 | 317,236 | 5,597,822 | 39.1% | 11.9% |
ggplot(producto_resumen, aes(x = reorder(producto, Ventas), y = Ventas)) +
geom_col() +
coord_flip() +
scale_y_continuous(labels = comma) +
labs(
title = "Ventas totales por producto",
x = "Producto",
y = "Ventas"
) +
theme_minimal()
Men’s Street Footwear es la línea con mayor volumen de ventas, aproximadamente 23,0% del total, y también genera la mayor utilidad absoluta.
Además, presenta un margen ponderado aproximado de 42,0%, superior al margen de Men’s Athletic Footwear, cercano a 36,1%.
Por tanto, Men’s Street Footwear puede considerarse una línea estratégica por combinar escala, volumen y rentabilidad.
dist_resumen <- datos %>%
group_by(distribuidor) %>%
summarise(
Ventas = sum(ventas_total),
Unidades = sum(unidades_vendidas),
Utilidad = sum(utilidad_operativa),
Margen = Utilidad / Ventas,
.groups = "drop"
) %>%
mutate(Participacion = Ventas / sum(Ventas)) %>%
arrange(desc(Ventas))
kable(
dist_resumen %>%
mutate(
Ventas = comma(Ventas),
Unidades = comma(Unidades),
Utilidad = comma(Utilidad),
Margen = percent(Margen, accuracy = 0.1),
Participacion = percent(Participacion, accuracy = 0.1)
),
caption = "Desempeño por distribuidor"
)
| distribuidor | Ventas | Unidades | Utilidad | Margen | Participacion |
|---|---|---|---|---|---|
| West Gear | 32,409,558 | 625,262 | 12,196,891 | 37.6% | 27.0% |
| Foot Locker | 29,024,945 | 604,369 | 11,317,027 | 39.0% | 24.2% |
| Sports Direct | 24,616,622 | 557,640 | 10,641,609 | 43.2% | 20.5% |
| Kohl’s | 13,512,453 | 287,375 | 5,182,260 | 38.4% | 11.2% |
| Walmart | 10,506,085 | 206,225 | 3,902,749 | 37.1% | 8.7% |
| Amazon | 10,096,987 | 197,990 | 3,984,432 | 39.5% | 8.4% |
ggplot(dist_resumen, aes(x = reorder(distribuidor, Ventas), y = Ventas)) +
geom_col() +
coord_flip() +
scale_y_continuous(labels = comma) +
labs(
title = "Ventas totales por distribuidor",
x = "Distribuidor",
y = "Ventas"
) +
theme_minimal()
West Gear lidera en ventas, con aproximadamente 27,0% del total, seguido por Foot Locker con 24,2%.
Sin embargo, Sports Direct muestra un desempeño especialmente atractivo desde la perspectiva de margen, con aproximadamente 43,2%, superior al de West Gear.
Esto sugiere que el canal con mayor volumen no necesariamente es el más eficiente en términos de rentabilidad.
metodo_resumen <- datos %>%
group_by(metodo_venta) %>%
summarise(
Ventas = sum(ventas_total),
Unidades = sum(unidades_vendidas),
Utilidad = sum(utilidad_operativa),
Margen = Utilidad / Ventas,
.groups = "drop"
) %>%
mutate(Participacion = Ventas / sum(Ventas)) %>%
arrange(desc(Ventas))
kable(
metodo_resumen %>%
mutate(
Ventas = comma(Ventas),
Unidades = comma(Unidades),
Utilidad = comma(Utilidad),
Margen = percent(Margen, accuracy = 0.1),
Participacion = percent(Participacion, accuracy = 0.1)
),
caption = "Desempeño por método de venta"
)
| metodo_venta | Ventas | Unidades | Utilidad | Margen | Participacion |
|---|---|---|---|---|---|
| Online | 44,965,657 | 939,093 | 19,552,538 | 43.5% | 37.4% |
| Outlet | 39,536,618 | 849,778 | 14,913,301 | 37.7% | 32.9% |
| In-store | 35,664,375 | 689,990 | 12,759,129 | 35.8% | 29.7% |
ggplot(metodo_resumen, aes(x = metodo_venta, y = Margen)) +
geom_col() +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
labs(
title = "Margen ponderado por método de venta",
x = "Método de venta",
y = "Margen"
) +
theme_minimal()
El canal Online concentra aproximadamente 37,4% de las ventas y presenta el mayor margen ponderado, cercano a 43,5%.
El canal In-store representa aproximadamente 29,7% de las ventas, pero tiene el menor margen, cercano a 35,8%.
Por ello, Online aparece como el método con el mejor equilibrio observado entre participación de ventas y rentabilidad.
El material del curso indica que la correlación permite evaluar la relación entre dos variables y que su coeficiente se encuentra entre -1 y 1. Un valor positivo indica una relación directa y uno negativo una relación inversa.
matriz_cor <- datos %>%
select(
precio_unidad,
unidades_vendidas,
ventas_total,
utilidad_operativa,
margen_operativo
) %>%
cor(use = "complete.obs")
round(matriz_cor, 3) %>%
kable(caption = "Matriz de correlaciones")
| precio_unidad | unidades_vendidas | ventas_total | utilidad_operativa | margen_operativo | |
|---|---|---|---|---|---|
| precio_unidad | 1.000 | 0.266 | 0.540 | 0.504 | -0.137 |
| unidades_vendidas | 0.266 | 1.000 | 0.919 | 0.872 | -0.305 |
| ventas_total | 0.540 | 0.919 | 1.000 | 0.935 | -0.302 |
| utilidad_operativa | 0.504 | 0.872 | 0.935 | 1.000 | -0.047 |
| margen_operativo | -0.137 | -0.305 | -0.302 | -0.047 | 1.000 |
Las relaciones más importantes son:
Estas correlaciones describen asociación, no causalidad. Por ejemplo, el resultado no permite afirmar que aumentar el precio necesariamente aumentará las unidades vendidas.
ggplot(datos, aes(x = ventas_total, y = utilidad_operativa)) +
geom_point(alpha = 0.35) +
geom_smooth(method = "lm", se = TRUE) +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(
title = "Relación entre ventas totales y utilidad operativa",
x = "Ventas totales",
y = "Utilidad operativa"
) +
theme_minimal()
La relación entre ventas y utilidad es muy fuerte y positiva. Esto es coherente con la estructura de la base: las operaciones con mayores ventas tienden a generar mayor utilidad.
Para la gestión, esto indica que incrementar ventas en segmentos rentables puede ser más atractivo que perseguir volumen sin considerar el margen.
ggplot(datos, aes(x = precio_unidad, y = unidades_vendidas)) +
geom_point(alpha = 0.35) +
geom_smooth(method = "lm", se = TRUE) +
labs(
title = "Relación entre precio unitario y unidades vendidas",
x = "Precio por unidad",
y = "Unidades vendidas"
) +
theme_minimal()
La correlación observada es aproximadamente 0,266, por lo que en esta base existe una asociación positiva débil entre precio y unidades vendidas.
Esto no respalda la idea de que los precios más altos impliquen automáticamente menor volumen. La relación observada puede estar influenciada por producto, región, distribuidor y método de venta. Por tanto, cualquier decisión de pricing debería analizarse por segmento y no únicamente con el comportamiento agregado.
combo_pm <- datos %>%
group_by(producto, metodo_venta) %>%
summarise(
Ventas = sum(ventas_total),
Utilidad = sum(utilidad_operativa),
Unidades = sum(unidades_vendidas),
Margen = Utilidad / Ventas,
.groups = "drop"
) %>%
arrange(desc(Ventas))
kable(
combo_pm %>%
mutate(
Ventas = comma(Ventas),
Utilidad = comma(Utilidad),
Unidades = comma(Unidades),
Margen = percent(Margen, accuracy = 0.1)
),
caption = "Combinación producto + método de venta"
)
| producto | metodo_venta | Ventas | Utilidad | Unidades | Margen |
|---|---|---|---|---|---|
| Men’s Street Footwear | Online | 10,365,158 | 4,715,551 | 225,121 | 45.5% |
| Women’s Apparel | Online | 8,966,155 | 4,104,331 | 163,937 | 45.8% |
| Men’s Street Footwear | In-store | 8,885,200 | 3,486,710 | 176,030 | 39.2% |
| Men’s Street Footwear | Outlet | 8,430,411 | 3,426,785 | 192,169 | 40.6% |
| Women’s Apparel | Outlet | 7,879,955 | 2,952,377 | 149,390 | 37.5% |
| Men’s Athletic Footwear | Online | 7,625,859 | 3,143,928 | 163,855 | 41.2% |
| Women’s Apparel | In-store | 7,024,875 | 2,628,512 | 120,500 | 37.4% |
| Men’s Athletic Footwear | Outlet | 7,016,446 | 2,323,292 | 154,521 | 33.1% |
| Men’s Apparel | Online | 6,334,120 | 2,626,915 | 117,766 | 41.5% |
| Women’s Street Footwear | Online | 6,303,273 | 2,634,900 | 147,659 | 41.8% |
| Women’s Street Footwear | Outlet | 6,063,365 | 2,289,761 | 139,125 | 37.8% |
| Men’s Athletic Footwear | In-store | 5,934,875 | 1,970,238 | 117,150 | 33.2% |
| Women’s Athletic Footwear | Online | 5,371,092 | 2,326,915 | 120,755 | 43.3% |
| Men’s Apparel | Outlet | 5,254,012 | 2,007,041 | 103,542 | 38.2% |
| Men’s Apparel | In-store | 4,932,500 | 1,747,450 | 85,375 | 35.4% |
| Women’s Athletic Footwear | Outlet | 4,892,429 | 1,914,045 | 111,031 | 39.1% |
| Women’s Street Footwear | In-store | 4,834,925 | 1,569,356 | 105,485 | 32.5% |
| Women’s Athletic Footwear | In-store | 4,052,000 | 1,356,862 | 85,450 | 33.5% |
La combinación Men’s Street Footwear + Online es la de mayor venta entre las combinaciones producto–método, con aproximadamente 8,6% del total de ventas y un margen cercano al 45,5%.
También destaca Women’s Apparel + Online, con aproximadamente 7,5% de las ventas totales y un margen cercano al 45,8%.
Estas combinaciones son candidatas para estrategias de crecimiento digital y priorización de inventario, siempre considerando la disponibilidad y la rentabilidad.
combo_pr <- datos %>%
group_by(producto, region) %>%
summarise(
Ventas = sum(ventas_total),
Utilidad = sum(utilidad_operativa),
Unidades = sum(unidades_vendidas),
Margen = Utilidad / Ventas,
.groups = "drop"
) %>%
arrange(desc(Ventas))
kable(
combo_pr %>%
slice_head(n = 10) %>%
mutate(
Ventas = comma(Ventas),
Utilidad = comma(Utilidad),
Unidades = comma(Unidades),
Margen = percent(Margen, accuracy = 0.1)
),
caption = "Top 10 combinaciones producto + región por ventas"
)
| producto | region | Ventas | Utilidad | Unidades | Margen |
|---|---|---|---|---|---|
| Men’s Street Footwear | West | 7,389,988 | 2,907,503 | 150,795 | 39.3% |
| Women’s Apparel | West | 7,038,046 | 2,096,258 | 116,765 | 29.8% |
| Men’s Street Footwear | Northeast | 6,841,324 | 3,030,663 | 134,252 | 44.3% |
| Men’s Athletic Footwear | West | 6,761,339 | 2,154,211 | 127,724 | 31.9% |
| Women’s Street Footwear | West | 5,748,586 | 2,142,439 | 113,705 | 37.3% |
| Women’s Apparel | Northeast | 5,045,208 | 1,917,008 | 90,048 | 38.0% |
| Men’s Apparel | West | 4,827,378 | 2,009,555 | 84,322 | 41.6% |
| Men’s Street Footwear | Midwest | 4,707,360 | 1,948,621 | 109,861 | 41.4% |
| Men’s Street Footwear | Southeast | 4,693,836 | 2,003,886 | 91,867 | 42.7% |
| Women’s Athletic Footwear | West | 4,670,820 | 1,707,618 | 93,674 | 36.6% |
Los hallazgos centrales del análisis son:
A partir de los patrones descriptivos observados, se plantean las siguientes recomendaciones:
El canal Online combina la mayor participación de ventas con el mayor margen ponderado. Adidas podría priorizar campañas digitales, disponibilidad de inventario y estrategias de conversión en este canal.
Es la categoría líder en ventas y utilidad. Debe considerarse una línea prioritaria para inventario, visibilidad comercial y acciones de crecimiento.
West debe gestionarse como un mercado de alto volumen, mientras que South merece atención por su mayor margen. La estrategia no debería ser idéntica para todas las regiones.
West Gear lidera en ventas, pero Sports Direct muestra un margen superior. Adidas debería utilizar una matriz de volumen vs. rentabilidad para decidir dónde concentrar esfuerzos comerciales.
Los registros extremos no deben eliminarse automáticamente. Se recomienda revisar si corresponden a grandes pedidos, promociones, temporadas, diferencias de producto o situaciones particulares.
La correlación agregada entre precio y unidades es débil y positiva. Por ello, no sería adecuado aplicar una regla general de “subir precio = vender menos”. Se recomienda segmentar por producto, región y método de venta antes de modificar precios.
El análisis muestra que el desempeño de Adidas no depende únicamente del volumen de ventas. Los resultados evidencian diferencias relevantes entre regiones, productos, distribuidores y métodos de venta.
El principal motor de escala es West, mientras que South presenta una mayor eficiencia de margen. Men’s Street Footwear es la categoría líder y Online se destaca como el método de venta con mejor combinación observada entre participación y rentabilidad.
La fuerte correlación entre ventas y utilidad confirma la importancia del volumen, pero los contrastes de margen muestran que crecer no significa necesariamente crecer de manera igualmente rentable. Por ello, la toma de decisiones debería priorizar segmentos que combinen escala y eficiencia.
Finalmente, el análisis cumple el enfoque descriptivo, exploratorio y diagnóstico solicitado: organiza y resume la información, compara segmentos, identifica posibles valores atípicos y analiza relaciones entre variables. Las recomendaciones propuestas constituyen una primera aproximación prescriptiva basada en los patrones encontrados y deben validarse con información adicional antes de convertirse en decisiones definitivas.