Skip to main content

← Dashboard Library

SaaS · Revenue and retention

SaaS MRR, Retention and Unit Economics

Where MRR came from and where it went, as a waterfall rather than a single growth number. Cohort retention for the whole book, plan mix showing where customers sit versus where revenue sits, and the unit economics underneath: ARPA, NRR, LTV to CAC, and payback.

  • Live and interactive
  • Queryable via MCP
  • Sample data

Explore the live dashboard Open full screen ↗

SaaS overview dashboard showing $557K MRR, $103K net new MRR, 1,818 active customers, $306 ARPA, 20.6 percent trial to paid, 3.78 percent logo churn, 98.6 percent net revenue retention and 3.5x LTV to CAC. See it live ↓

THE QUESTION THIS ANSWERS

Is MRR growing because we are winning, or because we are outrunning churn?

Open full screen ↗ Sample data. The rows are synthetic. The structure, the definitions, and the pipeline behind them are the real thing.

Why this dashboard exists

Net new MRR is one number covering four opposing forces. $103,395 of growth can be a great month or a bad one depending on whether it came from new logos, expansion in the existing book, or simply less churn than last month. A single growth figure cannot tell you which, and the decision you take is different in each case.

So the centre of this dashboard is a waterfall, not a line. Starting MRR, then new, expansion, contraction and churn applied in turn, ending at closing MRR. Every one of those movements is a different team's problem.

The second thing it refuses to average is retention. Logo retention and revenue retention answer different questions, and a company can hold NRR near 100 percent while losing accounts steadily, which is exactly what is happening in the version below. Both are here, side by side, because quoting either one alone is how a board gets surprised.

How to read it

Four things the numbers above are saying. Every figure is on the dashboard, so check our work.

MRR is holding while the account base leaks

Net revenue retention is 98.6 percent, near enough to flat. Logo churn is 3.78 percent a month. Both are true at once because the accounts that stay are growing enough to cover the ones that leave. That is a real business, but it is a different business from one growing at 98.6 percent NRR with 1 percent logo churn, and only the cohort grid tells them apart.

Starter is 46 percent of customers and 7.8 percent of revenue

834 Starter accounts at $52 ARPA produce $43,657. 84 Enterprise accounts at $3,044 produce $255,659. Enterprise is 4.6 percent of the logos and 45.9 percent of the money. Starter also churns hardest, at 5.28 percent a month against Enterprise's 2.02, and its NRR is 85.6 percent against Enterprise at 100.1. Nearly half the support load sits on the tier that funds almost none of it.

One enterprise cancellation is visible from orbit

The week of Jun 8 lost $16,432 of MRR and posted the only negative net-new week in the range, minus $4,559. Revenue churn spiked past 14 percent while logo churn barely moved, which is the signature of a single large account leaving rather than a broad problem. Averaging that week into a monthly churn rate would hide the entire event.

Retention improves cohort over cohort, which is the number that matters

The Aug 2025 cohort held 59 percent of accounts at month 12. Nov 2025 held 85 percent at month 8, against Aug 2025's 65 percent at the same age. Each newer cohort sits above the one before it at equal maturity. That is product and onboarding working, and it is invisible in any aggregate churn number, which mixes cohorts of every age together.

3.5x LTV to CAC with 7.5 months of payback is fine, not exciting

The ratio clears the usual 3x bar. Payback at 7.5 months means capital is tied up for two quarters per customer. Both numbers are hostage to the churn figure in the denominator, so a small move in Starter churn moves LTV to CAC more than any pricing change would. That is worth knowing before anyone reprices.

What it settles

  • Did MRR grow because of new logos, expansion, or less churn?
  • Are newer cohorts retaining better than older ones?
  • Which plan tier is actually funding the business?
  • Was that a churn trend or one large account leaving?
  • How long is our capital tied up per customer?
  • What does NRR include here, and does it match what the board thinks it means?

What every number means

The definition of every step this dashboard counts, in the same words the dashboard uses.

MRR
Monthly recurring revenue from active subscriptions at the end of the selected range. Excludes one-off fees, services, and usage overage.
New MRR
MRR from customers who had no active subscription at the start of the period.
Expansion MRR
Increase in MRR from existing customers: upgrades, seat additions, and tier moves.
Contraction MRR
Decrease in MRR from existing customers who stayed: downgrades and seat removals.
Churn MRR
MRR lost from customers who cancelled entirely in the period.
Net Revenue Retention
Starting MRR plus expansion minus contraction minus churn, divided by starting MRR, for a fixed cohort of existing customers. New MRR is excluded, which is what separates it from growth.
Logo Churn
Accounts that cancelled in the period as a share of accounts active at the start. Counts customers, not dollars.
LTV : CAC
Average revenue per account divided by revenue churn, over blended acquisition cost. A ratio, not a promise, and it moves with whichever of those three inputs changes.

