Growth Accounting and the Quick Ratio, Explained

The short version: growth accounting is a way to explain your active-user number by splitting it into the four things that actually move it — users who showed up new, users who came back from the dead, users who left, and users who stuck around. The quick ratio is the one-line summary of that split. It's (new users + resurrected users) / churned users. If it's above 1, your active base is growing. If it's below 1, you're leaking faster than you're filling.

That's the whole idea. Everything below is detail, a worked month, and the ways I've watched people misread the number.

Why a single MAU number lies to you

Say your monthly active users went from 10,000 to 10,200. Good news, up 200. Except that headline hides the machinery underneath. Maybe you added 2,000 brand-new users and lost 1,800 old ones. Or maybe you added 300 and lost 100. Those two products are nothing alike, even though the top-line delta is identical. One is a bucket with a firehose and a giant hole; the other is a calm, healthy pond.

Growth accounting exists to stop you from confusing them. The framework was formalized by Jonathan Hsu when he was at Social Capital, in his "Diligence at Social Capital" series on accounting for user growth. The pitch was aimed at investors doing diligence, but the accounting is just as useful when it's your own product and you're the one who has to explain a flat month to a board.

Here's the identity everything rests on. For any period t:

active(t) = active(t-1) + new(t) + resurrected(t) − churned(t)

Read it left to right. This month's actives equal last month's actives, plus the people who joined for the first time, plus the people who had gone quiet and came back, minus the people who were active last month and went silent this month. It always balances, because it's an accounting identity, not a model. Nothing to fit, nothing to argue with.

The four buckets, defined precisely

Definitions matter here more than usual, because the whole thing falls apart if two people on your team count "churned" differently.

  • New. A user active in period t who has never been active before. First-timers.
  • Retained (or current). Active in t and also active in t-1. The stable core.
  • Resurrected. Active in t, not active in t-1, but active at some point before that. They left and came back.
  • Churned. Active in t-1, not active in t. Note the sign: churned users get counted in the period they disappear, so churn is a negative contribution to this month's number.

Amplitude's growth accounting write-up uses these same four labels (it calls retained "current"), and its dashboards derive them automatically from event data. The definitions are industry-standard at this point, which is the good news. The bad news is that "active" is doing enormous unspoken work in every one of them, and I'll come back to that.

A worked month you can copy

I'll keep the dataset absurdly small on purpose. Twelve users, tracked over three consecutive months. "Active" means: opened the app and did at least one meaningful action in the calendar month. Here's the raw activity grid, where a checkmark means the user was active that month.

User Jan Feb Mar
u1
u2
u3
u4
u5
u6
u7
u8
u9
u10
u11
u12

Now let's account for March, using February as the prior month.

  • March actives: u1, u2, u5, u6, u8, u9, u10, u11 = 8.
  • New in March (never active before March): u9 and u10. That's 2.
  • Resurrected in March (active in March, silent in Feb, but active earlier): u5 was active in Jan, dark in Feb, back in Mar. That's 1.
  • Churned in March (active in Feb, silent in Mar): u3, u7, u12. That's 3.
  • Retained (active both Feb and Mar): u1, u2, u6, u8, u11 = 5.

Check the identity. February actives were u1, u2, u3, u6, u7, u8, u11, u12 = 8. So:

active(Mar) = 8 + new(2) + resurrected(1) − churned(3) = 8.

Eight in, eight out. The top-line MAU didn't budge between February and March. And this is exactly the trap from the opening. A flat 8-to-8 month looks boring, but the accounting shows real turnover happening underneath: you replaced three departures with two newcomers and one returner. The composition changed even though the count didn't.

Now the quick ratio for March:

quick ratio = (new + resurrected) / churned = (2 + 1) / 3 = 1.0

Exactly 1.0, which is the treading-water line. You gained three actives and lost three. Anything above 1 and the base would have grown. Below 1 and it would have shrunk. In our toy month, you're running to stand still.

That's the entire computation. In a real product you'd run it every month from your event stream, and the only genuinely hard part is agreeing on what "active" means before you start, not the arithmetic.

Reading the number: bands, and where the industry disagrees

Here's where I have to pick a side, because the "healthy" threshold depends on which quick ratio someone's talking about, and people mix them up constantly.

There are two quick ratios wearing the same name. The revenue quick ratio is (new MRR + expansion MRR) / (churned MRR + contraction MRR). The user quick ratio, the one growth accounting produces, is (new users + resurrected users) / churned users. Same shape, different inputs, and crucially different benchmarks.

For the revenue version, the famous target is 4, a bar that gets attributed to investor Mamoon Hamid. Stripe's explainer on the SaaS quick ratio puts it plainly: above 4 is healthy and efficient, between 1 and 4 is middling with room to improve, and below 1 means you're losing more than you're winning. That "4" is a revenue-efficiency bar. It bakes in expansion revenue, which has no clean equivalent in a headcount-based user metric.

