7
16 Comments

5% churn at $3k MRR is $150. At $20k it's $1,000. Nothing about the product changed.

A plateau looks like a traffic problem. Signups slowed down, so obviously you need more signups. That was my first read too.

And for a while that's the right read. When the base is small, acquisition basically is the business. You can outrun a leaky bucket when the leak is eighty quid a month.

What changes isn't the product. It's the arithmetic. Churn is a percentage of a base that keeps getting bigger, and new MRR — for most solo products, anyway — stays roughly flat month to month.

5% of $3k is $150. 5% of $20k is $1,000. Same percentage, same product, wildly different month.

So the effort that used to show up as a climb now shows up as nothing much. You add twelve hundred, you lose a thousand, you're technically growing. Doesn't feel like growing.

Anyway. That part's just maths. The bit I can't work out is what it's actually telling me.

Obvious move is to pull six months of gross new MRR against net new and look at the gap. I did that. It tells me the leak is big. It doesn't tell me the leak is what's holding things down — loads of products carry ugly churn and grow anyway, and I can't find the line between leaky-and-growing and leaky-and-stuck anywhere in my own numbers.

Pricing makes it murkier rather than clearer. Price low enough and maybe you bought a cohort that was always going to leave, which in the dashboard looks exactly like a retention problem and isn't one. I've got no clean way to tell those apart from inside my own account.

And sometimes acquisition really does just die on you. Google update, directory dries up, launch spike that was never a channel in the first place. Same flat chart either way, and the flat chart is all you get to look at.

Which is where I keep getting stuck, and why I'm asking rather than concluding.

If you've hit a wall somewhere between $1k and $30k MRR — solo, subscription product — I want the honest version of which one it actually was. Did acquisition genuinely stall? Or was it churn or pricing you'd half-known about for months and hadn't dealt with?

And if you thought it was one and it turned out to be the other, that's the answer I'm most interested in.

