Trampa
Aún no observable
Un resultado que no ha tenido tiempo de producirse es desconocido, no cero: las cohortes jóvenes y el periodo en curso parecen un desplome.
Cuando una métrica cuenta lo que ocurre en una ventana tras un evento (retención a 30 días, renovación, reembolso en 60
días), muestre solo las cohortes cuya ventana completa es anterior al final de los datos:
CASE WHEN cohort_end + window <= as_of THEN … END, NULL en caso contrario. Lo mismo vale para una semana o un mes sin terminar al
final de un gráfico.
WITH cohorts(cohort, users, retained) AS (VALUES
(DATE '2026-04-01', 9955, 2031), (DATE '2026-05-01', 10392, 1985), (DATE '2026-06-01', 4817, 34))
SELECT cohort, users,
CASE WHEN cohort + INTERVAL 1 MONTH + INTERVAL 35 DAY <= DATE '2026-07-01'
THEN ROUND(100.0 * retained / users, 1) END AS retained_pct
FROM cohorts
ORDER BY cohort;
| cohort | users | retained_pct |
|---|---|---|
| 2026-04-01 | 9955 | 20.4 |
| 2026-05-01 | 10392 | NULL |
| 2026-06-01 | 4817 | NULL |