SQL Dojo Beta
Falle

Noch nicht beobachtbar

Ein Ergebnis, das noch keine Zeit hatte einzutreten, ist unbekannt, nicht null: Junge Kohorten und der laufende Zeitraum sehen wie ein Einbruch aus.

Wenn eine Kennzahl zählt, was innerhalb eines Fensters nach einem Ereignis geschieht (Retention nach 30 Tagen, Verlängerung, Erstattung innerhalb von 60 Tagen), berichten Sie nur die Kohorten, deren ganzes Fenster vor dem Ende der Daten liegt: CASE WHEN cohort_end + window <= as_of THEN … END, sonst NULL. Dasselbe gilt für eine unvollständige Woche oder einen unvollständigen Monat am Ende eines Diagramms.

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
In Randori ausprobieren