in
Inicio › Blog › Waterfall en Power BI: descompón el gap de ventas vs budget
Power BI

Waterfall en Power BI: descompón el gap de ventas vs budget

Jose Luis Rico 20 abril 2026 ⏱ 11 min lectura
Gráfico waterfall en Power BI que descompone el gap de ventas frente al budget en retail

Hace un par de años, trabajando con una cadena de retail con tiendas físicas en varios mercados, me hicieron la pregunta que más me gusta y más me exige al mismo tiempo: «¿Por qué estamos por debajo del budget?»

El dato estaba ahí, en el dashboard: ventas reales de 5.502, budget de 8.662. Un gap de 3.160 unidades. Significativo. Pero el equipo de dirección no necesitaba saber que había un gap —eso ya lo sabían. Necesitaban saber por qué existía ese gap, qué lo estaba causando, y sobre qué palancas podían actuar.

Un número solo no responde esa pregunta. Un waterfall chart bien construido, sí.

En este artículo te explico cómo construí ese gráfico en Power BI: la matemática detrás de la descomposición, las medidas DAX paso a paso, y cómo configurarlo para que el título cambie automáticamente según cuál sea el driver principal del gap.

La fórmula base: Ventas = Entradas × CR × AOV

El punto de partida es una identidad matemática que define cómo se construyen las ventas en retail físico:

Ventas = Entradas × Ratio de Conversión × Ticket Medio

Cada factor tiene un significado concreto en el contexto de una tienda:

  • Entradas (Entries) — Cuántas personas entran en la tienda. Se mide normalmente con contadores de personas y es el indicador de tráfico bruto. Sin tráfico, no hay nada que convertir.
  • Ratio de Conversión (CR) — De todas las personas que entran, qué porcentaje acaba comprando. Si entran 1.000 personas y se generan 150 tickets, el CR es del 15%.
  • Ticket Medio (AOV, Average Order Value) — Cuánto gasta de media cada cliente que sí decide comprar. Si las ventas son 7.500 con 150 tickets, el AOV es 50.

La identidad es exacta: Entradas × CR × AOV = Ventas. No es una aproximación ni una heurística — es matemáticamente preciso. Y eso es lo que hace posible la descomposición que verás a continuación.

Si quieres profundizar en estos tres KPIs y cómo implementarlos en un dashboard de retail completo, en el post sobre los 7 KPIs de retail que debes tener en tu dashboard los desarrollo en detalle junto a otros cuatro indicadores clave.

El modelo de datos necesario

Para construir este análisis en Power BI necesitas tres elementos en tu modelo:

Tabla de hechos de ventas reales

Contiene las transacciones o métricas agregadas reales: entradas, tickets y ventas por tienda y período. A partir de ellas calcularás las medidas reales de Entries, CR y AOV.

Tabla de budget

Contiene los valores planificados para el mismo nivel de granularidad: entradas budget, tickets budget y ventas budget por tienda y período. Es el punto de referencia contra el que se mide el gap.

Tabla de parámetro Drivers

Esta es la pieza que hace posible el waterfall. Es una tabla pequeña, creada manualmente, que funciona como eje de categorías del gráfico. Tiene exactamente cuatro filas:

Driver Order
Budget 1
Entries 2
CR 3
AOV 4

La columna Driver contiene los valores que usará el SWITCH en tus medidas DAX. La columna Order controla el orden de aparición en el gráfico. Esta tabla no tiene relación con ninguna otra — existe únicamente para ser el eje X del visual.

Puedes crearla en Power BI Desktop desde Modelado → Nueva tabla con esta expresión DAX:

Drivers =
DATATABLE(
    "Driver", STRING,
    "Order",  INTEGER,
    {
        {"Budget",  1},
        {"Entries", 2},
        {"CR",      3},
        {"AOV",     4}
    }
)

Si tu modelo de datos tiene una arquitectura más compleja con múltiples fuentes, en el artículo sobre arquitectura de datos moderna con Databricks y Power BI encontrarás cómo estructurar el pipeline antes de que los datos lleguen a Power BI.

Las medidas de impacto: la lógica de sustitución encadenada

Aquí está el núcleo del análisis. La pregunta que queremos responder es: si las ventas reales difieren del budget, ¿cuánto de esa diferencia se explica por el tráfico, cuánto por la conversión y cuánto por el ticket medio?

La técnica se llama sustitución encadenada (o análisis de varianza por factores). La idea es sencilla: sustituimos los valores budget por los reales de uno en uno, en orden, y medimos el impacto de cada sustitución.

Cómo funciona la sustitución encadenada

Partimos del budget: Entries_B × CR_B × AOV_B = Budget.

Ahora sustituimos solo las entradas por el valor real, manteniendo el resto en budget:

Ventas con Entries reales = Entries_R × CR_B × AOV_B

La diferencia respecto al budget es el impacto del tráfico.

Luego sustituimos la conversión (ya con las entradas reales):

Ventas con Entries y CR reales = Entries_R × CR_R × AOV_B

La diferencia respecto al paso anterior es el impacto de la conversión.

