BigMart es una cadena de supermercados con 10 tiendas en distintas ciudades. El equipo directivo hace la pregunta:
“¿Qué factores explican por qué algunos productos y algunas tiendas venden mucho más que otras?”
Nuestro rol hoy: analistas de datos. Antes de construir cualquier modelo predictivo, necesitamos entender los datos.
Note
Este es exactamente el trabajo de un EDA completo: no solo calcular números, sino responder preguntas de negocio con evidencia estadística.
El dataset
Item_Identifier
Item_Weight
Item_Fat_Content
Item_Visibility
Item_Type
Item_MRP
Outlet_Type
Outlet_Size
Outlet_Location_Type
Outlet_Age
Item_Outlet_Sales
0
FDA15
9.30
Low Fat
0.016047
Dairy
249.8092
Supermarket Type1
Medium
Tier 1
14
3735.1380
1
DRC01
5.92
Regular
0.019278
Soft Drinks
48.2692
Supermarket Type2
Medium
Tier 3
4
443.4228
2
FDN15
17.50
Low Fat
0.016760
Meat
141.6180
Supermarket Type1
Medium
Tier 1
14
2097.2700
3
FDX07
19.20
Regular
0.000000
Fruits and Vegetables
182.0950
Grocery Store
Small
Tier 3
15
732.3800
Variables clave
Variable
Tipo
Descripción
Item_MRP
Numérica
Precio máximo de venta al público
Item_Visibility
Numérica
% de espacio en anaquel que ocupa el producto
Item_Weight
Numérica
Peso del producto (kg)
Outlet_Age
Numérica
Años de operación de la tienda
Variables clave
Variable
Tipo
Descripción
Outlet_Type
Categórica
Tipo de tienda (Grocery / Supermercado 1–3)
Outlet_Location_Type
Categórica
Nivel socioeconómico de la ciudad (Tier 1–3)
Outlet_Size
Categórica
Tamaño físico de la tienda
Variables clave
Variable
Tipo
Descripción
Outlet_Size
Categórica
Tamaño físico de la tienda
Item_Type
Categórica
Categoría del producto (16 tipos)
Item_Outlet_Sales
Numérica
Ventas totales del producto en esa tienda
Lo que ya sabemos
Lo que ya sabemos: ventas
Medidas univariadas de dsitribución de Item_Outlet_Sales:
Medida
Valor
Interpretación
Media
$2,181
Promedio de ventas
Mediana
$1,794
Menor que la media
Desv. std
$1,706
Alta variabilidad
Sesgo
1.18
Asimetría positiva
Curtosis
1.62
Colas pesadas
Lo que ya sabemos: distribución
Tip
Punto de partida: la distribución es asimétrica y tiene outliers. Esto ya nos dice que no todas las observaciones se comportan igual. Hoy investigamos por qué.
Pregunta 1
¿Todas las tiendas venden igual?
Heterogeneidad
Cuando queremos comparar variabilidad entre grupos con distintas medias, la desviación estándar sola no es suficiente.
CV = \frac{\sigma}{\mu} \times 100\%
El el coeficiente de variación (CV) nos dice: ¿qué tan grande es la dispersión relativa a la media?
CV
Interpretación
< 15 %
Muy homogéneo
15–30 %
Moderadamente variable
> 30 %
Alta heterogeneidad
¿Por qué no comparar desviaciones estándar?
CV por tipo de tienda
¿Por qué Grocery Store tiene menor media pero mayor CV?
Grocery Store tiene bajo volumen de ventas
Presenta alta variabilidad relativa (CV alto)
Insight EDA
La distribución es inestable respecto a su escala
La media no es representativa por sí sola
Insight negocio
Las ventas son difíciles de anticipar
El comportamiento es más volátil que en supermercados
¿Qué implica esto para la gestión de inventario?
Alta variabilidad → demanda poco predecible
Mayor riesgo de:
sobrestock
quiebres de inventario
Insight EDA
Se requiere análisis adicional ( como segmentación ) para entender mejor los patrones de demanda
Heterogeneidad entre tiendas individuales
Heterogeneidad entre tiendas individuales
Existe alta variabilidad entre tiendas del mismo tipo
OUT027 vende ~10x más que OUT010 y OUT019
Insight EDA
El tipo de tienda no explica completamente las ventas
Hay subgrupos internos (heterogeneidad intra-clase)
Posible mezcla de distribuciones → no es unimodal
Insight negocio
No todas las tiendas del mismo tipo deben tratarse igual, se requiere segmentación a nivel tienda (no solo tipo)
Boxplots por tipo de tienda
Para discutir:
¿Qué nos dice la diferencia entre media y mediana en Grocery Store?
¿Cómo se refleja el sesgo aquí?
Pregunta 2
¿Pocos productos generan casi todo el ingreso?
Concentración: Lorenz y Gini
La curva de Lorenz visualiza qué fracción de las ventas totales acumula el X% de los productos (ordenados de menor a mayor).
El índice de Gini resume esa desigualdad en un número:
G = 1 - 2\int_0^1 L(x)\,dx \qquad G \in [0,\,1]
G = 0: todos los productos venden exactamente igual (igualdad perfecta)
G = 1: un solo producto genera todo el ingreso (desigualdad máxima)
Curva de Lorenz: ventas por producto
Número de productos únicos: 1559
Índice de Gini: 0.3275
Top 20% de productos → 38.5% de ventas
¿Se cumple la regla 80/20 de Pareto?
El top 20% de productos genera ~38.5% de ventas
No se cumple estrictamente la regla 80/20
Insight EDA
Existe concentración, pero no extrema
Distribución “Pareto-like”, no pura
Insight negocio
Las ventas no dependen solo de unos pocos productos
Existe diversificación en el catálogo
¿Qué implica para la gestión del catálogo?
No todos los productos aportan igual valor
Existe un grupo de productos clave
Insight EDA
Se requiere segmentación del catálogo
Identificar niveles de contribución
Insight negocio
Priorizar:
inventario de productos top
visibilidad y promoción
Concentración por categoría de producto
Pregunta 3
¿Qué variables se relacionan con las ventas?
Correlación: recuerdo rápido
El coeficiente de correlación de Pearson mide la fuerza y dirección de la relación lineal entre dos variables:
r = \frac{\sum(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum(x_i-\bar{x})^2 \cdot \sum(y_i-\bar{y})^2}} \qquad r \in [-1,\,1]
Important
Correlación ≠ causalidad. Una relación estadística fuerte no implica que una variable cause la otra.
Correlación: Guia de interpretación
|r|
Interpretación
0.0 – 0.1
Despreciable
0.1 – 0.3
Débil
0.3 – 0.5
Moderada
0.5 – 0.7
Fuerte
0.7 – 1.0
Muy fuerte
Matriz de correlación
¿Qué correlación es más sorprendente?
La correlación entre visibilidad y ventas es débil o negativa
No sigue la intuición de “más visibilidad → más ventas”
Insight EDA
Posible relación no lineal o sesgada
La variable puede estar mal medida o contener outliers
Insight negocio
Mayor visibilidad puede asociarse a productos de baja rotación
No necesariamente indica mejor desempeño
¿Esperaríamos una correlación negativa?
Intuitivamente, esperaríamos correlación positiva
Sin embargo, observamos lo contrario
Insight EDA
La correlación simple no captura causalidad
Puede existir confusión por variables ocultas
Insight negocio
Productos con baja demanda reciben más visibilidad
Estrategias de exhibición buscan impulsar ventas bajas
Precio vs Ventas: la correlación más fuerte
Visibilidad vs Ventas: la paradoja del anaquel
Para discutir:
¿Por qué productos con más espacio en anaquel venden menos?
¿Podría ser que los productos de nicho necesiten más espacio pero tengan demanda baja?
Pregunta 4
¿Existe estructura latente en los datos?
Del EDA al PCA
Hasta ahora exploramos cada variable por separado o en pares.
Pero los datos tienen 4 dimensiones numéricas simultáneas:
La pregunta ahora es: ¿podemos resumir estas 4 dimensiones en 2 o 3 componentes que conserven la mayor información posible, y que nos permitan visualizar la estructura de los datos?
Tip
PCA no reemplaza el EDA univariado y bivariado — lo sintetiza. Las variables que mostraron correlaciones altas entre sí tenderán a dominar los mismos componentes principales.
Paso 1: Estandarizar
Las escalas son completamente distintas — sin estandarización, el PCA quedaría dominado por Item_MRP:
pca_cols = ['Item_Weight','Item_Visibility','Item_MRP','Outlet_Age']# Ver la escala de cada variabledf[pca_cols].describe().loc[['mean','std','min','max']].round(3)
Item_Weight
Item_Visibility
Item_MRP
Outlet_Age
mean
12.875
0.066
140.993
15.168
std
4.645
0.052
62.275
8.372
min
4.555
0.000
31.290
4.000
max
21.350
0.328
266.888
28.000
Paso 1: Estandarizar
scaler = StandardScaler()X_std = scaler.fit_transform(df[pca_cols])# Verificar: todas con media ≈ 0 y std ≈ 1pd.DataFrame(X_std, columns=pca_cols).describe().loc[['mean','std']].round(4)
Item_Weight
Item_Visibility
Item_MRP
Outlet_Age
mean
0.0000
-0.0000
-0.0000
-0.0000
std
1.0001
1.0001
1.0001
1.0001
Paso 2: Aplicar PCA
Para discutir: ¿Cuántos componentes retendríamos por la regla de Kaiser (\lambda > 1)? ¿Y por la regla del 80%?
¿Por qué Grocery Store se separa del resto en el eje PC1?
¿Qué dice eso sobre cómo difieren de los supermercados?
¿Qué sigue?
Lo que encontramos hoy
El EDA como mapa para el modelado
El EDA no es un fin en sí mismo — es el mapa que guía las decisiones de modelado:
Hallazgo EDA
Decisión para el modelo
Item_MRP tiene r = 0.57 con ventas
Incluirla, probablemente sea el predictor más importante
Outlet_Type genera grupos muy distintos
Considerar variables dummy o modelos por segmento
Item_Visibility tiene r negativa
Investigar si hay colinealidad o efecto confusor
El EDA como mapa para el modelado
El EDA no es un fin en sí mismo — es el mapa que guía las decisiones de modelado:
Hallazgo EDA
Decisión para el modelo
Ventas con sesgo positivo fuerte
Considerar transformación logarítmica de la variable objetivo
PC1 separa Grocery Store
Posible variable de interacción tipo×precio
Tip
Próxima clase: con este mapa, construiremos un modelo de regresión para predecir Item_Outlet_Sales. El EDA que hicimos hoy nos dirá exactamente qué variables incluir y cómo prepararlas.