Análisis financiero



Introducción


Adidas es una empresa alemana que se dedica a fabricar ropa, calzado y material deportivo. Es el segundo más grande del mundo fabricante de ropa deportiva.

Adidas ofrece una gran variedad de productos para deportes como el fútbol, el baloncesto, el tenis, el golf y otras actividades físicas. También tiene productos “Casual” como algunas chaquetas de invierno, botines, polo, etc.

En este informe hemos usado técnicas de estadística descriptiva y visualización de datos para interpretar las dinámicas financieras de la empresa para las líneas de 6 productos que se detallan a continuación. Sobre estos analizamos las unidades vendidas, el valor de ventas, el margen operativo para las 5 regiones de Estados Unidos (Medio Oeste, Noreste, Sur, Sudeste y Oeste) y sus diferentes métodos de ventas (En tienda, Online y Outlet).


  • Ropa de hombre
  • Calzado deportivo de hombre
  • Calzado urbano de hombre


  • Ropa de mujer
  • Calzado deportivo de mujer
  • Calzado urbano de mujer

Análisis de resultados


Resumen (Estadísticas Descriptivas)


sumretail <- Retail %>% 
  select(price_per_unit, 
         units_sold, total_sales, 
         operating_profit, 
         operating_margin) %>%
  reframe(
    Variable = c("Precio por Unidad", 
                 "Unidades Vendidas", 
                 "Total Ventas", 
                 "Ganancia Operativa", 
                 "Margen Operativo"),
    Media = c(mean(price_per_unit, na.rm = TRUE), 
              mean(units_sold, na.rm = TRUE),
              mean(total_sales, na.rm = TRUE), 
              mean(operating_profit, na.rm = TRUE), 
              mean(operating_margin, na.rm = TRUE)),
    Mediana = c(median(price_per_unit, na.rm = TRUE), 
                median(units_sold, na.rm = TRUE), 
                median(total_sales, na.rm = TRUE), 
                median(operating_profit, na.rm = TRUE), 
                median(operating_margin, na.rm = TRUE)),
    DesviaciónEstándar = c(sd(price_per_unit, na.rm = TRUE), 
                           sd(units_sold, na.rm = TRUE), 
                           sd(total_sales, na.rm = TRUE), 
                           sd(operating_profit, na.rm = TRUE), 
                           sd(operating_margin, na.rm = TRUE)),
    Máximo = c(max(price_per_unit, na.rm = TRUE), 
               max(units_sold, na.rm = TRUE), 
               max(total_sales, na.rm = TRUE), 
               max(operating_profit, na.rm = TRUE), 
               max(operating_margin, na.rm = TRUE)),
    Mínimo = c(min(price_per_unit, na.rm = TRUE), 
               min(units_sold, na.rm = TRUE), 
               min(total_sales, na.rm = TRUE), 
               min(operating_profit, na.rm = TRUE), 
               min(operating_margin, na.rm = TRUE))
  ) %>% 
  mutate(
    Media = formatC(Media, format = "f", big.mark = ",", digits = 1),
    Mediana = formatC(Mediana, format = "f", big.mark = ",", digits = 1),
    DesviaciónEstándar = formatC(DesviaciónEstándar, format = "f", big.mark = ",", digits = 1),
    Máximo = formatC(Máximo, format = "f", big.mark = ",", digits = 1),
    Mínimo = formatC(Mínimo, format = "f", big.mark = ",", digits = 1)
  )


sumretail %>%
  kable("html", caption = "Estadísticas Descriptivas") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = FALSE) %>%
  add_header_above(c(" " = 1, "Estadísticas" = 5), background = "white", color = "#C5ACE8") %>%
  row_spec(0, background = "white", color = "#C5ACE8", bold = TRUE) %>%
  column_spec(1, background = "white", color = "#C5ACE8", bold = TRUE) %>%
  column_spec(2:6, color = "#C5ACE8", background = "white")
Estadísticas Descriptivas
Estadísticas
Variable Media Mediana DesviaciónEstándar Máximo Mínimo
Precio por Unidad 45.2 45.0 14.7 110.0 7.0
Unidades Vendidas 256.9 176.0 214.3 1,275.0 0.0
Total Ventas 12,455.1 7,803.5 12,716.4 82,500.0 0.0
Ganancia Operativa 34,425.2 4,371.4 54,193.1 390,000.0 0.0
Margen Operativo 0.4 0.4 0.1 0.8 0.1