Por último, sustituimos el AOV (ya con entradas y CR reales):

Ventas reales = Entries_R × CR_R × AOV_R

La diferencia es el impacto del ticket medio.

Sumando los tres impactos más el budget obtienes exactamente las ventas reales. Sin residuo, sin error de redondeo en la lógica. Es matemáticamente exacto.

Las fórmulas DAX de impacto

Las tres medidas de impacto quedan así. Asumo que ya tienes definidas las medidas base en tu modelo: [Entries Real], [Entries Budget], [CR Real], [CR Budget], [AOV Real], [AOV Budget] y [Budget EUR].

Impact Entries =
( [Entries Real] - [Entries Budget] )
    * [CR Budget]
    * [AOV Budget]
Impact CR =
[Entries Real]
    * ( [CR Real] - [CR Budget] )
    * [AOV Budget]
Impact AOV =
[Entries Real]
    * [CR Real]
    * ( [AOV Real] - [AOV Budget] )

Para verificar que la descomposición cuadra, puedes crear una medida de comprobación:

Check Total =
[Budget EUR]
    + [Impact Entries]
    + [Impact CR]
    + [Impact AOV]

Esta medida debe ser igual a tus ventas reales en cualquier contexto de filtro. Si no cuadra, el problema suele estar en cómo están definidas las medidas base de CR o AOV (asegúrate de que CR = Tickets / Entradas y AOV = Ventas / Tickets, con la misma granularidad).

Por qué la suma cuadra exactamente

Si lo desarrollas algebraicamente, verás que:

Budget + Impact Entries + Impact CR + Impact AOV

= E_B × CR_B × AOV_B
+ (E_R - E_B) × CR_B × AOV_B
+ E_R × (CR_R - CR_B) × AOV_B
+ E_R × CR_R × (AOV_R - AOV_B)

= E_R × CR_R × AOV_R

= Ventas Reales

No hay magia: los términos intermedios se cancelan y lo que queda es el producto de los tres valores reales. Por eso no necesitas una barra de «residuo» en el waterfall — el gráfico siempre cierra perfectamente.

Las medidas del waterfall

Con las medidas de impacto definidas, las dos medidas que alimentan el visual son sencillas.

Medida principal: Waterfall Value

Esta medida usa la tabla Drivers como contexto. Dependiendo de qué fila esté activa en el eje del gráfico, devuelve el valor correspondiente:

Waterfall Value =
SWITCH(
    SELECTEDVALUE(Drivers[Driver]),
    "Budget",  [Budget EUR],
    "Entries", [Impact Entries],
    "CR",      [Impact CR],
    "AOV",     [Impact AOV]
)

El visual Waterfall de Power BI lee esta medida para cada categoría del eje y calcula automáticamente el acumulado y el total final.

Medida de título dinámico: Main Driver

Esta medida identifica cuál de los tres factores tiene el mayor impacto en valor absoluto y devuelve un texto para usar como título del gráfico:

Main Driver =
VAR t = ABS([Impact Entries])
VAR c = ABS([Impact CR])
VAR a = ABS([Impact AOV])
RETURN
SWITCH(
    TRUE(),
    t >= c && t >= a, "Main driver: Traffic",
    c >= t && c >= a, "Main driver: Conversion",
    "Main driver: AOV"
)

Usamos valor absoluto porque tanto un impacto positivo como uno negativo grande son igualmente relevantes para identificar el driver principal. Si el tráfico cae mucho pero el AOV sube mucho más, el título reflejará que el AOV es el main driver.

Configurar el gráfico en Power BI paso a paso

Paso 1: Seleccionar el visual Waterfall

En Power BI Desktop, ve al panel de visualizaciones y selecciona el visual Gráfico de cascada (Waterfall chart). Es un visual nativo de Power BI, no necesitas ningún visual personalizado del marketplace.

Paso 2: Configurar el eje de categorías

En el campo Categoría del visual, arrastra el campo Driver de la tabla Drivers. Asegúrate de que las filas están ordenadas por la columna Order: selecciona la columna Driver en la vista de datos, ve a Herramientas de columna → Ordenar por columna → Order. Así el gráfico mostrará Budget → Entries → CR → AOV → Total, en ese orden.

Paso 3: Asignar la medida de valores

En el campo Valores Y, arrastra la medida [Waterfall Value]. El visual interpretará automáticamente los valores positivos como barras que suman y los negativos como barras que restan, mostrando el acumulado en cada paso.

Paso 4: Configurar el desglose (Breakdown)

El campo Desglose del visual Waterfall permite segmentar cada barra por una dimensión adicional (por ejemplo, por tienda o por región). Para un primer análisis global, déjalo vacío. Si quieres ver qué tiendas contribuyeron más al impacto de Entries, arrastra aquí tu dimensión de tienda.

Paso 5: Añadir el título dinámico

Con el visual seleccionado, ve al panel de formato → Título. Actívalo si no lo está. Haz clic en el icono fx que aparece junto al campo de texto del título. En el diálogo que se abre, selecciona Valor de campo y elige la medida [Main Driver]. Confirma.

