Cascada de MRR
Altas, bajas y expansión de ingresos recurrentes.
Definición
Una cascada de MRR parte del ingreso recurrente inicial y le suma o resta cada movimiento —altas, ampliaciones, reducciones, bajas— hasta llegar al final. Cada tramo arranca donde terminó el anterior y el total se dibuja desde cero. Sirve para explicar por qué el MRR ha subido o bajado en un periodo.
- Datos
- label · value
- Buena para
- Explicar qué movimientos llevan el MRR de un nivel a otro, y comprobar que la cuenta cierra.
- Evítala cuando
- Cuando quieres seguir el MRR durante muchos periodos: el puente explica un salto, no una tendencia.
- Se lee bien
- Entre 4 y 15 elementos; dibuja hasta 300
- Datos que faltan
- Dibuja el valor ausente como cero.
- Accesibilidad
- Lector de pantalla: tabla de datos · respeta «reducir movimiento»
Forma de los datos
Qué columnas pide
| Columna | Tipo | Para qué |
|---|---|---|
label · opcional | string | El movimiento. El ORDEN DE LAS FILAS es la secuencia del puente: la pieza no reordena. |
value · opcional | number | La aportación CON SIGNO. Los tramos se acumulan sobre el anterior; el total se dibuja desde cero. |
Tamaños
Recompuesta, no encogida
El motor vuelve a componer la pieza a cada ancho: los rótulos conservan su cuerpo y la figura gana alto si lo necesita.
Cuándo usarla
Tres preguntas antes de elegirla
¿Los movimientos son de ingreso recurrente?
Si el puente explica otra magnitud, como beneficio o caja, se usa la cascada general.
Sí: quédate con cascada de mrr
No: usa Gráfico de cascada¿Es un solo puente?
Si hay que repetir el puente en varios periodos o desglosar cada tramo, se apilan.
Sí: quédate con cascada de mrr
No: usa Cascada apilada¿Te importa el cierre en importe?
Si la pregunta es qué porcentaje de ingreso retiene la base de clientes, se mide la retención neta.
Sí: quédate con cascada de mrr
No: usa Retención neta de ingresosCódigo
La misma pieza, con tus datos
import { getPreset, renderComposition } from 'visx-render/node';
const spec = await getPreset('mrrwaterfall');
spec.data.rows = misFilas; // tus columnas
const { svg, warnings } = await renderComposition(spec);También en React con Chart y prepareComposition. Guía para desarrolladores →
Dudas
¿Reordena los movimientos?
No: el orden de las filas es la secuencia del puente.
¿Cómo indico una baja o una reducción?
Con signo negativo. Cada tramo se acumula sobre el anterior según su signo.
¿Qué hace si faltan datos?
Dibuja el valor ausente como cero. Si un hueco no es un cero en tus datos, rellénalo o elimina la fila antes de dibujar.
¿Cómo se ve en el móvil?
El motor la recompone a 480 px de ancho —rótulos, leyenda y alto— en vez de encoger la versión de escritorio.
Relacionadas
Otras formas de responder «partes de un todo»
Cascada de atribuciónqué factores explican un resultado
Cascada apiladavariaciones con partes dentro de cada paso
Anidamiento conceptualconceptos contenidos unos dentro de otros
Gráfico de anilloreparto de un total en pocas partes
Matriz de puntosresultados de casos individuales en cuadrícula
Descomposición DuPontdescomponer el ROE en sus factores