SQL Dojo Bêta
Piège

Pas encore observable

Un résultat qui n'a pas eu le temps de se produire est inconnu, pas nul : les cohortes jeunes et la période en cours ressemblent à un effondrement.

Quand une métrique compte ce qui se passe dans une fenêtre après un événement (rétention à 30 jours, renouvellement, remboursement sous 60 jours), ne publiez que les cohortes dont toute la fenêtre précède la fin des données : CASE WHEN fin_de_cohorte + fenêtre <= date_de_référence THEN … END, NULL sinon. De même pour une semaine ou un mois inachevé au bout d'un graphique.

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;
cohortusersretained_pct
2026-04-01995520.4
2026-05-0110392NULL
2026-06-014817NULL
L’essayer en Randori