A partir de ahora el título del gráfico cambiará automáticamente dependiendo del contexto de filtros activo: si el usuario filtra por una tienda concreta donde la conversión es el problema principal, el título mostrará «Main driver: Conversion».

Paso 6: Ajustar los colores del visual

En el panel de formato, bajo Colores de datos, puedes configurar tres colores independientes:

  • Aumento — color para barras positivas (impactos favorables). Recomendado: verde.
  • Disminución — color para barras negativas (impactos desfavorables). Recomendado: rojo.
  • Total — color para la barra de Budget (inicio) y la barra de Total (resultado final). Recomendado: azul o gris neutro.

Esta codificación de colores hace que el gráfico sea intuitivo en décimas de segundo: rojo es lo que va mal, verde es lo que va bien, el azul es el punto de partida y el resultado final.

Cómo leer el gráfico: el ejemplo real

El gráfico con el que trabajo parte de estos datos:

Barra Valor Interpretación
Budget +8.662 Ventas planificadas. Punto de partida.
Entries −3.158 El tráfico fue menor que el budget. Impacto negativo.
CR −1.069 La conversión también cayó vs budget. Impacto negativo.
AOV +1.067 El ticket medio fue mejor que el budget. Impacto positivo.
Total 5.502 Ventas reales. Budget − 3.158 − 1.069 + 1.067 = 5.502.

Vamos con la lectura completa:

El tráfico es el driver principal del gap. La barra de Entries es la más grande en valor absoluto (−3.158), por eso el título del gráfico muestra «Main driver: Traffic». Menos gente entró en la tienda de lo que se había planificado, y eso solo explica más de la mitad del gap total de 3.160 unidades.

La conversión empeoró además del tráfico. La barra de CR añade −1.069 adicionales. No solo hubo menos tráfico: de los clientes que sí entraron, un porcentaje menor acabó comprando. Esto sugiere que el problema no es solo de captación (marketing, visibilidad, ubicación) sino también de experiencia en tienda o surtido.

El ticket medio salvó parte del gap. Aquí está el dato interesante: la barra de AOV es verde y vale +1.067. El ticket medio fue mejor de lo esperado — los clientes que compraron gastaron más de lo planificado. Esto compensó parcialmente el impacto negativo del tráfico y la conversión. En una conversación con el equipo, esto es una buena noticia que conviene destacar: la estrategia de upselling o el mix de producto está funcionando.

El gap neto es −3.160. Budget (8.662) + Entries (−3.158) + CR (−1.069) + AOV (+1.067) = 5.502 reales. El gráfico lo cuadra perfectamente.

Qué conversaciones cambia este análisis

Sin este desglose, la conversación suele ser: «estamos por debajo del budget, hay que vender más». Con el waterfall, la conversación se convierte en algo mucho más accionable:

  • Si el main driver es tráfico → la acción está en marketing, campañas de captación, visibilidad.
  • Si es conversión → la acción está en la experiencia en tienda, la formación del equipo de ventas, el layout, el surtido.
  • Si es AOV → puede ser una señal positiva (el cliente gasta más) o negativa (están entrando menos clientes pero de mayor perfil).

El gráfico no da la respuesta, pero hace la pregunta correcta. Y en retail, hacer la pregunta correcta ya es la mitad del trabajo.

Conclusión

El waterfall de gap vs budget es uno de esos análisis que, una vez que lo introduces en un equipo de retail, ya no pueden vivir sin él. No porque sea técnicamente complejo —las medidas DAX son relativamente sencillas— sino porque hace visible lo que antes era opaco: no solo cuánto se desvían las ventas del plan, sino exactamente por qué.

La clave está en la fórmula base (Ventas = Entradas × CR × AOV) y en la sustitución encadenada, que garantiza que los impactos suman exactamente el gap real sin residuos ni ajustes manuales. El título dinámico con [Main Driver] añade una capa de automatización que hace el gráfico más útil en contextos de análisis por tienda o por período: el título siempre te dice dónde está el problema principal sin que tengas que leer las barras una por una.

Si quieres ir más allá y convertir este análisis en un dashboard con navegación por tienda, período y categoría de producto, los dashboards adaptativos con Field Parameters son el siguiente paso natural: permiten que el usuario elija qué driver analizar sin duplicar páginas ni medidas.

¿Usas ya algún tipo de análisis de waterfall en tus dashboards de retail? ¿Lo tienes por tienda, por región, o a nivel global? Cuéntame en los comentarios cómo lo has montado — me interesa ver cómo lo aplica cada uno.

Comentarios

Deja tu comentario

Los comentarios son revisados antes de publicarse.

Jose Luis Rico Rocamora

Jose Luis Rico Rocamora

Power BI & Analytics Specialist · PL-300 Certified

Especialista en Business Intelligence con más de 10 años de experiencia en retail, finanzas y operaciones. En Datency comparto lo que aprendo y aplico en el día a día.

¿Necesitas aplicar esto
en tu empresa?

Diseño e implemento soluciones de Power BI adaptadas a tu negocio. Hablamos sin compromiso y vemos qué tiene sentido en tu caso.

Scroll al inicio