It is one of the most disorienting things in SaaS: the sales team is having a great year, new logos and bookings are up and to the right, the pipeline looks healthy, and yet total revenue barely moves. The board asks why. Sales points at their record numbers. Everyone is confused. Nobody is lying. You just have a bucket problem, not a sales problem, and this is how to see it and fix it.

What the leaky bucket actually is
Picture your revenue as water in a bucket. New sales pour in from the top. Churn and downgrades leak out the bottom. The water level, your total ARR (or MRR, if you track monthly), only rises if you pour in faster than it leaks.
Most teams obsess over the tap (new sales) and ignore the holes (churn and contraction). So they hire more reps, spend more on pipeline, close more deals, and the level barely moves, because the extra water is running straight out the bottom.
Founders call it a growth plateau, or MRR stagnation, or revenue that just will not compound. It is the same thing every time: a bucket leaking almost as fast as it fills.
The math: how a record sales year grows you 4%
Here is why "we closed a record year" and "revenue is flat" are both true at once. Say you start the year at $10M ARR.

| Line | ARR impact |
|---|---|
| Starting ARR | $10.0M |
| New ARR closed (a record year) | +$2.5M |
| Churned ARR | -$1.5M |
| Contraction and downgrades | -$0.6M |
| Net new ARR | +$0.4M |
| Actual growth | 4% |
Your sales team added 25% in new ARR and felt unstoppable. But $2.1M leaked out the bottom, so you actually grew 4%. That gap between the 25% they closed and the 4% you kept is the leak. You did not have a sales problem. You had a bucket problem, and no amount of new pipeline was going to fix it.
How to see the size of your leak
Two numbers measure it, and you should know both cold.
Gross revenue retention (GRR) is how much of last year's revenue you kept before adding any expansion. It is the raw size of the hole. GRR can never exceed 100%.
Net revenue retention (NRR) adds expansion back in. It tells you whether your existing base alone grows or shrinks. If NRR is below 100%, the bucket leaks faster than expansion refills it, and you are on a treadmill: every new logo just replaces a lost one, so you run hard and stay level.
Do not eyeball these. Run your real book through our NRR calculator and GRR calculator, then put an actual dollar figure on the leak with the cost-of-churn calculator. Numbers end the argument that sales and CS keep having.
Where the leak comes from
A leaky bucket almost always has more than one hole. There are four, and most teams have at least two open at once:
- Early churn. Customers who never reached first value and left in their first cycle. This is not a product problem, it is an onboarding problem, and it is the most fixable hole. See customer onboarding best practices.
- Silent churn. Accounts that quietly drifted, usage sliding, the champion going dark, and were gone before anyone noticed enough to act.
- No expansion. A base that renews flat. Nothing grows to offset the losses, so NRR sits stuck around 100% and the bucket can never fill.
- Involuntary churn. Expired cards, failed payments, auto-renew switched off. The most avoidable leak there is, and the one teams most often forget to check.
How to plug it
You do not fix a leaky bucket by pouring in more water. You seal the holes, and retention is far more controllable than net-new pipeline. Four moves, in order of leverage:
- Catch risk early. The leak is invisible until it is a cancellation, unless you are watching. Assemble product, billing, support, and CRM signals into one live risk read so a slipping account shows up weeks out, not at renewal.
Which signals to assemble, and how to score them, is the subject of signal-based selling for SaaS.
- Fix the first cycle. If early churn is a hole, the fix is upstream in onboarding and time-to-value, not in save calls.
- Build expansion into the base. An NRR above 100% comes from existing customers growing, so make expansion a motion, not an accident.
- Kill involuntary churn. Check cards, dunning, and auto-renew on every account before renewal. It is free money you are leaving on the floor.
The full playbook for the fix is in our guide to customer retention strategies. And the first move is exactly what we built GainTrace to do: it watches every account and turns product, billing, support, and CRM signals into one risk read, so the leak shows up while you can still stop it, not in next quarter's flat number.
The one number that tells you the bucket is sealed
If you want a single gauge, it is NRR above 100%. At NRR over 100%, your existing customers grow your revenue even if you never close another new logo. That is what people mean by negative churn: the opposite of the treadmill, and it is what turns a good sales year into actual growth.

