Curvas de retención
Cuánto aguanta cada cohorte.
Definición
Las curvas de retención dibujan, para cada cohorte, qué porcentaje sigue activo según su antigüedad. Todas comparten el eje de antigüedad y no el calendario, así que cohortes de fechas distintas se comparan en igualdad. Se lee buscando dónde se aplana cada curva, y se usa sobre todo en productos de suscripción.
- Datos
- x · value · series
- Buena para
- Comparar cuánto aguanta cada cohorte y si las nuevas retienen mejor que las antiguas.
- Evítala cuando
- Cuando las cohortes no arrancan en el 100 %: la pieza no normaliza y las curvas no salen del mismo punto.
- Se lee bien
- Entre 6 y 100 elementos; dibuja hasta 1000
- Datos que faltan
- Dibuja el valor ausente como cero.
- Accesibilidad
- Lector de pantalla: resumen en texto · respeta «reducir movimiento»
Forma de los datos
Qué columnas pide
| Columna | Tipo | Para qué |
|---|---|---|
x · opcional | number | La ANTIGÜEDAD, como número (0, 1, 2…), no como fecha. Sin ella la pieza devuelve cero filas. |
value · opcional | number | El porcentaje retenido. Se dibuja tal cual: la pieza no normaliza al 100 % del periodo 0, así que una cohorte que no arranque en 100 sale como venga. |
series · opcional | string | La cohorte: una curva por valor distinto. Ausente = «Cohort n» POR ÍNDICE DE FILA, y entonces cada fila se vuelve su propia cohorte de un punto. |
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
¿Son pocas cohortes?
Con muchas cohortes, la retención por cohortes las pone en filas coloreadas y se leen todas a la vez.
Sí: quédate con curvas de retención
No: usa Retención por cohortes¿Mides personas que siguen y no ingresos?
Si lo que importa es cuánto ingreso conserva y amplía la base de clientes, la retención neta de ingresos lo descompone.
Sí: quédate con curvas de retención
No: usa Retención neta de ingresos¿Tus datos son porcentajes retenidos por periodo?
Si lo que tienes es una probabilidad de supervivencia que baja a escalones con cada evento observado, como en un ensayo con brazo de tratamiento y de control, la curva de Kaplan-Meier la dibuja así.
Sí: quédate con curvas de retención
No: usa Curva de Kaplan-MeierCódigo
La misma pieza, con tus datos
import { getPreset, renderComposition } from 'visx-render/node';
const spec = await getPreset('retentioncurve');
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
¿El eje horizontal es una fecha?
No: es la antigüedad, en números (0, 1, 2…). Así cada cohorte se mide desde su propio arranque.
¿Qué pasa si no indico la cohorte?
Cada fila se convierte en una cohorte de un solo punto. Hace falta una columna que diga a qué cohorte pertenece cada fila.
¿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 360 px de ancho —rótulos, leyenda y alto— en vez de encoger la versión de escritorio.
Relacionadas
Otras formas de responder «cómo cambia en el tiempo»
Burndowntrabajo pendiente frente al plan de un sprint
Líneas en base 100comparar series con distinta escala
Gráfico de líneasuna medida que cambia en el tiempo
Curva de pérdidacómo converge el entrenamiento de un modelo
Retornos móvilesrentabilidad en ventanas que se desplazan
Gráfico de áreasuna medida en el tiempo con el volumen destacado