Why NDR?
Net Dollar Retention shows how revenue from existing customers evolves: who churns, who downgrades, and who expands. For SaaS, it’s the north star of growth quality.
What’s tricky?
• GA4 doesn’t provide (LOL) NDR out of the box
• Expansion, downgrades, churn - all hidden in raw transactions
• Simple revenue sums miss the nuance
How to calculate with SQL?
• Group revenue by cohort and period
• Compare recurring revenue between periods
• Factor in upsells, downgrades, and churn via window functions
What’s the output?
A single % that reveals whether your existing base is growing revenue on its own. High NDR = product-market fit. Low NDR = churn is eating you alive.
Wanna adjust it by MRR or ARR? Drop me a message )
Want all my best GA4-BQ queries in one place? I turned them into a Chrome extension — top SQL queries you can search and copy in seconds.
Go here to install it for FREE.
Prefer the web version? It's here.