Con base en la tabla “Estadísticas Descriptivas”, se puede analizar lo siguiente:


Análisis de Precios por Unidad

El análisis de los precios por unidad revela que el precio promedio es de USD 45,2, mientras que la mediana se sitúa en USD 45. Esto sugiere que los precios se concentran en torno a este valor. Además, la desviación estándar de 14,71 indica una variabilidad moderada en los precios. Los valores mínimo y máximo registrados son USD 7 y USD 110, respectivamente, lo que refleja un rango significativo de fluctuación de los precios de venta por unidad.


Análisis de Unidades Vendidas

El análisis de las unidades vendidas revela que el promedio es de 257 unidades, lo que sugiere un nivel típico de ventas. Sin embargo, este valor puede no reflejar con precisión la realidad debido a la presencia de valores extremos, ya sean muy altos o muy bajos. La mediana, que es de 176 unidades, presenta una imagen más precisa de la tendencia central, ya que es menos sensible a los valores atípicos. La diferencia entre el promedio y la mediana indica que existen valores altos que están influyendo en el promedio, lo que sugiere que la mayoría de los datos se concentran en valores bajos, mientras que algunos valores altos están empujando el promedio hacia arriba. El análisis de la desviación estándar de 214,25 revela una alta variabilidad en la cantidad de unidades vendidas, lo que sugiere que las ventas fluctúan significativamente de un período a otro. Esta volatilidad se manifiesta en ventas extremadamente altas y bajas. Esta tendencia se confirma con un rango extremadamente amplio, oscilando entre un mínimo de 0 unidades (indicando ausencia de ventas) y un máximo de 1,275 unidades (indicando picos de ventas significativos).


Análisis Total Ventas

El análisis de las ventas totales revela un promedio de USD 12,455, mientras que la mediana es significativamente más baja, USD 7,804. Esto sugiere que, aunque la mayoría de los periodos tienen ventas totales moderadas, algunos periodos presentan ventas excepcionalmente altas que elevan el promedio. La desviación estándar de 12,716 es extremadamente alta, lo que confirma la volatilidad en las ventas entre periodos. El rango de ventas es amplio, oscilando entre USD 0 y USD 82,500, lo que indica inestabilidad significativa en las ventas totales.


Análisis Ganancia Operativa

El análisis de la ganancia operativa revela una gran variabilidad entre periodos. Aunque el promedio es de USD 34,425.24, la mediana es significativamente menor, USD 4,371.42, lo que indica que la mayoría de los periodos tienen ganancias mucho menores. La desviación estándar de 54,193.11 y el rango de ganancias de USD 0 a USD 390,000 confirman la inestabilidad en las ganancias operativas. Lo anterior, indica que algunos periodos con ganancias extremadamente altas elevan el promedio, pero no representan la ganancia operativa típica. Por lo tanto, la ganancia operativa es inestable, con algunos periodos excepcionalmente rentables que no reflejan el comportamiento común.


Análisis Margen Operativo

El margen operativo muestra una notable estabilidad. La similitud entre promedio y mediana, con un promedio de 0,42 y una mediana de 0,41, evidencia que los márgenes operativos se concentran en torno a estos valores, sin diferencias significativas entre estos. La desviación estándar de 0,10 y el rango de valores entre 0,1 y 0,8 confirman que los márgenes operativos no experimentan grandes fluctuaciones entre periodos lo que permite concluir que hay una baja variabilidad. En conclusión, el margen operativo es estable y consistente, con mínimas variaciones. Esto sugiere que la empresa mantiene márgenes operativos similares.


Ventas totales (millones)


us_states <- st_as_sf(maps::map("state", plot = FALSE, fill = TRUE))
us_states <- us_states %>%
  rename(state = ID)

VenState <- Retail %>% 
  group_by(State) %>% 
  summarise(total = sum(total_sales)) %>% 
  rename(state = State) %>% 
  mutate(state = tolower(state))

VenMapState <- us_states %>%
  left_join(VenState, by = "state")

