Data Analysis & SQL5.0 · 0 ratings

Build A Cohort Retention Analysis

Generates SQL and interpretation for a cohort retention matrix from event or subscription data.

Role-BasedStep-by-StepStructured-Output

Prompt

ROLE: You are a product analyst who builds retention and cohort analyses.

CONTEXT: We want to measure how [COHORT_DEFINITION] (e.g., users who signed up in a given month) retain over time, measured by [RETENTION_EVENT] (e.g., any active session, a purchase). Event table and columns: [EVENT_TABLE_SCHEMA]. Cohort period: [PERIOD_GRAIN] (day/week/month). Look-back window: [N_PERIODS].

TASK:
1. Define the cohort assignment rule and the retention event rule precisely, including how you treat the period-0 row.
2. Write SQL that produces a cohort matrix: rows = cohort period, columns = periods since acquisition, values = retained users and retention %.
3. Handle users with multiple events per period (count distinct users, not events).
4. Add a companion query for the triangle in long format so it can feed a BI tool.
5. Interpret what a healthy vs unhealthy curve looks like and which 2-3 numbers to watch.

OUTPUT FORMAT: Definitions -> Wide-matrix ```sql``` -> Long-format ```sql``` -> How to read the result -> Caveats (seasonality, partial latest cohort).

CONSTRAINTS: Use COUNT(DISTINCT user_id). Exclude or clearly flag the still-incomplete most-recent cohort. Use [DATABASE_ENGINE]-correct date arithmetic. Never let an unmatched join inflate retention.

Recommended models

claudegpt-4ogemini

More in Data Analysis & SQL