So stop celebrating new-logo counts while the bucket leaks. A record sales quarter that nets 4% growth is not a win, it is a warning. Watch NRR, seal the holes, and the deals you are already closing will finally show up in the number.
Five leak signals you can read this week
You do not need a data team to see where the bucket leaks. Five signals are in systems you already run.
The activation gap
Define the one event that means a customer got what they bought: the first report shared, the first integration live, the first campaign sent. Then count how many new accounts reach it in the first thirty days. The share that never does is your earliest churn cohort, and it is visible months before the cancellation.
Cohort retention curves
Group customers by signup month and plot how many are still active each week. A curve that flattens is healthy; the customers who stay, stay. A curve that keeps sinking with no floor means the product never becomes a habit, and no amount of new logos will fill that.
Feature adoption gaps
Compare the features used by customers who renewed against those who churned. The features that renewing customers adopt in month one and churning customers never touch are the ones onboarding should be built around.
Support-ticket patterns
Ticket volume alone says little. Ticket category does: accounts opening several tickets about core setup in their first weeks are telling you the product did not land. Track time to first response too, because slow answers in week one read as abandonment.
The login-frequency cliff
For each account, count active users per week. The account whose weekly actives halve and stay there has already decided; the renewal conversation is just where you find out.
Diagnosing which hole is biggest
Split churned revenue into three: voluntary churn, where the customer chose to leave; involuntary churn, where a failed payment or lapsed purchase order ended a subscription the customer meant to keep; and contraction, where the customer stayed and paid less. Each has a different fix. Voluntary churn is an onboarding and value problem. Involuntary churn is a billing-operations problem and is usually the cheapest hole to close. Contraction is a packaging and seat-management problem. Teams that treat all three as one number fix the wrong one first.
A thirty-day plan to slow the leak
Week one. Define the activation event and start measuring the thirty-day activation rate.
Week two. Pull the last six months of churn and label every lost dollar voluntary, involuntary or contraction.
Week three. Fix the involuntary half: payment retries, card-expiry outreach, renewal-date confirmation with procurement.
Week four. Rebuild the first thirty days of onboarding around the features renewing customers adopt, and put a named owner on every account that has not activated.
Frequently Asked Questions
- Why is my revenue flat even though we are closing deals?
- Because churn and contraction are canceling your new sales. New ARR pours in while churned and downgraded ARR leaks out, and if they are roughly equal, total revenue stays flat no matter how many deals you close. It is a retention problem wearing a sales costume.
- What is the leaky bucket problem in SaaS?
- The pattern where new revenue enters the top of the bucket while churn and downgrades leak out the bottom, so the level (your ARR) barely rises. You cannot out-sell a bucket that leaks faster than you can fill it.
- Why isn't my ARR growing?
- Because your net new ARR is close to zero: new sales are being offset by churn and contraction. Check your net revenue retention. If NRR is under 100%, your existing base is shrinking faster than expansion grows it, which caps or cancels your net-new growth.
- Why is my MRR flat or stagnating?
- Same cause as flat ARR, just measured monthly: new MRR from fresh deals and upgrades is being cancelled out by churned and downgraded MRR. If your net new MRR sits near zero month after month, you have a leaky bucket and an NRR at or below 100%. Cutting churn helps, but getting MRR growing again usually also needs expansion to push NRR past 100%.
- Is churn really cancelling out my new sales?
- Often, yes. A team that closes 25% in new ARR but churns and contracts 21% grows only 4%. Run the NRR and cost-of-churn numbers on your own book and the size of the offset usually surprises people.
- How do I fix flat revenue in SaaS?
- Stop pouring and start sealing. Catch at-risk accounts early, fix onboarding so customers reach value, build expansion into the base, and kill involuntary churn. Retention is more controllable than net-new pipeline, and it is what moves NRR above 100%.