VenMapState <- ggplot(VenMapState) +
  geom_sf(aes(fill = total)) +
  scale_fill_gradient(name = "Ventas totales (millones)",
                      low = "#C5ACE8",
                      high = "#BBE8B5",
                      na.value = "grey90",
                      labels = label_number(scale = 1e-6, suffix = "M")) +
  ggtitle("Total de ventas por estado") +
  theme(
    panel.background = element_rect(fill = "white", color = NA),
    plot.background = element_rect(fill = "white", color = NA),
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "#C5ACE8", size = 0.25),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 12),
    axis.text = element_text(color = "#C5ACE8", size = 10),
    legend.title = element_text(color = "#C5ACE8", size = 12, face = "bold"),
    legend.text = element_text(color = "#C5ACE8", size = 10)
  )

VenMapState <- ggplotly(VenMapState)

VenMapState


La representación gráfica del patrón de ventas revela una distribución no uniforme en todo el país. Se observa una concentración de ventas más altas en el oeste y sur, mientras que el centro y noreste presentan ventas más bajas.

Esta información puede ser de gran importancia para la toma de decisiones estratégicas, como:

  • Enfocar esfuerzos de marketing en estados con ventas más bajas para aumentar la penetración de mercado.
  • Analizar los factores de éxito en estados con altas ventas y aplicarlos en otras regiones.

En resumen, el gráfico proporciona una visualización clara de la variabilidad del total de ventas por estado, lo que puede informar estrategias para optimizar el crecimiento y expansión.


Distribución margen operativo por minorista


Ahora vamos a revisar la gráfica de distribución del margen operativo para cada una de las empresas de retail que aparecen en el siguiente histograma y boxplot


Margenhistret <- Retail %>% 
  ggplot(aes(x = operating_margin)) +
  geom_histogram(fill = "#C5ACE8",
                 color = "white") +
  facet_wrap(~retailer, ncol = 3) +
  ggtitle("Distribución margen operativo por minorista")+
  xlab("Margen Operativo") +
  ylab("Frecuencia") +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA), 
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "#C5ACE8", size = 0.25),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10),                
    strip.background = element_rect(fill = "white"),          
    strip.text = element_text(color = "#C5ACE8", face = "bold", size = 10, hjust = 0.5), 
  )

ggplotly(Margenhistret)


El gráfico muestra la distribución de los márgenes operativos de varias empresas de retail. El eje X representa los valores del margen operativo (0.2-0.8), mientras que el eje Y indica la frecuencia o cantidad de periodos en que cada empresa registra un margen operativo específico.

  • Empresas con mayor consistencia: Foot Locker, Sports Direct y West Gear presentan márgenes operativos concentrados en torno a 0.4, indicando una rentabilidad operativa estable y predecible.

  • Empresas con mayor variabilidad: Amazon y Kohl’s muestran una mayor dispersión en sus márgenes operativos, sugiriendo una rentabilidad menos estable.

  • Walmart tiene una tendencia a márgenes operativos más bajos (0.2), con menor variabilidad.

En conclusión, el gráfico ilustra la diversidad en la rentabilidad operativa de cada empresa. Algunas, como Foot Locker y West Gear, destacan por su estabilidad, mientras que otras, como Amazon y Walmart, presentan más volatilidad y menor rentabilidad en general.


MargOpRet <- Retail %>% 
  ggplot(aes(x = retailer,
             y = operating_margin)) +
  geom_boxplot(fill = "#C5ACE8",
               color = "black") +
  ggtitle("Distribución margen operativo por minorista") +
  ylab("Margen operativo") +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA), 
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "#C5ACE8", size = 0.25),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10)
  )

ggplotly(MargOpRet)



Unidades vendidas vs. Margen operativo


Ahora analicemos el siguiente gráfico que dispersión donde están relacionados el margen operativo y las unidades vendidas.


MargenUV <- Retail %>% 
  ggplot(aes(x = operating_margin, 
             y = units_sold)) +
  geom_point(color = "#C5ACE8") +
  ggtitle("Unidades vendidas vs. Margen operativo")+
  xlab("Margen Operativo") +
  ylab("Unidades vendidas") +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA), 
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "#C5ACE8", size = 0.25),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10)
  )

ggplotly(MargenUV)


La distribución del margen operativo muestra: - Concentración de puntos entre 0.2 y 0.6 - Menor cantidad de puntos por encima de 0.6, disminuyendo hacia el margen operativo más alto (0.8)

