lección 5
No todo se puede sumar: métricas aditivas, semi-aditivas y no aditivas
Los ingresos se suman. La conversión no. Aprende qué puedes agregar con SUM, qué necesita un promedio ponderado, y qué no se puede agregar nunca.
⏱ 50 min
Un dashboard dice "conversión media: 4,5 %". El director de marketing lo ve y piensa: "bien, estamos al 4,5 %". Pero ese número es una mentira. El tráfico venía de tres canales: orgánico, con 200.000 visitas y un 2 % de conversión; paid social, con 800 visitas y un 7 %; y email, con 1.200 visitas y un 4,5 %. El dashboard hizo la media de los tres porcentajes: (2 + 7 + 4,5) / 3 = 4,5 %. Y esa media trata los 800 visitantes de paid social como si pesaran igual que los 200.000 del orgánico. La conversión real es la suma de las ventas dividida entre la suma de las visitas: 4.110 / 202.000 = 2,03 %. Ni 4,5 %, ni 7 %. Un número que no significa nada se presentó como verdad en una reunión con directivos.
Este es el error más caro que comete un analista: tratar una métrica no aditiva como si fuera aditiva. Los ingresos se pueden sumar: 100 euros de un segmento + 200 del otro = 300 en total. Pero los porcentajes, los promedios y los ratios NO se pueden sumar así. Necesitas volver a los números brutos y recalcular. Esta lección te enseña a distinguir los tres tipos de métricas y a no caer en la trampa.
### Métricas aditivas: las que puedes sumar sin miedo
Una métrica aditiva es aquella que puedes sumar en cualquier dimensión y el resultado es correcto. Los ingresos son el ejemplo perfecto: los ingresos de Madrid + los de Barcelona = los ingresos de España. Los de enero + los de febrero = los del primer bimestre. Los de la categoría Ropa + los de Accesorios = los de toda la tienda. No importa por dónde cortes: sumar siempre te da el total correcto.
- Ingresos / facturación: SUM(importe) por cualquier dimensión = total correcto
- Cantidad vendida: SUM(unidades) por región, mes o producto = total correcto
- Coste: SUM(coste) = coste total real
- Descuento aplicado: SUM(descuento) = descuento total real
- Número de pedidos: SUM(num_pedidos) = total de pedidos
- Horas trabajadas: SUM(horas) = total real
La regla de oro: si puedes sumar la métrica por CUALQUIER dimensión (tiempo, geografía, producto, cliente) y el resultado sigue teniendo sentido físico, es aditiva. Euros + euros = euros. Unidades + unidades = unidades. Siempre funciona.
### Métricas no aditivas: las que NUNCA puedes sumar
Una métrica no aditiva es un ratio, un porcentaje o un promedio precalculado. No se puede sumar en NINGUNA dimensión sin producir basura. La conversión es el ejemplo clásico: si Madrid convierte al 3 % y Barcelona al 5 %, la conversión total NO es 8 %, ni es (3+5)/2 = 4 %. Es (ventas_madrid + ventas_bcn) / (visitas_madrid + visitas_bcn), y depende del volumen de cada ciudad.
La analogía: imagina que tienes dos piscinas. Una grande con el agua a 20 grados y una pequeña con el agua a 40 grados. La temperatura media del "sistema de dos piscinas" no es (20+40)/2 = 30 grados. Depende de cuánta agua tiene cada una. Si la grande tiene 1.000 litros y la pequeña tiene 10 litros, la temperatura media está mucho más cerca de 20 que de 30. Promediar sin ponderar es ignorar el tamaño.
- Tasa de conversión: ventas / visitas. NO sumar entre segmentos.
- Porcentaje de retención: retenidos / totales. NO sumar entre cohortes.
- Precio medio: ingresos / unidades. NO promediar entre productos.
- Ticket medio: ingresos / pedidos. Es un precio medio con otro nombre — el que oirás en comercio y en retail. NO promediar entre tiendas ni entre meses.
- NPS (Net Promoter Score): (promotores - detractores) / total. NO sumar.
- Margen porcentual: beneficio / ingresos. NO sumar entre líneas.
- Usuarios únicos: no es un ratio, pero se comporta igual. 100 únicos del lunes + 90 del martes no son 190 de la semana, porque los que entraron los dos días se cuentan dos veces. Y tampoco se pueden sumar por canal, ni por país, ni por nada: siempre puede haber alguien en los dos lados. Se recalcula con COUNT(DISTINCT) sobre la tabla granular.
- Cualquier ratio A/B: nunca se suma, siempre se recalcula desde los componentes.
### Métricas semi-aditivas: las que funcionan en unas dimensiones pero no en otras
Hay un tercer tipo que es el más traicionero: las métricas semi-aditivas. Son métricas que puedes sumar en ALGUNAS dimensiones pero no en TODAS. El ejemplo clásico: el saldo de una cuenta bancaria. Puedes sumar los saldos de todas las cuentas de un cliente (dimensión "cuenta") y obtienes su patrimonio total. Pero NO puedes sumar el saldo de enero + el de febrero + el de marzo — eso no tiene ningún significado físico. El saldo de marzo no "se añade" al de febrero: lo sustituye.
- Saldo de cuenta: se suma por clientes, NO por tiempo. En tiempo solo vale el último valor o un promedio.
- Inventario: se suma por producto/almacén, NO por tiempo. El stock del lunes no se añade al del martes.
- Empleados activos: se suma por departamento, NO por tiempo. Los activos hoy no se suman a los de ayer.
Usuarios únicos es la métrica no aditiva que más problemas causa. Si tu tabla tiene grano diario con una columna "unicos_dia", NO puedes sumar esa columna para obtener "únicos del mes" — un mismo usuario puede haber entrado 10 días distintos y lo contarías 10 veces. Para únicos del mes necesitas la tabla de sesiones individuales con COUNT(DISTINCT user_id). La columna precalculada solo sirve para ver el día aislado, no para agregar en tiempo ni en ninguna otra dimensión.
### La regla práctica: cómo agregar cada tipo
1-- ADITIVA: usa SUM directamente2SELECT region, SUM(ingresos) AS total3FROM fact_ventas GROUP BY region;4-- Correcto: ingresos es aditivo en todas las dimensiones.56-- NO ADITIVA (ratio): recalcula desde componentes7-- MAL:8SELECT region, AVG(conversion_pct) AS media_conversion9FROM fact_daily_metrics GROUP BY region;10-- BIEN:11SELECT region,12 SUM(ventas) * 1.0 / SUM(visitas) AS conversion_real13FROM fact_daily_metrics GROUP BY region;1415-- SEMI-ADITIVA (snapshot): usa el último valor o promedio en tiempo16-- MAL:17SELECT SUM(saldo) FROM fact_saldos_mensuales; -- suma meses, sin sentido18-- BIEN:19SELECT SUM(saldo) FROM fact_saldos_mensuales20WHERE fecha = (SELECT MAX(fecha) FROM fact_saldos_mensuales);21-- Solo el último mes: patrimonio total actual.
Tres patrones: SUM directo, recalcular desde brutos, o filtrar al último periodo.
### El promedio ponderado: la herramienta que necesitas
Cuando tienes que agregar un promedio entre segmentos de distinto tamaño, necesitas un promedio ponderado. La fórmula es: SUM(valor * peso) / SUM(peso). El "peso" suele ser el volumen: número de visitas, unidades vendidas, horas trabajadas. Así, un segmento con 100.000 visitas pesa 200 veces más que uno con 500, como debe ser.
1-- Precio medio ponderado por unidades vendidas2-- Si producto A vendió 1.000 unidades a 10 EUR3-- y producto B vendió 5 unidades a 500 EUR4-- El precio medio NO es (10 + 500) / 2 = 255 EUR5-- Es: (1000*10 + 5*500) / (1000 + 5) = 12.500 / 1005 = 12,44 EUR67SELECT8 SUM(cantidad * precio_unitario) / SUM(cantidad) AS precio_medio_ponderado9FROM fact_ventas;1011-- Compara con el promedio SIN ponderar (incorrecto para el negocio):12SELECT AVG(precio_unitario) AS precio_medio_simple13FROM fact_ventas;14-- Este trata cada FILA igual, aunque una fila sea 1 unidad y otra 1.000.
El promedio ponderado respeta el volumen. El promedio simple trata todas las filas como iguales.
¿Y cuándo usas cada cosa? Depende de qué representa el total que te piden. Si te piden el número de la empresa —la conversión de la compañía, el ticket medio del negocio— vuelves a los brutos: SUM(numerador) / SUM(denominador), y el peso de cada segmento sale solo. Si te piden comparar unidades entre sí —qué tienda convierte mejor, qué producto tiene mejor margen— entonces cada unidad cuenta como una y el promedio ponderado o el simple son decisiones distintas: el ponderado te dice cómo va el negocio, el simple te dice cómo va la tienda típica. Lo que no vale nunca es la media de los porcentajes cuando lo que te han pedido es el número de la empresa. Y si no sabes cuál de las dos te están pidiendo, pregúntalo antes de calcular: es una frase, y te ahorra rehacer el informe.
Consejo de senior: cuando un stakeholder te dice "quiero la conversión media", pregunta "¿media ponderada por visitas, o conversión total?". El 90 % de las veces quiere la conversión total (ventas_totales / visitas_totales), no un promedio de porcentajes. Pero si tiene 50 tiendas y quiere comparar el rendimiento de cada una, ahí sí puede querer la media simple para ver la "tienda típica". Depende de la pregunta, y la pregunta hay que aclararla ANTES de calcular.
### Detectar el tipo de métrica en una tabla que no conoces
Cuando llegas a un almacén nuevo y ves una columna llamada "tasa_retencion" o "avg_ticket", la pregunta es: ¿puedo hacer SUM de esto o no? El test rápido:
- 01.Si la columna es un IMPORTE en la moneda del negocio (euros, dólares) → probablemente aditiva.
- 02.Si la columna es un CONTEO entero (num_pedidos, unidades) → probablemente aditiva.
- 03.Si la columna es un PORCENTAJE o RATIO (tasa_X, pct_Y, avg_Z) → NO aditiva. Recalcular siempre.
- 04.Si la columna es un SALDO o INVENTARIO → semi-aditiva. No sumar en tiempo.
- 05.Si tienes duda, mira si el nombre empieza por "avg_", "pct_", "tasa_", "ratio_" — son señales de no aditividad.
### Resumen y conexión
Ya sabes que no todo se puede sumar. Los ingresos sí, la conversión no, y los saldos dependen de la dimensión. Esto completa tu comprensión del modelo: sabes qué tablas hay (hechos y dimensiones), cómo se organizan (estrella), qué es cada fila (grano), y cómo agregar cada columna sin generar números falsos. Falta un último concepto: las dimensiones cambian con el tiempo. Un cliente se muda, un producto cambia de precio. En la siguiente lección verás cómo el almacén maneja esos cambios y cómo consultarlos sin atribuir una venta de enero a la ciudad de julio.
Regístrate para guardar tu progreso.
## comentarios
Reporta erratas, ayuda a otros o comparte tu opinión. Sé constructivo.
Inicia sesión para comentar y responder.
cargando comentarios...