Attribution basis. Every movement is assigned to the period in which it took effect, not the period it was booked or invoiced. A customer who downgrades on the last day of a period lands in that period's contraction, not the next one's. Cohort retention is by signup month and covers the whole book back to Aug 2025 regardless of the date filter above it, because a cohort chart filtered to the last 90 days would only ever show 100 percent.

In a deployment these definitions do not live in a footnote on a marketing page. They live in your Metric Glossary, and every query has to consult them before it touches the data. That gate is how you govern reporting, and it is why two people asking the same question on a Thursday get the same number.

THE PART A SCREENSHOT CANNOT DO

Every number here is a table. Ask it anything.

The dashboard above is one view of the data underneath it. Somebody chose those steps, that date range, and those four filters. It is a good view, and it will still be the wrong view the first time someone asks a question nobody anticipated.

So the same tables are exposed through your organization's MCP. Claude, Cursor, or any AI client your team already uses connects with a scoped key and asks in plain English. Every question consults your metric definitions first, which is why the answer matches the dashboard instead of arguing with it.

  • Break net new MRR into new, expansion and churn for last month.
  • Which cohort retains best at month 6?
  • What happened in the week of June 8?
  • Show NRR by plan, not blended.
  • Does our NRR include new customers?
  • Alert me in Slack if logo churn goes above 4 percent in any week.
What happened in the week of June 8?
Churn MRR was $16,432 against a typical $1,500 to $5,000, making it the only negative net-new week at minus $4,559. Logo churn moved little, so it is concentrated in one or two large accounts rather than broad.
Used your definition of churn MRRRead the governed tables
Show NRR by plan, not blended.
Starter 85.6 percent, Pro 96.5, Business 101.8, Enterprise 100.1. The blended 98.6 is carried by the top two tiers. Full table is in the artifact.

One endpoint for the whole company. Anyone gets an answer from the warehouse without writing SQL or re-explaining what revenue means. Same Claude. It just stops guessing.

Programmatic access is the most governed path in the system, not the loosest. Per-application keys, single-tenant scope, rate limits, instant revocation, and the acting identity recorded on every request. Read how AI access is governed →

Where the numbers come from

In a deployment, the rows behind a dashboard like this arrive from every platform the business runs on. Ads, analytics, the CRM, and the contract values that close the loop. They get synced, modeled on the way in, and stored in a warehouse wired to your billing account.

  • Stripe or your billing system
  • Your product database
  • Your CRM
  • Google Ads
  • Meta Ads
  • Product analytics

Your tools stay exactly where they are and become sources instead of homes. Swap an ad platform next quarter and the reporting holds. See the full pipeline → or decide who runs which piece →

Questions about this dashboard

Is this real company data?

No. The rows are synthetic, generated for this demo. The metric definitions, the waterfall logic, and the pipeline that would feed them are the real thing.

Why is NRR 98.6 percent when MRR grew 22.8 percent?

Because they measure different things. NRR excludes new customers on purpose: it asks whether the existing book is growing on its own. MRR growth includes new logos. A company can grow fast on acquisition while its existing base shrinks, and separating the two is the entire reason NRR exists.

Why does the cohort grid ignore the date filter?

Because a retention cohort filtered to the last 90 days would show every cohort at or near 100 percent and tell you nothing. Cohorts are only meaningful across their full life, so that section covers the whole book back to the first signup month regardless of what is selected above it.

Why does the waterfall axis not start at zero?

Because contraction is around 1 percent of the base and on a zero-based axis it renders as a hairline you cannot see. The floor sits just under the lowest level and the two anchor bars are drawn from that floor, which is stated on the chart itself rather than left for someone to discover.

Can I see this on my own billing data?

That is the product. Stripe or your billing system, your product database and your ad accounts sync into a warehouse you own, every metric gets defined once in a glossary, and reports like this sit on top. The first live dashboard usually lands inside 2 to 4 weeks.

How would my team query this instead of reading it?

Through your organization's MCP. Claude, Cursor, or any AI client connects with a scoped, revocable key, and every question consults your metric definitions before it touches the data. When someone asks for churn, the definition decides whether they get logos or dollars, rather than whoever built the query.

Ready when you are.

Want this shape on your own numbers? Thirty minutes with JJ. Bring the funnel you cannot currently see end to end, and we will map what it takes.

Book a Custom Strategy Call