The user quick ratio needs humbler bands. My working interpretation, and I'll defend it:

User quick ratio What it means What I'd do
Below 1.0 Active base is shrinking; churn out-runs new + resurrected Stop pouring into acquisition, fix retention first
1.0 to 1.5 Growing, but fragile; small churn upticks flip you negative Treat retention as the priority lever
1.5 to 3.0 Healthy growth for most consumer/product apps Keep acquisition and retention balanced
Above 3.0 Strong, but check why; often an acquisition spike, not durable Watch next month's retained cohort, not the ratio

I put the "healthy" floor around 1.5 for a user-count quick ratio, not 4. Don't import the revenue benchmark onto a headcount metric; you'll either panic at a perfectly fine 1.8 or feel smug about a number that isn't measuring what you think. The industry blurs this line all the time. I don't.

One more piece of context on the revenue side, because it's a useful reality check on how forgiving the market is: Spike AI's 2025 benchmark roundup traces the aggregate SaaS quick ratio peaking near 2.55 in September 2021 and drifting down to roughly 1.82 by March 2024. So even in aggregate, across a lot of real companies, the number sits well under the storied "4." Benchmarks are gravity, not law.

Quick ratio is a pulse, not a diagnosis

I like the quick ratio for the same reason I like a pulse check: it's fast and it tells you whether to worry, but it doesn't tell you what's wrong. A ratio of 0.8 says "you're shrinking." It says nothing about whether that's a leaky onboarding funnel, a pricing change that pushed people out, or a seasonal dip you see every February.

For the diagnosis you go back to the buckets. Is churn rising, or is new-user inflow falling? Those call for completely different fixes. Is resurrection near zero? Then your win-back motion (emails, push, re-engagement) isn't working, and you're leaning entirely on fresh acquisition to grow, which is the expensive way to do it. Growth accounting's real gift isn't the ratio. It's that the framework forces you to look at inflow and outflow as separate dials.

It also pairs badly with economics on its own. A gorgeous quick ratio built on users you're acquiring at a loss is a treadmill with a nice number on the display. The ratio counts bodies, not dollars, so it's blind to whether those bodies pay for themselves. That's a separate question, the unit-economics one, and if you want to connect user growth to whether the growth is affordable, the LTV:CAC benchmarks by business model are the other half of the picture. Read the quick ratio and the payback math together, never one without the other.

Where this goes wrong

Every article on this topic hands you the formula and stops. The formula is the easy part. Here's what actually breaks in practice.

The definition of "active" quietly changes. Someone edits the event that counts as "meaningful action," and suddenly last quarter's numbers aren't comparable to this quarter's. Your quick ratio moves and nobody touched the product. Lock the "active" definition, write it down, version it, and recompute history when you change it. This is the single most common way I've seen the whole exercise become worthless.

Period length games the ratio. Monthly, weekly, and daily active users produce different quick ratios from the same product, because a user who's dark for ten days is "churned" on a weekly cadence but perfectly retained on a monthly one. Neither is wrong. But you have to pick one cadence, match it to how often people are supposed to use your product, and never compare a weekly quick ratio to a monthly one. A weekly-use tool measured monthly will flatter you.

Resurrection gets double-counted or dropped. This is the fiddly bucket. A user who churned in month 3 and returned in month 7 is resurrected in month 7, full stop: not new (they've been here before) and not retained (they were dark last month). Get the logic wrong and your identity stops balancing, which, annoyingly, is also the only way you'll notice: if active(t-1) + new + resurrected − churned doesn't equal active(t) to the exact user, your bucketing has a bug. Use the identity as a checksum every single month.

People chase the ratio instead of the retained cohort. A quick ratio of 3.0 driven by a paid-acquisition spike feels great and predicts almost nothing, because next month those new users either retain or they don't, and the ratio can't see the future. The retained bucket is the honest signal of durable growth. The quick ratio is the excitable one. Trust the boring number.

Deriving these four buckets (new, resurrected, churned, retained) is standard fare for any product-analytics tool that stores per-user event history, whether that's Amplitude, Mixpanel, a warehouse model you write yourself, or a platform like Kixo; the arithmetic is identical, so the choice of tool comes down to how easily it lets you pin down "active" and recompute cleanly. If you're picking the metric this whole thing feeds into, it's worth making sure the quick ratio ladders up to a real goal rather than living as a standalone vanity chart. That's the argument in our piece on the north-star metric tree.

The one-paragraph version to remember

Growth accounting turns a flat, deceptive MAU number into four honest ones: new, resurrected, retained, churned. The quick ratio, (new + resurrected) / churned, compresses that into a single pulse — above 1 you're growing, below 1 you're shrinking, and for a user-count ratio I'd want to see 1.5-plus before I called it healthy. Compute it monthly off a locked "active" definition, use the accounting identity as your checksum, and never let the ratio distract you from the retained cohort, which is the part that actually tells you whether growth will last.