Al analizar la relación entre margen operativo y unidades vendidas, no se observa una correlación clara. Aunque hay ventas altas con márgenes específicos, no existe una tendencia consistente que relacione directamente el margen operativo con el volumen de unidades vendidas. Esto sugiere que factores como el tipo de producto, demanda, estrategia de precios y otros elementos no relacionados directamente con el margen operativo tienen un impacto más significativo en las ventas.


Ventas totales por método de venta


Este es un gráfico de barras compara las ventas totales en diferentes tipos de canales de venta: “In-store”, “Online” y “Outlet”.


VenMetBar <- Retail %>% 
  ggplot(aes(x = sales_method,
             y = total_sales)) +
  geom_bar(color= "white", fill = "#C5ACE8", stat = "summary", fun = "sum") +
  ggtitle("Ventas totales por método de venta")+
  xlab("Método de venta") +
  ylab("Ventas totales") +
  scale_y_continuous(labels = comma) +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA), 
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "#C5ACE8", size = 0.25),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10)
  )
  
ggplotly(VenMetBar)


El comparativo de métodos de venta revela que: - Ventas en línea: Es el mayor valor de ventas superando los USD 4,000,000. - Outlet: De acuerdo al gráfico, este método está en segundo lugar, estando cerca de alcanzar las ventas de USD 4,000,000. - Tiendas In-store: Este método tiene el menor valor de ingresos comparado con los otros, sin embargo, todavía es un monto bastante alto superando los USD 3,000,000.

Este gráfico demuestra que el canal de ventas en línea es el más efectivo en términos de ingresos totales, seguido por los outlets y finalmente las tiendas físicas. Este análisis puede ayudar a la empresa para identificar canales de ventas con mayor potencial, también le permite optimizar la estrategia de ventas y asignar recursos de manera estratégica.

El siguiente gráfico presenta la misma información, pero en un formato diferente, lo que permite una nueva perspectiva y análisis.


VenMetPie <- Retail %>% 
  group_by(sales_method) %>% 
  summarise(total = sum(total_sales)) %>% 
  mutate(percentage = total / sum(total) * 100) %>% 
  ggplot(aes(x = "", y = total, fill = sales_method)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  ggtitle("Ventas totales por método de venta")+
  scale_fill_manual(name = "Método de ventas", values = c("#C5ACE8","#ACBBE8","#BBE8B5")) +
  theme_void() +
  geom_text(aes(label = paste0(round(percentage, 1), "%")), 
            position = position_stack(vjust = 0.5)) +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    legend.title = element_text(color = "#C5ACE8", size = 12, face = "bold"),
    legend.text = element_text(color = "#C5ACE8", size = 10))

VenMetPie


El gráfico de pastel muestra la distribución porcentual de ventas totales por método de venta:

  • Online: 37.4%
  • Outlet: 32.9%
  • In-store: 29.7%

Este gráfico confirma los resultados del gráfico de barras, donde el método de ventas en línea lideraba las ventas totales. Ambos gráficos también coinciden en que:

  • El método de ventas en línea es el mayor contribuyente a las ventas totales tanto en valor absoluto (barras) y en porcentaje (pastel).

  • El método de ventas en Outlet y las ventas en tienda física tienen una participación significativa, aunque menor que el canal en línea.

La comparación entre ambos gráficos proporciona una visión completa de la distribución de ventas por canal, permitiendo una mejor comprensión de la estrategia de ventas más efectiva.

Este gráfico de pastel muestra la proporción de ventas totales por método de venta (In-store, Online, y Outlet) en términos porcentuales:

La distribución porcentual por canal de venta se distribuye así:

  • Online: Representa el 37.4% de las ventas totales, lo que coincide con el gráfico de barras, donde vimos que el canal en línea tenía el mayor volumen de ventas.

  • Outlet: Ocupa el 32.9% del total de ventas, colocándolo en segundo lugar en términos de proporción de ventas.

  • In-store: Constituye el 29.7% de las ventas, lo que corresponde a la categoría con menos ventas entre los tres canales.

Al realizar la comparación con el gráfico de barras, tenemos el siguiente resultado. Ambos gráficos confirman que el canal de ventas en línea es el que más contribuye a las ventas totales, tanto en valor absoluto (gráfico de barras) como en porcentaje del total (gráfico de pastel).

