# Introducción
El presente informe tiene como objetivo realizar un análisis descriptivo y exploratorio de los datos comerciales y financieros de Adidas.
El análisis busca comprender el comportamiento de las ventas, las unidades vendidas y la rentabilidad de la empresa, considerando variables como la región, el producto, el distribuidor y el método de venta.
A partir de los resultados obtenidos, se identificarán patrones relevantes que permitan formular recomendaciones para la toma de decisiones empresariales.
Para el desarrollo del análisis se utilizó el lenguaje de programación R y la herramienta RStudio.
La base de datos contiene información sobre las ventas y el desempeño financiero de diferentes productos de Adidas.
Se aplicaron las siguientes técnicas:
El análisis se realizó a partir de las variables de precio por unidad, unidades vendidas, ventas totales, utilidad operativa y margen operativo.
library(readxl)
datos <- read_excel("~/Downloads/DatosCaso1.xlsx")
head(datos)
## # A tibble: 6 × 11
## distribuidor region estado ciudad producto precio_unidad unidades_vendidas
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Foot Locker Northeast New Yo… New Y… Men's S… 50 1200
## 2 Foot Locker Northeast New Yo… New Y… Men's A… 50 1000
## 3 Foot Locker Northeast New Yo… New Y… Women's… 40 1000
## 4 Foot Locker Northeast New Yo… New Y… Women's… 45 850
## 5 Foot Locker Northeast New Yo… New Y… Men's A… 60 900
## 6 Foot Locker Northeast New Yo… New Y… Women's… 50 1000
## # ℹ 4 more variables: ventas_total <dbl>, utilidad_operativa <dbl>,
## # margen_operativo <dbl>, metodo_venta <chr>
dim(datos)
## [1] 9648 11
names(datos)
## [1] "distribuidor" "region" "estado"
## [4] "ciudad" "producto" "precio_unidad"
## [7] "unidades_vendidas" "ventas_total" "utilidad_operativa"
## [10] "margen_operativo" "metodo_venta"
str(datos)
## tibble [9,648 × 11] (S3: tbl_df/tbl/data.frame)
## $ distribuidor : chr [1:9648] "Foot Locker" "Foot Locker" "Foot Locker" "Foot Locker" ...
## $ region : chr [1:9648] "Northeast" "Northeast" "Northeast" "Northeast" ...
## $ estado : chr [1:9648] "New York" "New York" "New York" "New York" ...
## $ ciudad : chr [1:9648] "New York" "New York" "New York" "New York" ...
## $ producto : chr [1:9648] "Men's Street Footwear" "Men's Athletic Footwear" "Women's Street Footwear" "Women's Athletic Footwear" ...
## $ precio_unidad : num [1:9648] 50 50 40 45 60 50 50 50 40 45 ...
## $ unidades_vendidas : num [1:9648] 1200 1000 1000 850 900 1000 1250 900 950 825 ...
## $ ventas_total : num [1:9648] 60000 50000 40000 38250 54000 ...
## $ utilidad_operativa: num [1:9648] 30000 15000 14000 13388 16200 ...
## $ margen_operativo : num [1:9648] 0.5 0.3 0.35 0.35 0.3 0.25 0.5 0.3 0.35 0.35 ...
## $ metodo_venta : chr [1:9648] "In-store" "In-store" "In-store" "In-store" ...
colSums(is.na(datos))
## distribuidor region estado ciudad
## 0 0 0 0
## producto precio_unidad unidades_vendidas ventas_total
## 0 0 0 0
## utilidad_operativa margen_operativo metodo_venta
## 0 0 0
En esta sección se presentan las principales estadísticas descriptivas de las variables numéricas de la base de datos.
Se analizarán la media, la mediana y la desviación estándar para comprender el comportamiento de las variables comerciales y financieras.
estadisticas_generales <- datos %>%
summarise(
promedio_precio = mean(precio_unidad, na.rm = TRUE),
mediana_precio = median(precio_unidad, na.rm = TRUE),
desviacion_precio = sd(precio_unidad, na.rm = TRUE),
promedio_unidades = mean(unidades_vendidas, na.rm = TRUE),
mediana_unidades = median(unidades_vendidas, na.rm = TRUE),
desviacion_unidades = sd(unidades_vendidas, na.rm = TRUE),
promedio_ventas = mean(ventas_total, na.rm = TRUE),
mediana_ventas = median(ventas_total, na.rm = TRUE),
desviacion_ventas = sd(ventas_total, na.rm = TRUE),
promedio_utilidad = mean(utilidad_operativa, na.rm = TRUE),
mediana_utilidad = median(utilidad_operativa, na.rm = TRUE),
desviacion_utilidad = sd(utilidad_operativa, na.rm = TRUE),
promedio_margen = mean(margen_operativo, na.rm = TRUE),
mediana_margen = median(margen_operativo, na.rm = TRUE),
desviacion_margen = sd(margen_operativo, na.rm = TRUE)
)
kable(estadisticas_generales, digits = 2)
| promedio_precio | mediana_precio | desviacion_precio | promedio_unidades | mediana_unidades | desviacion_unidades | promedio_ventas | mediana_ventas | desviacion_ventas | promedio_utilidad | mediana_utilidad | desviacion_utilidad | promedio_margen | mediana_margen | desviacion_margen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 45.22 | 45 | 14.71 | 256.93 | 176 | 214.25 | 12455.08 | 7803.5 | 12716.39 | 4894.79 | 3262.98 | 4866.46 | 0.42 | 0.41 | 0.1 |
La tabla permite identificar los valores promedio, medianos y la variabilidad de las principales variables analizadas.
La interpretación específica se realizará considerando los resultados obtenidos en la base de datos.
En esta sección se analizarán las ventas totales y las unidades vendidas, considerando las diferencias entre regiones, productos y distribuidores.
ventas_totales <- datos %>%
summarise(
ventas = sum(ventas_total, na.rm = TRUE),
unidades = sum(unidades_vendidas, na.rm = TRUE),
utilidad = sum(utilidad_operativa, na.rm = TRUE)
)
kable(ventas_totales, digits = 2)
| ventas | unidades | utilidad |
|---|---|---|
| 120166650 | 2478861 | 47224968 |
ventas_region <- datos %>%
group_by(region) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
unidades_vendidas = sum(unidades_vendidas, na.rm = TRUE)
) %>%
mutate(
participacion_ventas =
ventas_totales / sum(ventas_totales) * 100
) %>%
arrange(desc(ventas_totales))
kable(ventas_region, digits = 2)
| region | ventas_totales | unidades_vendidas | participacion_ventas |
|---|---|---|---|
| West | 36436157 | 686985 | 30.32 |
| Northeast | 25078267 | 501279 | 20.87 |
| Southeast | 21374436 | 407000 | 17.79 |
| South | 20603356 | 492260 | 17.15 |
| Midwest | 16674434 | 391337 | 13.88 |
ggplot(ventas_region,
aes(x = reorder(region, ventas_totales),
y = ventas_totales)) +
geom_col() +
coord_flip() +
labs(
title = "Ventas totales por región",
x = "Región",
y = "Ventas totales"
) +
theme_minimal()
ventas_producto <- datos %>%
group_by(producto) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
unidades_vendidas = sum(unidades_vendidas, na.rm = TRUE)
) %>%
mutate(
participacion_ventas =
ventas_totales / sum(ventas_totales) * 100
) %>%
arrange(desc(ventas_totales))
kable(ventas_producto, digits = 2)
| producto | ventas_totales | unidades_vendidas | participacion_ventas |
|---|---|---|---|
| Men’s Street Footwear | 27680769 | 593320 | 23.04 |
| Women’s Apparel | 23870985 | 433827 | 19.86 |
| Men’s Athletic Footwear | 20577180 | 435526 | 17.12 |
| Women’s Street Footwear | 17201563 | 392269 | 14.31 |
| Men’s Apparel | 16520632 | 306683 | 13.75 |
| Women’s Athletic Footwear | 14315521 | 317236 | 11.91 |
ggplot(ventas_producto,
aes(x = reorder(producto, ventas_totales),
y = ventas_totales)) +
geom_col() +
coord_flip() +
labs(
title = "Ventas totales por producto",
x = "Producto",
y = "Ventas totales"
) +
theme_minimal()
ventas_distribuidor <- datos %>%
group_by(distribuidor) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
unidades_vendidas = sum(unidades_vendidas, na.rm = TRUE)
) %>%
arrange(desc(ventas_totales))
kable(ventas_distribuidor, digits = 2)
| distribuidor | ventas_totales | unidades_vendidas |
|---|---|---|
| West Gear | 32409558 | 625262 |
| Foot Locker | 29024945 | 604369 |
| Sports Direct | 24616622 | 557640 |
| Kohl’s | 13512453 | 287375 |
| Walmart | 10506085 | 206225 |
| Amazon | 10096987 | 197990 |
En esta sección se analiza la utilidad operativa y el margen operativo para identificar diferencias en la rentabilidad de los productos.
rentabilidad_general <- datos %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
utilidad_total = sum(utilidad_operativa, na.rm = TRUE),
margen_promedio = mean(margen_operativo, na.rm = TRUE),
margen_ponderado =
utilidad_total / ventas_totales
)
kable(rentabilidad_general, digits = 4)
| ventas_totales | utilidad_total | margen_promedio | margen_ponderado |
|---|---|---|---|
| 120166650 | 47224968 | 0.423 | 0.393 |
rentabilidad_producto <- datos %>%
group_by(producto) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
utilidad_total = sum(utilidad_operativa, na.rm = TRUE),
margen_promedio = mean(margen_operativo, na.rm = TRUE)
) %>%
mutate(
margen_calculado = utilidad_total / ventas_totales
) %>%
arrange(desc(utilidad_total))
kable(rentabilidad_producto, digits = 4)
| producto | ventas_totales | utilidad_total | margen_promedio | margen_calculado |
|---|---|---|---|---|
| Men’s Street Footwear | 27680769 | 11629046 | 0.4461 | 0.4201 |
| Women’s Apparel | 23870985 | 9685221 | 0.4413 | 0.4057 |
| Men’s Athletic Footwear | 20577180 | 7437457 | 0.4027 | 0.3614 |
| Women’s Street Footwear | 17201563 | 6494017 | 0.4102 | 0.3775 |
| Men’s Apparel | 16520632 | 6381405 | 0.4132 | 0.3863 |
| Women’s Athletic Footwear | 14315521 | 5597822 | 0.4244 | 0.3910 |
ggplot(rentabilidad_producto,
aes(x = reorder(producto, utilidad_total),
y = utilidad_total)) +
geom_col() +
coord_flip() +
labs(
title = "Utilidad operativa por producto",
x = "Producto",
y = "Utilidad operativa"
) +
theme_minimal()
La comparación por región permite observar las diferencias en ventas, unidades vendidas y rentabilidad entre los segmentos geográficos de la base de datos.
rentabilidad_region <- datos %>%
group_by(region) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
utilidad_total = sum(utilidad_operativa, na.rm = TRUE),
margen_promedio = mean(margen_operativo, na.rm = TRUE)
) %>%
mutate(
margen_calculado = utilidad_total / ventas_totales
) %>%
arrange(desc(utilidad_total))
kable(rentabilidad_region, digits = 4)
| region | ventas_totales | utilidad_total | margen_promedio | margen_calculado |
|---|---|---|---|---|
| West | 36436157 | 13017584 | 0.3967 | 0.3573 |
| Northeast | 25078267 | 9732774 | 0.4105 | 0.3881 |
| South | 20603356 | 9221605 | 0.4669 | 0.4476 |
| Southeast | 21374436 | 8393059 | 0.4192 | 0.3927 |
| Midwest | 16674434 | 6859945 | 0.4353 | 0.4114 |
ggplot(rentabilidad_region,
aes(x = reorder(region, utilidad_total),
y = utilidad_total)) +
geom_col() +
coord_flip() +
labs(
title = "Utilidad operativa por región",
x = "Región",
y = "Utilidad operativa"
) +
theme_minimal()
Se compararán las ventas y la utilidad operativa de los diferentes productos para identificar diferencias en el desempeño comercial y financiero.
comparacion_productos <- datos %>%
group_by(producto) %>%
summarise(
ventas_totales = sum(ventas_total, na.rm = TRUE),
utilidad_total = sum(utilidad_operativa, na.rm = TRUE),
unidades_vendidas = sum(unidades_vendidas, na.rm = TRUE),
margen_promedio = mean(margen_operativo, na.rm = TRUE)
) %>%
arrange(desc(ventas_totales))
kable(comparacion_productos, digits = 2)
| producto | ventas_totales | utilidad_total | unidades_vendidas | margen_promedio |
|---|---|---|---|---|
| Men’s Street Footwear | 27680769 | 11629046 | 593320 | 0.45 |
| Women’s Apparel | 23870985 | 9685221 | 433827 | 0.44 |
| Men’s Athletic Footwear | 20577180 | 7437457 | 435526 | 0.40 |
| Women’s Street Footwear | 17201563 | 6494017 | 392269 | 0.41 |
| Men’s Apparel | 16520632 | 6381405 | 306683 | 0.41 |
| Women’s Athletic Footwear | 14315521 | 5597822 | 317236 | 0.42 |
Se analizará la relación entre variables comerciales y financieras mediante el coeficiente de correlación y gráficos de dispersión.
cor_ventas_utilidad <- cor(
datos$ventas_total,
datos$utilidad_operativa,
use = "complete.obs"
)
cor_ventas_utilidad
## [1] 0.9353717
ggplot(datos,
aes(x = ventas_total,
y = utilidad_operativa)) +
geom_point(alpha = 0.5) +
labs(
title = "Relación entre ventas y utilidad operativa",
x = "Ventas totales",
y = "Utilidad operativa"
) +
theme_minimal()
cor_precio_unidades <- cor(
datos$precio_unidad,
datos$unidades_vendidas,
use = "complete.obs"
)
cor_precio_unidades
## [1] 0.2658685
ggplot(datos,
aes(x = precio_unidad,
y = unidades_vendidas)) +
geom_point(alpha = 0.5) +
labs(
title = "Relación entre precio y unidades vendidas",
x = "Precio por unidad",
y = "Unidades vendidas"
) +
theme_minimal()
En esta sección se presentarán los principales resultados identificados durante el análisis descriptivo y exploratorio.
Los hallazgos se construirán a partir de las estadísticas y visualizaciones obtenidas.
Se analizará la región, el producto o el distribuidor que presente diferencias relevantes en las ventas totales.
Resultado: Se completará con los valores obtenidos en el análisis.
Se comparará la utilidad operativa y el margen operativo entre los productos y las regiones.
Resultado: Se completará con los valores obtenidos en el análisis.
Se interpretarán las correlaciones calculadas para determinar las asociaciones lineales observadas.
Resultado: Se completará con los coeficientes de correlación obtenidos.
Las recomendaciones se formularán a partir de los hallazgos identificados en el análisis.
Se considerarán aspectos como:
Las recomendaciones deben estar respaldadas por los resultados obtenidos y no únicamente por suposiciones.
El análisis descriptivo y exploratorio permite comprender el comportamiento de las ventas y la rentabilidad de Adidas a partir de las variables disponibles en la base de datos.
Las conclusiones finales se desarrollarán con base en los principales hallazgos y las comparaciones realizadas entre regiones, productos y otros segmentos.
El análisis proporciona información que puede apoyar la toma de decisiones comerciales y financieras de la empresa.