posted to Icon for group Growth
Growth
on July 30, 2026
  1. 1

    The line between leaky-and-growing and leaky-and-stuck is actually a number you can compute today: your steady-state ceiling is roughly monthly gross new MRR divided by monthly revenue churn rate. At about $150/mo of new MRR and 5% churn, equilibrium sits at $3k — so a flat chart there isn't a stall, it's arrival, and that also tells you the two levers are worth exactly the same amount (doubling new MRR and halving churn both move the ceiling to $6k), so you pick whichever is cheaper for you rather than agonizing over which one is the "real" cause. The second thing I'd separate before trusting any of it is involuntary versus voluntary churn: failed and expired cards were close to a third of my gross churn and they look identical to people leaving on the dashboard, but that's a dunning problem you can fix in an afternoon, not a pricing or product verdict. Honest answer to your actual question — mine was churn I'd half-known about for eight months, and what made it undeniable wasn't cohort curves but segmenting cancellations by whether the account had ever completed the core action even once; nearly all of it sat in the never-activated bucket, which meant the plateau was an onboarding problem wearing a retention costume and no amount of extra traffic would have touched it. When you pulled the six months of gross versus net, what share of the churned accounts had ever finished your core action a single time, and how does that compare to the ones who stayed?

  2. 1

    on your question about whether the older data is gone once you have already moved price: not gone, but the cohort curve has to measure something else. switch from revenue retention to logo retention. a price change moves the revenue curve mechanically even when nobody's behaviour changed, whereas it does not move whether an account is still there, so logo curves stay comparable across the break and revenue ones do not.

    better still if you grandfathered the existing customers. old-price and new-price cohorts are then ageing in parallel from the same date, same product, same everything except the price, which is about as close to a controlled test as you get from inside your own account.

    one caveat: the change also shifts who signs up, so compare within the same acquisition source or you will read a mix shift as a retention change.

  3. 1

    I think before judging the retention rate and pricing issues, we should first categorize user churn into voluntary and involuntary types. In Stripe, this refers to subscriptions that are terminated due to exhaustion of payment retries, as opposed to actual user cancellations. For many subscription products, approximately one-third of the "loss" is caused by expired cards. As the base user group ages, more cards expire each month, and this proportion will continue to rise. The suggestions made by others above are still applicable, but only for the voluntary churn portion. This is important because the solutions are completely different: if a group of users earning $1000 per month never decided to leave, the problem is not with the product or pricing, but with billing operations. Such churn can be solved by optimizing system processes rather than relying on guesswork.

  4. 1

    This is such an underrated point — churn cost scales with revenue even when churn rate stays flat, and a lot of founders don’t feel it until it’s a real number. It’s also one of the first things that gets scrutinized if you’re ever raising or selling — a buyer or investor will always ask whether that 5% is concentrated in a few accounts or spread evenly, since those tell very different stories about how “real” the revenue is.

  5. 1

    The honest version from SocialPost.ai: the plateau I blamed on acquisition was a churn cohort we had acquired with a discount promo, and they left at triple the rate of full-price users. The diagnostic that untangled it was cohort retention split by acquisition source and price paid, because the blended churn number hides exactly the ambiguity you're describing. If month-three retention holds for full-price cohorts, the leak is who you're acquiring, not what you built.

    1. 1

      This is exactly the version I was asking for, and the unflattering ones are the useful ones, so thanks.

      Triple the rate is a big gap. That's not a slightly worse cohort, that's a different customer who happened to arrive through the same door.

      And splitting by source and price paid rather than just by month is a step past where the thread had got to. Two people had me looking at cohort shape; you're saying the cohorts need cutting by how they arrived before the shape means anything.

      The bit I keep turning over is how long it hid. A discounted cohort disappears into the same blended number as everyone else, so presumably it read as general decline for a good while before the split showed you anything.

      So how long were you wrong about it? And once you knew — did the promo just go, or was there a version of it you kept?

  6. 1

    The cleanest way to split these apart from inside your own account is cohort retention curves instead of the blended churn percentage. Blended churn drifts up on its own as the base ages, even with nothing changing, because older cohorts have simply had more time to lose people. If you lay the monthly cohorts side by side and they are flattening out at roughly the same shape and timing, that is a real retention problem. If the newer cohorts look just as healthy as the old ones and there are simply fewer new cohorts starting, that is an acquisition problem wearing a churn costume. Worth checking that before touching pricing, since a pricing change makes every cohort comparison after it messier to read.

    1. 1

      Two people in a row pointing at cohort curves. Fine, message received, I'll stop staring at the blended number.

      The ageing thing I genuinely hadn't thought about. If blended churn creeps up on its own just because older cohorts have had longer to lose people, then some of what I've been reading as decline is just time passing. Bit humbling.

      and your split is doing something different from the one above — that one was about the shape of a single cohort, yours is about whether the shapes stay the same and there are just fewer of them starting. Healthy new cohorts, fewer of them. I'd have called that churn without blinking.

      The pricing warning is the one I'd have got wrong in practice, too. Instinct on a plateau is to move price first because it's the fastest thing you control.

      Which is my question, really — what if you already have? Is the older data just gone for this purpose, or can you still read across the break?

      1. 1

        The data is not gone, but it stops being one continuous line. Think of it as two populations that both deserve their own cohort curve rather than one curve with a kink in it.

        Before the price change, each cohort tells you what retention looked like at the old price. After the change, each new cohort tells you what retention looks like at the new price. You can read across the break as long as you are comparing similar things, same acquisition source, same time since signup, not calendar month against calendar month.

        Where it gets genuinely unreadable is the transition month itself, when old price and new price customers land in the same billing cycle. That single month is worth flagging and setting aside rather than trying to interpret.

        If you grandfathered anyone, their curve belongs with the old price group for as long as they stay at that price, not with whichever calendar month they happen to fall in.

  7. 1

    The arithmetic is the easy part to agree with. What I'd push on is the implied conclusion — that churn deserves more attention at scale than at the start.

    At $3k the $150 is small in absolute terms but it's coming from a customer base small enough that you can still call every one of them and find out why. At $20k the $1,000 hurts more and you've lost the ability to diagnose it individually. So the money says fix it later, the diagnosability says fix it now.

    Which one were you arguing for? I read it as a warning to take churn seriously early, but the framing could just as easily be read as permission to ignore it while the number is small.

    1. 1

      Fair hit. Reading it back, the framing does lean towards "it's small, don't worry yet, and that isn't what I think.

      Honest answer: I was writing the arithmetic and hadn't decided what it argued for. You've named the thing that makes it a real question rather than a maths problem — the cost of the leak goes up while your ability to see the leak goes down. Those move in opposite directions and they cross somewhere.

      Which means the cheap window and the diagnosable window are the same window, and it's early. That's the opposite of what my framing implies, so I'll take the correction.

      though the part I'm less sure about is whether anyone actually uses it. At $3k you're building, you're on your own, and calling forty churned users feels like the least urgent thing on the list — right up until it's the only thing that would've helped.

      Did you do it at that stage? Or is this hindsight talking?

  8. 1

    I think the hardest part is separating the symptoms from the cause. I’ve seen cases where acquisition looked like the problem because signups slowed down, but once you look at cohorts, churn had quietly been eating most of the new MRR.

    One thing that helped me was comparing churn by customer age and acquisition source instead of looking at the overall churn percentage. If one cohort or channel has much higher churn, it becomes easier to tell whether the issue is actually retention, pricing, or simply a weak acquisition channel.

    The flat MRR chart by itself really doesn’t tell you enough.

  9. 1

    Great reminder that a stable churn percentage can hide a rapidly growing revenue leak. Retention systems need to scale alongside MRR, not after the losses become painful.

  10. 1

    One thing I've found is that plateaus are difficult because multiple explanations can produce almost identical charts.

    The hardest part often isn't fixing the problem—it's becoming confident you've identified the right problem in the first place. Everything after that depends on getting that distinction right.

  11. 1

    the number that separates your three cases isn't churn percent, it's the shape of retention by signup cohort.

    plot each month's cohort as a curve of how many are still there n months later. leaky but growing looks like a curve that decays and then flattens at some floor, so every cohort leaves behind a permanent base and the thing compounds. leaky and stuck decays toward zero with no plateau, and then acquisition is just refilling a bucket.

    the pricing case has its own shape too. a cohort that was never going to stay dies in month one or two and the survivors look normal after that. a real retention problem keeps bleeding in the later months.

    1. 1

      Right, that's the thing I was missing. I was looking at aggregate churn and asking it a question it can't answer.

      The floor-vs-decay-to-zero distinction is the bit that reframes it for me. If every cohort leaves behind a permanent base, acquisition compounds on top of something. If they all trend to zero, acquisition is just refilling. Same monthly churn number, completely different business. I'd been treating those as the same situation with different severity.

      And the early die-off vs. late bleed split for the pricing case is cleaner than anything I'd come up with. I had "these look identical from the inside" and you've just shown me they don't, they're only identical in aggregate.

      Question, if you don't mind: how do you judge whether a floor is high enough to matter? A cohort settling at 40% is obviously compounding. 8% presumably isn't, or isn't fast enough to notice. Is there a rough number you look for, or is it always relative to how fast you're adding cohorts?

Trending on Indie Hackers
How to rank #1 on ChatGPT? User Avatar 75 comments We scanned 50,000 domains. Your cold email list is really four systems. User Avatar 70 comments I Tested Agenmatic for Finding Customers in Communities — Here’s What I Learned User Avatar 60 comments A chat assistant that runs your server so you don't have to live in the terminal User Avatar 32 comments Just got invited to Web Summit Lisbon. Now I need 5 more clients in 13 days. User Avatar 29 comments Day 8 of building StartupHQ: How would you visualize AI agents working in the background? User Avatar 25 comments