El canal Outlet y las ventas en tienda física tienen una participación significativa, aunque menor que el canal en línea.


Ventas por Minorista para cada tipo de producto


VentProdRet <- Retail %>% 
  ggplot(aes(x = retailer, 
             y = total_sales,
             fill = Product)) +
  geom_bar(stat = "summary",fun = "sum",
           position = "dodge", show.legend = TRUE)+
  scale_color_manual(values = c("#EB9DA2",
                                "#F0B884",
                                "#E8E6A5",
                                "#BBE8B5",
                                "#ACBBE8",
                                "#C5ACE8"))+
  labs(x = "Minorista",
       y = "Ventas Totales", 
       title  = "Ventas por Minorista para cada tipo de producto")+
  coord_flip() +
  scale_y_continuous(labels = comma) +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10),
    legend.title = element_text(color = "#C5ACE8", size = 12, face = "bold"),
    legend.text = element_text(color = "#C5ACE8", size = 10)
  )

ggplotly(VentProdRet)


West Gear

Lidera las ventas con un total de aproximadamente 32.4 millones. Su principal fortaleza se encuentra en los productos Women’s Apparel y Men’s Street Footwear, los cuales representan un volumen de ventas considerable. Este rendimiento sugiere una estrategia de mercado sólida y bien definida en los segmentos de ropa y calzado, capaz de captar la demanda en estos productos clave.

Foot Locker

Con ventas totales de aproximadamente 29 millones, Foot Locker se posiciona como el segundo minorista en volumen de ventas. La demanda está especialmente concentrada en el producto “Men’s Street Footwear”. Este comportamiento resalta la especialización de Foot Locker en calzado deportivo y moda urbana, lo que refuerza su liderazgo en estos segmentos.

Sports Direct

Acumula ventas de cerca de 24.6 millones, posicionándose en tercer lugar. Las categorías más vendidas son “Men’s Street Footwear” y “Women’s Apparel”.

Kohl’s

Con ventas totales de aproximadamente 13.5 millones, Kohl’s tiene una posición media en el mercado. Sus ventas están distribuidas relativamente bien entre las categorías, aunque con una ligera preferencia en “Men’s Street Footwear”.

Walmart

Las ventas totales de Walmart alcanzan alrededor de 10.4 millones. Este minorista muestra una distribución balanceada entre las diferentes categorías, con una ligera preferencia en “Women’s Apparel”. El volumen de ventas de Walmart es considerable, pero queda rezagado respecto a los líderes en el mercado.

Amazon

Con aproximadamente 10.1 millones en ventas, Amazon ocupa la última posición entre los minoristas evaluados. A pesar de esto, sus ventas están balanceadas, con “Men’s Street Footwear” como la categoría más destacada. Amazon podría considerar ajustar su estrategia para aumentar la participación en el mercado, enfocándose en categorías que le permitan competir con mayor ventaja.


Unidades vendidas por producto


ProductoUV <- Retail %>%
  select(units_sold,Product) %>% 
  group_by(Product) %>% 
  ggplot(aes(x = Product,
             y = units_sold,
             fill= Product)) +
  geom_bar(stat = "summary", 
           fun = "sum") +
  scale_fill_manual(values = c("#EB9DA2",
                               "#F0B884",
                               "#E8E6A5",
                               "#BBE8B5",
                               "#ACBBE8",
                               "#C5ACE8")) +
  labs(x = "Producto",
       y = "Unidades vendidas", 
       title  = "Unidades vendidas por producto")+
  coord_flip() +
  scale_y_continuous(labels = comma) +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10),
    legend.title = element_text(color = "#C5ACE8", size = 12, face = "bold"),
    legend.text = element_text(color = "#C5ACE8", size = 10)
  )

ggplotly(ProductoUV)


Análisis de unidades vendidas por producto

  • Calzado de calle para hombres: 600,000 unidades (categoría más vendida).
  • Calzado deportivo para hombres: 436,000 unidades.
  • Ropa para mujeres: 434,000 unidades (tercera posición).

Análisis por género

  • Mayor demanda de calzado para hombres (calzado de calle y deportivo)
  • Mayor demanda de ropa para mujeres en comparación con ropa para hombres Productos menos vendidos:
  • Ropa para hombres
  • Calzado deportivo femenino

