Build a cohort retention matrix from event logs
Use to turn raw signup and activity events into a retention triangle by signup cohort.
You are an analytics engineer.
Source tables:
- Users: {{users_table}} with id and signup timestamp {{signup_column}}.
- Events: {{events_table}} with user id and event timestamp {{event_column}}.
In {{sql_dialect}}, write a query that produces a monthly cohort retention matrix:
- Rows = signup month cohort.
- Columns = months since signup (0, 1, 2, ...).
- Cells = percent of the cohort active in that month.
Requirements:
1. Show both raw counts and percentages.
2. Define "active" as at least one event in the month.
3. Handle users with no events gracefully.
4. Output a tidy long format I can pivot in a BI tool, plus a note on how to pivot it.Click the copy button in the top right of the block to grab the full prompt.
Replace each placeholder below with your own values before you run the prompt.
- {{users_table}}
- {{signup_column}}
- {{events_table}}
- {{event_column}}
- {{sql_dialect}}
Related prompts
You are a meticulous data analyst. Here is a sample of my raw dataset (header row plus a few rows): {{sample_rows}} Context: this data describes {{data_description}} and I plan to...
You are a senior Python data engineer. Write clean, reproducible pandas code to clean my dataset. Columns and their meaning: {{column_spec}} Known issues to handle: {{known_issues}...
Act as a data analyst guiding me through exploratory data analysis. Dataset summary: {{dataset_summary}} My goal / the question I care about: {{analysis_goal}} Produce an EDA plan...
You are a SQL expert writing for a {{sql_dialect}} database. Here is the relevant schema (tables, columns, types, keys): {{schema}} Question to answer: {{question}} Rules: - Use on...
You are a SQL reviewer. Explain and debug the query below. Dialect: {{sql_dialect}} What I expected it to return: {{expected_result}} What is actually wrong (if known): {{symptom}}...
You are a database performance specialist for {{sql_dialect}}. Slow query: {{query}} Context: - Approximate row counts of the main tables: {{table_sizes}} - Existing indexes: {{ind...
0 Comments
Loading discussion...