Adidas, una de las marcas deportivas más reconocidas a nivel mundial, ha construido su reputación a lo largo de décadas gracias a su innovación, calidad y posicionamiento estratégico en el mercado. Fundada en Alemania en 1949 por Adolf Dassler, la empresa ha logrado consolidarse como un referente en la industria del deporte y la moda, adaptándose continuamente a las tendencias del mercado y a las preferencias cambiantes de los consumidores.
Para evaluar el desempeño financiero de Adidas, es esencial analizar variables clave como el precio por unidad, las unidades vendidas, las ventas totales, la utilidad operativa, el margen operativo y el método de venta. Estos indicadores permiten comprender no solo el comportamiento del mercado y la aceptación de los productos, sino también la eficiencia con la que la empresa convierte sus ingresos en ganancias. Este informe se enfoca en interpretar estos datos con el fin de identificar tendencias, oportunidades de mejora y áreas de alto rendimiento dentro de las distintas líneas de productos de la compañía.
El análisis exploratorio de datos nos permite identificar patrones, relaciones y anomalías dentro de las variables financieras clave, lo que facilita una comprensión más profunda del desempeño de cada línea de productos. Al examinar de forma visual y descriptiva elementos como ventas, márgenes y métodos de venta, podemos detectar tendencias de consumo, productos más rentables y canales de distribución más eficaces, lo que sirve como base sólida para tomar decisiones estratégicas fundamentadas.
# Cargar librerías necesarias
library(readxl)
library(dplyr)
library(ggplot2)
library(plotly)
library(knitr)
library(kableExtra)
library(tidyr)
library(tidyverse)
library(RecordLinkage)
library(leaflet)
library(htmltools)
library(scales)
library(tinytex)
library(xtable)
library(readxl)
datos <- read_excel("Adidas.xlsx")
id=1:dim(datos)[1]
datos=data.frame(id,datos)
Indicadores de centralidad
resumen <- datos %>%
select(price_per_unit, units_sold, total_sales, operating_profit, operating_margin) %>%
summarise(
Mediana_price_per_unit = median(price_per_unit, na.rm = TRUE),
Mediana_units_sold = median(units_sold, na.rm = TRUE),
Mediana_total_sales = median(total_sales, na.rm = TRUE),
Mediana_operating_profit = median(operating_profit, na.rm = TRUE),
Mediana_operating_margin = median(operating_margin, na.rm = TRUE),
)
resumen
| Mediana_price_per_unit | Mediana_units_sold | Mediana_total_sales | Mediana_operating_profit | Mediana_operating_margin |
|---|---|---|---|---|
| 45 | 176 | 7803.5 | 3262.98 | 0.41 |
Boxplot de las ventas totales
ggplotly(
ggplot(datos, aes(y=total_sales)) +
geom_boxplot(fill="lightblue", color="black", outlier.colour="red", outlier.shape=16, outlier.size=3) +
labs(title="Figura 1. Boxplot de las ventas totales",
y="Precio (USD)") +
theme_minimal(), na.rm=TRUE
)
Interpretación Figura 1.
Métricas clave 📊
Mediana (7,803.50): La línea central dentro de la caja representa la mediana de las ventas. Esto significa que el 50% de las transacciones generaron un valor igual o menor a USD 7,803.50, y el 50% restante generó un valor mayor. La mediana ofrece una medida de la tendencia central que no se ve afectada por los valores extremos.
Rango Intercuartílico (RIC): El rango del 50% central de las ventas se encuentra dentro de la caja.
Primer Cuartil (Q1: 4,063.50): El 25% de las ventas totales tienen un valor de USD 4,063.50 o menos.
Tercer Cuartil (Q3: 15,867.00): El 75% de las ventas totales tienen un valor de USD 15,867.00 o menos.
Rango de los “bigotes”: Los bigotes representan el rango de valores de las ventas que no son atípicos.
Mínimo (00.00): La venta más baja registrada es de USD 0.00.
Máximo (82,500.00): La venta más alta registrada es de USD 82,500.00.
Los “bigotes” (líneas que se extienden desde la caja) representan el rango de valores en venta con outliers.
En resumen, el boxplot de las ventas totales muestra que, si bien la mayoría de las transacciones tienen un valor relativamente bajo, existen algunas ventas de muy alto valor que se clasifican como atípicas.
Boxplot del margen de la operación
ggplotly(
ggplot(datos, aes(y = operating_margin * 100)) +
geom_boxplot(fill = "lightblue", color = "black", outlier.colour = "red", outlier.shape = 16, outlier.size = 3) +
labs(
title = "Figura 2. Boxplot del margen de operación",
y = "Porcentaje"
) +
theme_minimal()
)
correlacion <- round(cor(datos$total_sales, datos$operating_profit, use = "complete.obs"), 2)
print(paste("Correlación entre total_sales y operating_profit:", correlacion))
## [1] "Correlación entre total_sales y operating_profit: 0.94"
Interpretación Figura 2.
Métricas clave 📊
Mediana (41%): La línea central dentro del cuadro representa la mediana del margen operativo. Esto significa que el 50% de las transacciones generaron un margen operativo igual o inferior al 41%, y el 50% restante generó un margen mayor. La mediana ofrece una visión más precisa de la rentabilidad que la media, al no ser afectada por valores extremos.
Rango Intercuartílico (RIC): Este rango representa al 50% central de los datos.
Primer Cuartil (Q1: 35%): El 25% de los márgenes operativos son iguales o inferiores a 35%.
Tercer Cuartil (Q3: 49%): El 75% de los márgenes operativos son iguales o inferiores a 49%.
El 50% de las transacciones tienen un margen operativo que se encuentra entre el 35% y el 49%.
Frente a los valores atípicos altos, la empresa debería investigar qué productos, canales de venta o ubicaciones geográficas están detrás de estos márgenes, ya que podría permitir replicar el éxito y maximizar la rentabilidad en otras áreas.
Ventas totales por líneas de productos
grafico_barras_ingresos <- datos %>%
plot_ly(x = ~Product, y = ~total_sales, type = 'bar',
marker = list(color = '#00EEEE')) %>%
layout(title = "Figura 3. Ventas totales por línea de productos",
xaxis = list(title = "Líneas de venta"),
yaxis = list(title = "Total de ventas (USD)"),
hovermode = "x")
grafico_barras_ingresos
Interpretación Figura 3.
El producto Men’s Street Footwear lidera las ventas totales con USD 27.68 millones, seguido de cerca por Women’s Apparel con USD 23.87 millones. Esto indica que estos dos productos son los principales motores de ingresos para la empresa.
Ventas totales por líneas de productos
grafico_barras_ingresos <- datos %>%
plot_ly(x = ~City, y = ~total_sales, type = 'bar',
marker = list(color = '#CDC1C5')) %>%
layout(title = "Figura 4. Ventas totales por ciudad",
xaxis = list(title = "Ciudad"),
yaxis = list(title = "Total de ventas (USD)"),
hovermode = "x")
grafico_barras_ingresos
Interpretación Figura 4.
La distribución de las ventas por ciudad muestra una clara diferencia en el rendimiento de los mercados. La empresa se beneficia de su posición en grandes centros urbanos, pero debe evaluar si los mercados de menor rendimiento justifican una inversión para crecer o si los recursos deben concentrarse en las áreas más rentables.
Distribución de Ventas Totales por Método de Venta
ventas_por_metodo <- datos %>%
group_by(sales_method) %>%
summarise(ventas_totales = sum(total_sales, na.rm = TRUE)) %>%
ungroup()
# Calcular el porcentaje de cada segmento para las etiquetas
ventas_por_metodo <- ventas_por_metodo %>%
mutate(porcentaje = ventas_totales / sum(ventas_totales),
etiqueta = paste0(sales_method, "\n", scales::percent(porcentaje)))
# Crear el gráfico de torta
ggplot(ventas_por_metodo, aes(x = "", y = ventas_totales, fill = sales_method)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start = 0) +
geom_text(aes(label = scales::percent(porcentaje, accuracy = 0.1)),
position = position_stack(vjust = 0.5), size = 4) +
labs(
title = "Figura 5. Distribución de Ventas Totales por Método de Venta",
fill = "Método de Venta"
) +
theme_void() + # Elimina todos los elementos del tema
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
legend.title = element_text(face = "bold"),
legend.position = "right"
)
Interpretación Figura 5.
De acuerdo a la gráfica la empresa muestra una fuerte dependencia de su canal de ventas en línea, esto es una ventaja porque los costos operativos de una tienda en línea suelen ser menores que los de una tienda física.
Coeficiente de correlación entre Unidades vendidas y Precio por unidad
ggplotly(
ggplot(datos, aes(x = price_per_unit, y = units_sold)) +
geom_point(color = "lightgreen", alpha = 0.8, size = 2) +
geom_smooth(method = "loess", color = "black", se = TRUE) +
labs(
title = paste("Figura 6. Relación entre Unidades vendidas y Precio por unidad\nCoef. de correlación: ",
round(cor(datos$price_per_unit, datos$units_sold, use = "complete.obs"), 2)),
x = "Precio por unidad (USD)",
y = "Unidades vendidas",
) +
theme_minimal() +
theme(
plot.title = element_text(size = 14, face = "bold", hjust = 0.5),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
)
Interpretación Figura 6.
El coeficiente de correlación de 0.27 indica que existe una relación positiva, aunque débil, entre el precio por unidad y las unidades vendidas. Este hallazgo es importante porque contradice la lógica económica tradicional, que indica que un aumento en el precio generalmente lleva a una disminución en las ventas.
La razón de este comportamiento atípico se puede dar de acuerdo a la historia y el posicionamiento de una marca global como Adidas, pues sus productos son percibidos no solo como artículos deportivos, sino también como símbolos de estatus o alta calidad. Esta percepción podría motivar a los consumidores a comprarlos, incluso a precios elevados, lo que explica la correlación positiva observada.
Coeficiente de correlación entre Total de ventas y Utilidad operativa
ggplotly(
ggplot(datos, aes(x = total_sales, y = operating_profit)) +
geom_point(color = "#90EE90", alpha = 0.8, size = 2) + # Puntos con color y transparencia
geom_smooth(method = "loess", color = "black", se = TRUE) + # Línea de tendencia lineal
labs(
title = paste("Figura 7. Relación entre Total de ventas y Utilidad operativa\nCoef. de correlación: ",
round(cor(datos$total_sales, datos$operating_profit, use = "complete.obs"), 2)),
x = "Total de ventas (USD)",
y = "Utilidad operativa (USD)",
) +
theme_minimal() +
theme(
plot.title = element_text(size = 14, face = "bold", hjust = 0.5),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
)
Interpretación Figura 7.
Un coeficiente de correlación tan cercano a 1.0 indica una relación positiva y extremadamente fuerte entre la utilidad operativa y las ventas totales. Esto significa que a medida que las ventas totales aumentan, la utilidad operativa también aumenta de manera consistente y significativa. Muestra que el modelo de negocio es sólido y que la empresa es eficiente en convertir sus ingresos por ventas en beneficios. La fuerte correlación sugiere que los costos operativos se gestionan de manera efectiva y no escalan al mismo ritmo que las ventas, lo que permite a la utilidad operativa crecer junto con los ingresos.
Coeficiente de correlación entre Margen operativo y Unidades vendidas
ggplotly(
ggplot(datos, aes(x = units_sold, y = operating_margin)) +
geom_point(color = "#FF4040", alpha = 0.8, size = 2) +
geom_smooth(method = "loess", color = "black", se = TRUE) +
labs(
title = paste("Figura 8. Relación entre Margen operativo y Unidades vendidas\nCoef. de correlación: ",
round(cor(datos$units_sold, datos$operating_margin*100, use = "complete.obs"), 2)),
x = "Unidades vendidas",
y = "Margen operativo (%)"
) +
scale_y_continuous(labels = scales::percent) + # Nueva línea
theme_minimal() +
theme(
plot.title = element_text(size = 14, face = "bold", hjust = 0.5),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
)
Interpretación Figura 8.
El coeficiente de correlación de -0.31 indica una relación negativa débil, entre ambas variables. Esto podría significar que las ventas de alto volumen provengan de productos de menor margen, mientras que los productos de alto margen operativo se vendan en cantidades más pequeñas.
Coeficiente de correlación entre Margen operativo y Precio por unidad
ggplotly(
ggplot(datos, aes(x = price_per_unit, y = operating_margin )) +
geom_point(color = "#CD69C9", alpha = 0.8, size = 2) +
geom_smooth(method = "loess", color = "black", se = TRUE) +
labs(
title = paste("Figura 9. Relación entre Margen operativo y Precio por unidad\nCoef. de correlación: ",
round(cor(datos$operating_margin, datos$price_per_unit, use = "complete.obs"), 2)),
x = "Precio por unidad (USD)",
y = "Margen operativo (%)",
) +
scale_y_continuous(labels = scales::percent) +
theme_minimal() +
theme(
plot.title = element_text(size = 14, face = "bold", hjust = 0.5),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
)
Interpretación Figura 9.
El coeficiente de correlación entre el margen operativo y el precio por unidad es de -0.14 Este valor, al ser tan cercano a cero, indica que no existe una relación lineal significativa entre el precio de un producto y su margen operativo, la rentabilidad de la empresa no depende únicamente del precio que fija, sino de una combinación compleja de precios, costos y estrategias de venta que determinan el margen final.
Margen operativo por líneas de productos
datos_resumen <- datos %>%
group_by(Product) %>%
summarise(margen_promedio = mean(operating_margin, na.rm = TRUE)) %>%
ungroup() %>%
arrange(margen_promedio) # Ordenar de menor a mayor para que el gráfico quede ascendente
# Generar el gráfico de barras con ggplot2
ggplot(datos_resumen, aes(x = reorder(Product, margen_promedio), y = margen_promedio)) +
geom_bar(stat = "identity", fill = "#C6E2FF") +
labs(
title = "Figura 10. Margen operativo por líneas de productos",
x = "Líneas de venta",
y = "Margen operativo (%)"
) +
scale_y_continuous(labels = scales::percent) +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
axis.title.x = element_text(size = 10, face = "bold"),
axis.title.y = element_text(size = 10, face = "bold"),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank())
Interpretación Figura 10.
Las líneas de productos Men’s Street Footwear y Women’s Apparel son las más rentables, con márgenes operativos promedio de aproximadamente el 44.6% y 44.1%, respectivamente.
Las líneas de productos Men’s Street Footwear y Women’s Apparel son las más rentables, con márgenes operativos promedio de aproximadamente el 44.6% y 44.1%, respectivamente. Estas líneas de productos constituyen la base estable del negocio. Aunque no son las más rentables, su consistencia y volumen de ventas probablemente contribuyen significativamente a los ingresos totales.
La línea Men’s Athletic Footwear es la menos rentable, con un margen promedio del 40.27%, aunque un margen del 40% sigue siendo alto, es el más bajo dentro de la cartera de productos. Financieramente, este es un punto de atención. La empresa debería investigar por qué su margen es inferior.
Ventas Totales vs Margen operativo promedio por línea de producto
datos_resumen <- datos %>%
group_by(Product) %>%
summarise(
margen_promedio = mean(operating_margin, na.rm = TRUE),
ventas_totales = sum(total_sales, na.rm = TRUE)
)
# Generar el gráfico de dispersión con ggplot2 y geom_text
ggplot(datos_resumen, aes(x = ventas_totales, y = margen_promedio)) +
geom_point(aes(color = Product), size = 5) + # Puntos de dispersión
geom_text(aes(label = Product), size = 3.5, vjust = -1.5) + # Etiquetas con ajuste vertical
labs(
title = "Figura 11. Ventas Totales vs. Margen Operativo Promedio",
subtitle = "Por Línea de Producto",
x = "Ventas Totales ($)",
y = "Margen Operativo Promedio (%)"
) +
scale_y_continuous(labels = scales::percent) + # Formato de porcentaje para el eje Y
scale_x_continuous(labels = scales::label_dollar(scale = 1e-6, suffix = "M")) + # Formato de millones para el eje X
theme_minimal() +
theme(
legend.position = "none", # Ocultar la leyenda
plot.title = element_text(hjust = 0.5, face = "bold"),
plot.subtitle = element_text(hjust = 0.5),
axis.title.x = element_text(size = 10, face = "bold"),
axis.title.y = element_text(size = 10, face = "bold")
)
Interpretación Figura 11.
Las líneas de Men’s Street Footwear y Women’s Apparel son los motores de rentabilidad y crecimiento de la empresa, ya que combinan el mayor volumen de ventas con los márgenes de operación más altos. Por otro lado, la línea de producto Men’s Athletic Footwear se presenta como una oportunidad clave para la optimización, dado su alto volumen de ventas y un margen de ganancia ligeramente más bajo que el de otras categorías.
📊 Se debe diseñar una estrategia para capitalizar la rentabilidad del producto Men’s Athletic Footwear enfocandose en reducir sus costos o ajustar su precio para mejorar su rentabilidad por unidad.
📊 La empresa debe llevar a cabo un análisis de costo-beneficio para determinar si la inversión en mercados de bajo rendimiento es rentable. Si se decide invertir, las estrategias deben ser personalizadas para las necesidades y la competencia local. Si no, se deben reasignar los recursos a los mercados más rentables para reforzar el liderazgo y la cuota de mercado.
📊 Se recomienda enfocar la inversión en marketing, distribución y desarrollo de productos en las líneas de Men’s Athletic Street y Women’s Apparel. Fortalecer su liderazgo permitirá maximizar los beneficios y consolidar la posición de la empresa en el mercado.
📊 La empresa debe enfocar su estrategia de precios de manera más integral, considerando no solo el precio de venta sino también los costos de producción y de distribución para cada línea de producto. Se debe capitalizar el valor de la marca para mantener un margen saludable, especialmente en productos que son percibidos como de mayor estatus o calidad.
📊 La empresa debe centrarse en optimizar la rentabilidad de cada canal de venta. Esto implica mitigar la dependencia del canal digital, evaluar si el alto volumen de ventas en outlets compensa los márgenes bajos y mantener una cartera diversificada de canales para asegurar la resiliencia del negocio ante los cambios del mercado. El objetivo es que el crecimiento de las ventas en cada canal se traduzca en una mejora de la utilidad neta.