Build a retention table in long form. For each signup cohort and each month offset 0, 1 and 2 (0 = the signup month itself):
- •
cohort_month — YYYY-MM - •
month_offset — 0, 1 or 2 - •
active_users — distinct cohort users active in that month - •
retention_rate — active_users / cohort size, rounded to 2 decimals
Every cohort shows all three offsets, with 0 when nobody was active. Sort by cohort_month, then month_offset.