How do I know if my SaaS is stalled?
Last updated: July 24, 2026
From the SoleOS answers series — written about our own product space; grounded in published definitions and documented behavior, never invented numbers.
A SaaS is stalled when MRR, signups, and active usage have stayed flat over a real window — three to six months, not one bad week or a quiet holiday month. Whether that's fixable depends entirely on which part of the funnel actually stopped moving, so the first job is diagnosis, not panic. It's also a spreadsheet exercise before it's anything else: a few columns of weekly numbers will show you the shape of the line.
SoleOS published this guide — it's a dashboard for solo founders tracking several projects, built around exactly this "is this one stalling?" question. You don't need it to answer that question here: a spreadsheet updated weekly shows a flat line just as clearly as any dashboard.
What "stalled" actually means
A stall is a plateau that holds across a real window, not a dip explained by one event — a holiday, a shipped bug, a quiet month. The signal is that flatness persists after you strip out the obvious one-offs and look at a rolling three- to six-month view.
Track three numbers separately: new signups per week or month, activation rate (whatever fraction of signups reach real value — the key action, imported data, day-7 retention, whatever "aha" looks like for your product), and MRR. A business can look stalled on MRR while it actually broke on signups two months earlier, or look fine on signups while retention quietly erodes underneath. One combined "growth" number hides which layer is broken.
Give yourself a real baseline before declaring a stall — at least 8-12 weeks of data, compared month over month so a single bad month that reverses itself doesn't fool you. Less history than that isn't a stall, it's a young product; keep building the baseline instead of diagnosing a trend that isn't established yet.
Leading indicators show up before revenue does
Revenue is a lagging indicator — by the time MRR flatlines, the cause has usually been running for weeks. The earlier signals, roughly in order:
- Traffic shrinking — fewer visits, impressions, or referral clicks, depending on where users come from.
- New signups declining — traffic holds but conversion into a signup drops, which points at messaging or positioning.
- Activation falling — signups arrive at the same rate but fewer reach real usage, which points at onboarding friction or a mismatch between what got them to sign up and what the product delivers.
- MRR flattening — the symptom most founders notice last, precisely because it's downstream of everything above it.
Checking only MRR means finding out last. Checking signups and activation weekly buys weeks of runway to react before revenue goes flat.
Diagnose which part of the funnel is stuck
Split the plateau into acquisition, activation, or retention/expansion — each has a different fix, and mixing them up wastes weeks.
Acquisition is stuck if traffic or signups decline while activation and retention rates (as percentages, not raw counts) hold steady. Fewer people are coming in, but the ones who do behave the same as before — a channel decayed, a content strategy ran its course, or word-of-mouth dried up because growth itself stalled.
Activation is stuck if signups hold steady but a shrinking share reach real usage. The problem isn't getting people in the door, it's what happens in their first session. Onboarding friction or a gap between what marketing promised and what the product does are the usual suspects.
Retention or expansion is stuck if new users activate fine but existing customers churn out at the same rate they come in, or never upgrade. This one is sneaky — top-of-funnel metrics can look healthy while the business goes nowhere, a bucket with a hole in it. If this is your situation, the guide to reducing SaaS churn covers separating voluntary from involuntary churn and finding the point where customers actually give up.
The move that matters most: compute each stage as a rate (signup-to-activation %, activation-to-paid %, month-2 retention %), not a raw count. Counts moving together just mean the top of funnel changed size; rates moving apart show where the actual leak is.
Plateau or ceiling?
Not every stall fixes with better execution — some are the market itself. A temporary plateau usually has a nameable cause: a channel decayed, onboarding got stale, a competitor took some oxygen, marketing effort dropped for a quarter. A real ceiling looks different — multiple channels tried with the same result, activation and retention fine but the addressable audience is simply small, or a price test showing demand won't hold at a higher price.
Willingness to pay is the clearest tell. If you've tested a higher tier or an add-on and demand doesn't hold even though the product works and people like it, that's a ceiling, not a funnel problem. A plateau usually survives a price test fine, because the constraint sits elsewhere in the funnel.
Market size is the other half, worth being honest about: if the realistic buyer segment is a few thousand companies worldwide, no funnel optimization changes that — only a different product or market does.
First moves for each cause
- Acquisition stuck: audit each channel individually for decay rather than looking at total traffic (one good channel can mask another quietly dying). Test one new channel deliberately so you can attribute any change.
- Activation stuck: watch or read transcripts of new users onboarding and note exactly where they stop moving forward. Cut a step or move the "aha" moment earlier, then measure the next cohort's activation rate, not the one you just changed something for.
- Retention/expansion stuck: talk to customers who churned last month about what changed, not what they think in the abstract. Separate "card failed" (involuntary) from "didn't get enough value" (voluntary) — the fixes don't overlap.
- Real ceiling suspected: run the price test above, and try one meaningfully different channel or segment before concluding this. A ceiling verdict should survive at least one serious attempt to disprove it.
Push, pivot, or move on
The decision is what the diagnosis showed, not a feeling. Push if you found a specific, fixable stage and haven't tried the fix yet — that's still upside. Pivot if the stuck stage points at a real but adjacent audience — activation is strong for a segment you didn't originally target, and that looks more promising than the original plan. Move on if acquisition, activation, and pricing have all been seriously tested with no movement, and the addressable market is small enough that even a clean funnel caps out low.
Write down what you tried and what happened before deciding — the common failure is re-litigating "maybe it's just marketing" every few months without ever running the price test or channel test that would settle it. The same evidence-first framework, applied to the more final call of shutting a project down, is covered in when to kill a side project. If the diagnosis instead points toward "push," the guide to growing from $100 to $500 MRR works the same acquisition and activation questions from the growth side, and the guides hub has the fuller set of frameworks these questions draw from.
Frequently asked questions
How long does a flat trend need to hold before I call it a stall?
No universal number, but three months of a genuinely flat rolling average — not a noisy week-to-week chart — is a reasonable minimum. Shorter than that, keep watching; a single bad month reverses more often than founders expect.
What if all three funnel stages look flat at once?
Start with whichever is earliest, usually acquisition, since a fix there can resolve what look like downstream problems too (more signups can make a marginal activation rate produce enough paying customers again). If acquisition is genuinely healthy and the others are flat independently, work them one at a time so you can tell which fix actually worked.
Can a stall be caused by something outside the product entirely?
Yes — an algorithm change, a platform policy shift, a competitor's launch, or a market-wide shift can flatten your numbers without anything in your product changing. This is why isolating which funnel stage moved first matters: an external shock usually shows up cleanly in one stage, most often traffic, rather than degrading everything at once.
Do I need analytics software to see this, or is a spreadsheet enough?
A spreadsheet is enough. Weekly rows for signups, activation events, and MRR with a rolling-average formula show the same flat line a dashboard would. A tool earns its keep when you're running several projects at once and don't want to rebuild that spreadsheet for each one, or want the check to happen without remembering to look.
What's the most common mistake in calling something "stalled"?
Looking only at the revenue chart. By the time MRR is visibly flat, the underlying cause — usually a decline in signups or activation — has typically been running for weeks already. Checking the earlier-funnel numbers on a regular cadence closes that gap.