How do I run a cohort analysis with iDBQuery?

Ask iDBQuery in plain language, for example 'group customers by signup month and show retention over the next 6 months,' and it writes the SQL, runs it against your live data, and returns a cohort retention grid or heatmap with every cell cited back to its source rows.

Cohort analysis groups users by a shared starting event, usually their signup or first-purchase month, and tracks how each group behaves over time. In iDBQuery you don't build the pivot by hand: - Connect the source that holds signups and activity (a Postgres users table, a billing export, a CSV, or all three at once). - Ask something like 'Build a monthly signup cohort and show the percentage still active in each of the following 6 months.' - iDBQuery generates the windowed SQL, runs it on the live model, and returns a cohort grid (cohorts down the side, period offset across the top) or a retention heatmap.

A worked example: a SaaS team asks 'Show revenue retention by quarterly cohort for the last two years.' iDBQuery buckets customers by their first paid quarter, computes retained revenue at each subsequent quarter, and renders the triangle chart. You can then follow up with 'Which cohort had the worst month-3 drop?' without starting over.

What makes this different from a BI tool: you never define the cohort logic in a modelling layer first. There is no dbt model, no LookML, no pre-built pivot. And every number is auditable, so click any cohort cell and iDBQuery shows the exact rows behind it, letting you trust a 3% retention figure before it goes in a board deck. Because it works across sources, a cohort can join signup dates from your product database to revenue from your billing export in a single question.

Updated 2026-06-22