Sin embargo, la suma de unidades vendidas de estos productos supera las 623,000 unidades, lo que sugiere que:

  • Estos minoristas son más efectivos en la venta de calzado.
  • El público objetivo prefiere adquirir ropa en otros establecimientos o plataformas.

Este análisis proporciona valiosa información sobre las preferencias de los clientes y puede ayudar a los minoristas a ajustar su estrategia de productos y marketing.


Total ventas y margen promedio por minorista


sumdfret <- Retail %>% 
  group_by(retailer) %>% 
  summarise(promOPret = mean(operating_margin, na.rm = TRUE),
            totalret = sum(total_sales, na.rm = TRUE))
factorret <- max(sumdfret$totalret) / max(sumdfret$promOPret, na.rm = TRUE)

VenPromURetail <- sumdfret %>% 
  ggplot(aes(x = retailer)) +
  geom_bar(aes(y = totalret), stat = "identity", 
           width = 0.5, 
           fill = "#C5ACE8") +
  geom_line(aes(y = promOPret * factorret, group = 1), color = "#BBE8B5", size = 1) +
  geom_point(aes(y = promOPret * factorret), color = "#BBE8B5", size = 3) +
  scale_y_continuous(
    name = "Total Ventas", 
    labels = comma,
    sec.axis = sec_axis(~ . / factorret, name = "Margen Operativo Promedio")
  ) +
  ggtitle("Total ventas y margen promedio por minorista")+
  theme_minimal() +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "white", size = 0.25),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10),
    legend.title = element_text(color = "#C5ACE8", size = 12, face = "bold"),
    legend.text = element_text(color = "#C5ACE8", size = 10)
  )

VenPromURetail


West Gear

Con 32.4 millones en ventas, West Gear tiene un buen volumen de ventas, pero su margen operativo (0.4179) es moderado en comparación con el de Sports Direct. Esto sugiere que aunque tiene un volumen de ventas considerable, no maximiza tanto su rentabilidad operativa en relación con sus ingresos.

Foot Locker

Foot Locker tiene un volumen de ventas de aproximadamente 29 millones y un margen operativo de 0.4179, similar al de West Gear. Esto indica que Foot Locker tiene un equilibrio entre volumen de ventas y rentabilidad operativa. Aunque no lidera el mercado en ventas, su margen operativo es competitivo y refleja una gestión eficiente de sus costos.

Sports Direct

Sports Direct destaca en la relación entre margen operativo y ventas. Su margen operativo de 0.4449 es el más alto, lo que sugiere que tiene una alta eficiencia operativa. Con aproximadamente 24.6 millones en ventas, tiene un volumen más bajo que West Gear y Foot Locker, pero su margen superior indica que está maximizando la rentabilidad de sus ventas de manera más efectiva.

Kohl’s

Kohl’s presenta un margen operativo de 0.4193 con ventas de 13.5 millones. Su margen operativo es relativamente alto, pero su volumen de ventas es bajo en comparación con West Gear y Foot Locker, lo que podría indicar que Kohl’s no está aprovechando completamente su capacidad.

Walmart

A pesar de que Walmart tiene un volumen de ventas considerable de 10.5 millones, su margen operativo es el más bajo de todos los minoristas, con 0.4065. Esto sugiere que aunque tiene un gran volumen de ventas, su rentabilidad operativa es débil, lo que podría ser una consecuencia de su estrategia de precios bajos que, aunque impulsa las ventas, reduce los márgenes.

Amazon

Amazon tiene un volumen de ventas de aproximadamente 10.1 millones y un promedio de margen operativo de 0.4179. Aunque su volumen de ventas es más bajo en comparación con West Gear y Foot Locker, su promedio de margen operativo es relativamente competitivo. Esto sugiere que Amazon podría estar maximizando su eficiencia operativa en relación con el volumen de ventas. Sin embargo, su menor volumen en comparación con otros minoristas podría implicar que aún tiene margen para expandir su participación en el mercado y mejorar su rentabilidad operativa.


Ventas totales por método y región


