How to raise subscription prices without a churn spike
Break-even math for a price increase, who to grandfather, App Store and Google Play notice rules, the Stripe setup, and steps that keep churn from spiking.
A price increase is one of the few changes that lifts revenue from customers you already have. It is also one of the few changes that can make many of them cancel in the same week. The difference between the two outcomes is mostly preparation: knowing how much churn the increase can absorb, choosing who it applies to, giving proper notice and making sure the renewal charge actually goes through.
This guide covers each step. All numbers are hypothetical.
Step 1: do the break-even math
Before anything else, work out how many customers you could lose and still come out ahead.
revenue after = customers × (1 − extra churn) × old price × (1 + increase)
break-even extra churn = increase ÷ (1 + increase)
| Price increase | Break-even extra churn |
|---|---|
| 10% | 9.1% |
| 20% | 16.7% |
| 30% | 23.1% |
| 50% | 33.3% |
Example: a fictional company with 1,000 customers at $40/month raises the price to $48 (20%). Revenue stays flat if it loses 167 extra customers because of the increase. Lose fewer and revenue goes up.
This is the ceiling, not the target. Customers who leave also stop referring others, stop expanding and may have left angry. Use the break-even only to judge whether an increase is reckless or comfortable.
Count the payment failures too
A higher amount can change how the bank treats a renewal. In Europe, a change in amount is one of the situations where an issuer may ask for authentication on a payment the customer is not present for; see SCA and authentication-required renewals. Plan for a few extra failed renewals in the first cycle, and make sure the recovery emails link straight to a page where the customer can confirm.
Step 2: decide who gets the new price
| Option | What it means | When it fits |
|---|---|---|
| New customers only | Existing customers keep their price indefinitely | Small increase, or a very price-sensitive base |
| Everyone, at renewal | Existing customers move at their next renewal after notice | The usual choice |
| Everyone, with a delay | Existing customers move after 3 to 12 months | Large increase, or a loyal base you want to reward |
| By plan or cohort | Only some plans or older cohorts move | Old prices far below current ones |
Keeping old prices forever is simple but creates a growing list of legacy prices you have to maintain. A delay is often the better gift: customers get time to plan, and you get a single price list in the end.
Step 3: give clear notice
What the notice should say
- The current price and the new price, per billing period.
- The exact date the new price applies.
- What changes for the customer, if anything (new features, same features).
- How to change plan or cancel, with a direct link.
Keep the reason short and honest. “We are raising prices because our costs have risen and we have added X and Y” is better than a paragraph about value.
Rules we could verify
- California. Changes from AB 2863 (summary by Davis Wright Tremaine, accessed November 2026), most in force since July 1, 2025, require notice between 7 and 30 days before a price change under an existing automatic renewal for California consumers, together with how to cancel.
- App Store. Apple notifies subscribers of a price increase. Subscribers must consent before renewal when they are in a region that requires it, when the increase exceeds both 50% and roughly US$5 per period (US$50 per year for annual plans), or when they already had an increase in the past 12 months; otherwise Apple sends a notice only. Subscribers who do not consent lose the subscription at the end of the current period. You can also keep existing subscribers on their current price (Apple: manage pricing for auto-renewable subscriptions and price increase thresholds).
- Google Play. By default, a price increase for existing subscribers is opt-in: users must accept it before the first higher charge, or Google Play cancels the subscription. Opt-out increases exist only in certain countries, for eligible developers, at most once per base plan per country in 365 days, and with an in-app notice at least 30 days ahead (Play Billing: change subscription prices).
Other jurisdictions have their own rules on contract changes, and B2B contracts may have notice clauses of their own. Check your terms and your markets.
The store rules have a direct churn consequence: on opt-in increases, a customer who simply ignores the notice is cancelled. Silence counts as no. Tell those customers yourself, in your app and by email, before the store’s own notices start.
Step 4: apply the change in billing
On Stripe, you change an existing subscription’s price by updating its subscription item to the new price. Stripe’s guide on changing the price of existing subscriptions covers it. Two details matter for a price increase:
- Proration. The default
proration_behavioriscreate_prorations, which charges the difference for the rest of the current period. For an increase that should start at renewal, set it tonone: the customer pays the old price until the next renewal and the new price from then on. - Timing. To move many customers at their own renewal dates, use subscription schedules or update each subscription shortly before its renewal, after the notice period.
Test on a few internal subscriptions first and check the next invoice preview before touching real customers.
Step 5: give customers an alternative to cancelling
A price increase brings a wave of “too expensive” cancellations in the weeks around it. Have the right offer ready:
- A cheaper plan. For customers who use a fraction of the product, a smaller plan at or below their old price keeps them. See downgrade offers.
- An annual plan at the old monthly equivalent. Some customers will commit for a year to lock in a price.
- A pause. For seasonal or occasional users.
Avoid a blanket “keep your old price if you threaten to cancel” discount. It teaches customers that the cancel button negotiates prices.
Step 6: measure it properly
Compare the months after the increase with the months before, by cohort and by plan:
| Metric | Why |
|---|---|
| Voluntary churn, “too expensive” reason | The direct effect |
| Failed renewals at the new price | Authentication and bank effects |
| Downgrades | Customers who stayed but pay less |
| Net revenue retention | The overall result |
| Support tickets about the price | Early warning |
If you can, roll out to one segment first and keep a comparable segment on the old price for a cycle. That is the only clean way to separate the increase’s effect from seasonality.
Checklist
- Break-even churn computed.
- Who moves, and when, decided and written down.
- Notice timing checked for your markets and stores.
- Notice email and in-app message written, with a link to change plan or cancel.
- Billing change tested with proration set as intended.
- Downgrade and pause offers ready in the cancel flow.
- Recovery emails ready for failed renewals.
- Dashboard compares before and after by cohort.
Doing this with NoChurn
NoChurn helps around a price change without touching your prices. Its cancel flows ask for the reason and show one offer per reason (a discount, a pause or a plan change), with one-click cancel always visible, as a hosted modal or through a headless API. Failed renewals on Stripe get smart retries timed to the decline reason and payday, AI-written recovery emails you can review and a hosted card update page. Customers who leave get win-back emails at day 30, 60 and 90 by cancel reason, and each customer has a churn score from 0 to 100, updated on every change. Every feature is on every plan, priced by MRR only (pricing).