Most SaaS companies underprice for years. The founder sets a number early, before the product had half its current feature set, and then nobody revisits it because a price increase feels riskier than it actually is. Meanwhile the product has grown, the market has moved, and the customers who signed up at the original price are getting steadily more value for the same money. Raising prices is not aggressive — it's closing a gap that already exists. The hard part isn't deciding to do it; it's doing it in a way that doesn't torch the trust you've built.
How do you know it's time
The signal is rarely a single event. It's usually three things arriving together: the product does meaningfully more than it did at launch, competitors have quietly repriced upward, and your sales team is closing deals faster than expected — a sign the price is no longer the objection it used to be. If you're still pricing against a version of the product that shipped two years ago, you're leaving revenue on the table for no benefit to anyone, since the value being delivered has already moved on without the price following it.
The other reliable signal is discount creep. If reps are routinely discounting 20-30% to close deals, that's not a sales problem, it's a pricing problem — the list price has drifted away from what the market will actually bear, and the discount is just the market correcting it deal by deal instead of you correcting it once, deliberately.
Communicating the why, not just the what
The single biggest driver of how a price increase lands is how much notice you give and what you say in that notice. Thirty to sixty days' advance warning is the norm for a reason — it gives customers time to budget for it instead of feeling ambushed on their next invoice. But the notice period matters less than the content of the message. An email that says "prices are increasing" reads as extraction. An email that explains what's changed — the features shipped since they signed up, the infrastructure investment, the support improvements — reads as a company that's grown and is asking to be paid what it's now worth.
Customers rarely churn over a price increase itself. They churn when the increase feels disconnected from anything they've experienced. If your notice can point to three concrete things that improved since they signed up, the increase reads as fair. If it can't, that's worth sitting with before you send anything.
Who gets the increase, and by how much
Not every customer needs to get hit the same way. Segmenting by tenure, plan tier, and usage lets you apply the increase where it makes sense and hold off where it doesn't. A customer who joined last month on the current feature set has a much weaker claim to the old price than someone who's been paying since before half the product existed — but counterintuitively, it's often the long-tenured customers who can absorb an increase most easily, because they're the most embedded and the switching cost is highest.
The size of the increase matters too. Single-digit percentage increases rarely trigger a reaction; anything above 15-20% starts to invite real reconsideration, especially from price-sensitive segments like small-business plans. If the gap between current and target price is large, it's usually safer to phase it across two or three cycles rather than closing it in one jump.
Grandfathering and its real cost
Grandfathering — letting existing customers keep their old price indefinitely — is the easiest way to avoid short-term churn, and it's also a decision that compounds against you for years. Every cohort you grandfather becomes a permanent asterisk in your pricing model: a growing set of customers paying below market for a product that keeps improving, subsidized by the customers who joined later at the current rate. Ten years in, some companies discover their oldest, most loyal customers are also their least profitable, and there's no clean way to unwind that without the exact same trust conversation you were trying to avoid in the first place.
A middle path that works well in practice: grandfather for a defined window — a year, say — with clear notice that the legacy price expires on a set date. That gives long-tenured customers time to plan without creating a permanent two-tier system that someone has to clean up later.
Churn from a price increase is visible immediately — you can watch the cancellations come in. The cost of underpricing for five years is invisible in the same way technical debt is invisible: no single week looks bad, but the gap between what you charge and what the market would pay compounds quietly, and by the time someone notices, catching up requires a much bigger jump than if you'd adjusted every year.
Testing on new cohorts first
Before touching existing customers at all, the lower-risk move is testing the new price on new signups only. This tells you two things without any churn risk: whether the higher price still converts at an acceptable rate, and whether customers who signed up at the new price behave differently in terms of retention and support load than those on the old one. If the new-cohort price holds up for a full quarter or two — conversion doesn't collapse, and early retention looks normal — you have real evidence to bring to the harder conversation about existing customers, rather than a guess.
Wrapping up
A price increase is rarely about the number itself — it's about whether the story you tell matches what customers have actually experienced. The failure mode isn't raising prices; it's raising them without notice, without explanation, and without segmenting who can absorb it. Test on new cohorts first, give existing customers real notice with a real reason, and treat grandfathering as a temporary bridge rather than a permanent policy. Do that, and a price increase is one of the highest-leverage, lowest-cost changes available to a SaaS business — it costs nothing to build and it applies to revenue you're already earning.
Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.