VenMetReg <- Retail %>% 
  group_by(Region, sales_method) %>% 
  summarise(total = sum(total_sales)) %>% 
  ggplot(aes(x = Region,
             y = total,
             fill = sales_method)) +
  geom_bar(stat = "identity",
           position = "stack") +
  scale_fill_manual(name = "Método de ventas", values = c("#C5ACE8","#ACBBE8","#BBE8B5")) +
  scale_y_continuous(labels = comma) +
  ggtitle("Ventas totales por método y región")+
  xlab("Región") +
  ylab("Ventas totales") +
  theme_minimal() +
  theme(
    panel.background = element_rect(fill = "white", color = NA), 
    plot.background = element_rect(fill = "white", color = NA),
    plot.title = element_text(color = "#C5ACE8", size = 16, face = "bold", hjust = 0.5),
    panel.grid.major = element_line(color = "#C5ACE8", size = 0.5), 
    panel.grid.minor = element_line(color = "white", size = 0.25),
    axis.title = element_text(color = "#C5ACE8", size = 11, face = "bold"),  
    axis.text = element_text(color = "#C5ACE8", size = 10),
    legend.title = element_text(color = "#C5ACE8", size = 12, face = "bold"),
    legend.text = element_text(color = "#C5ACE8", size = 10)
  )

ggplotly(VenMetReg)


Análisis de ventas totales por región y método de venta:

West

USD30 millones (mayor volumen de ventas)

  • Outlet: mayor participación
  • Ventas en línea: significativa

Northeast

USD 25 millones (segunda región con mayores ventas)

  • Ventas en tiendas físicas: dominantes
  • Canales en línea y outlet: participación significativa

Southeast

USD 20 millones

  • Ventas en línea: muy fuertes, casi igualando ventas en tienda
  • Preferencia por compras digitales

South

USD 20 millones

  • Canal outlet y en línea: más fuertes que ventas en tienda
  • Consumidores valoran opciones de descuento

Midwest

USD 10 millones (menor volumen de ventas)

  • Ventas en línea y en tienda: equilibradas
  • Menor proporción de ventas en outlets

Este análisis revela patrones regionales en las preferencias de compra:

  • Preferencia por tiendas físicas en West y Northeast
  • Compras digitales en Southeast
  • Opciones de descuento en South
  • Equilibrio entre ventas en línea y en tienda en Midwest

Estos hallazgos pueden ayudar a los minoristas a ajustar su estrategia de marketing y ventas según la región.


Recomendaciones y conclusiones


A continuación, se presentan las recomendaciones clave para optimizar la rentabilidad, mejorar la eficiencia en ventas y fortalecer el desempeño financiero de Adidas:

  1. Para aumentar la rentabilidad operativa, se recomienda revisar las alianzas estratégicas, especialmente con minoristas clave como Amazon, Walmart y Kohl’s. Adidas debe buscar un enfoque que aproveche las fortalezas tanto de la marca como de estos gigantes del retail. La optimización de estas relaciones permitirá maximizar los ingresos y mejorar la eficiencia operativa.

  2. Adidas debe trabajar con los minoristas para implementar estrategias específicas de inventario. Esto puede incluir focalizarse en categorías clave o diversificar la oferta para fortalecer el portafolio. En particular, es esencial mejorar el posicionamiento y la venta de productos clave como el Women’s Athletic Footwear y Men’s Apparel, áreas con un gran potencial de crecimiento. Fomentar una estrategia dirigida a estos productos puede generar un mayor retorno de inversión y fortalecer la presencia de Adidas en el mercado.

  3. Dado que el canal en línea es actualmente el principal generador de ingresos, Adidas debe priorizar el fortalecimiento de su presencia digital. Esto implica redirigir recursos e inversiones hacia este canal para optimizar su rendimiento y aprovechar su alto potencial de crecimiento.

Sin embargo, también es crucial no descuidar los canales físicos, como las tiendas y outlets. Se deben explorar oportunidades de mejora en estos puntos de venta para mantener un enfoque equilibrado que impulse tanto la eficiencia operativa como el crecimiento sostenible de los ingresos.

Por ejemplo, en la región Midwest, que es actualmente la que genera menos ingresos, se podría explorar un refuerzo de las ventas en línea, mientras que en la región South, se podrían implementar estrategias específicas para potenciar las ventas en las tiendas físicas. Esto permitiría adaptar la estrategia de ventas a las características y necesidades de cada región, maximizando los ingresos los tres canales.