The Discount Cliff: Why Subscribers Churn the Moment Their Promo Price Ends
Intro pricing wins the signup. The renewal where it snaps back to full price is where deal-acquired subscribers quietly disappear.
Every growth team eventually runs the same experiment: "50% off your first 3 months" or "$1 for your first month" to juice signups. It works — intro pricing reliably lifts conversion, sometimes dramatically. Then three or four months later, a chunk of that cohort cancels on the exact same day, and nobody on the team connects it back to a pricing decision made a quarter earlier. They just see "churn," file it under the usual reasons, and move on.
That gap between "deal-acquired" and "directly acquired" behavior isn't limited to refunds. It shows up again, in a quieter form, at the exact moment an intro discount expires. Call it the discount cliff: the renewal where the price a subscriber has been paying jumps to the price they actually agreed to, and a share of the cohort leaves rather than pay it.
Why this isn't the same problem as a price increase
We've written before about how to raise SaaS prices without spiking churn, and the two situations get confused constantly, but the mechanics are inverted. A price increase changes a deal an existing customer already agreed to and has been happily paying — nothing about their price was supposed to move. A discount cliff is the opposite: the full price was the deal from day one, disclosed at signup, in the coupon terms, on the pricing page. The subscriber technically agreed to pay it. It just didn't feel real yet.
That distinction matters because the standard price-increase playbook — advance notice, grandfathering, a value narrative — doesn't map cleanly onto a discount cliff. You can't grandfather a subscriber into a discount they were only ever supposed to get temporarily; that just turns your 3-month intro offer into a permanent one and defeats the point of running it. The fix has to happen upstream, in how the discount is structured and communicated, not downstream in how you announce it.
Why the anchor sticks even though the customer agreed to it
The psychology here is anchoring, one of the more heavily replicated findings in behavioral economics: once someone has a number in their head as "the price," any number above it registers as a loss, even if the higher number was always the actual, disclosed price. A subscriber who's been billed $12 a month for three billing cycles has anchored on $12. The invoice for $24 in month four doesn't read as "the price I signed up to pay" — it reads as a price increase, regardless of what the terms said in month one. This is why discount-driven cancellations at a cliff often carry the same "too expensive" framing you'd get from a real price increase, even on subscribers who never once looked at the fine print.
How Stripe's coupon mechanics create the cliff by default
If you're running intro pricing through Stripe, you're almost certainly using a Coupon or Promotion Code object, and the duration field on that coupon is doing more work than most teams realize. It determines exactly how the cliff happens:
| Coupon duration | What happens at expiration | Cliff risk |
|---|---|---|
once | Discount applies to the first invoice only; the very next invoice is full price | High — cliff hits on invoice #2, before much habit has formed |
repeating (duration_in_months: 3) | Discount applies for a fixed number of months, then is automatically removed | High — one hard jump at a known, predictable renewal |
forever | Discount never expires unless you manually remove it from the subscription | None by default — but effectively a lower permanent price, not an intro offer |
The important operational detail: Stripe removes a repeating or once coupon from the subscription automatically once its window is up. Nothing breaks, no code runs, no webhook fires that says "hey, this customer is about to feel a price jump." The invoice is simply larger. If your only signal for "this customer might be at risk" is a failed payment or an explicit cancellation, you will never see a discount cliff coming — the invoice generates and gets paid (or fails and shows up as ordinary involuntary churn) with nothing in your dunning stack flagging that this particular failure or cancellation is cliff-related rather than random.
The extreme case: lifetime and steep-discount deal platforms
Deal platforms like AppSumo push this to its logical extreme — instead of a temporary discount that later reverts, the customer pays once, upfront, for permanent or heavily discounted access. There's no monthly cliff because there's no monthly billing to fall off of, but the underlying deal-buyer behavior is instructive for anyone running smaller intro discounts too:
Source: independent 5-year tracking analysis of 118 AppSumo-listed deals (figures do not sum to 100% — remainder reflects deals still pending classification).
Deal buyers are shopping the discount as much as the product — a meaningful share never activate seriously, and the 17% refund rate reflects buyers who realize that within the return window. The lesson for a normal SaaS intro offer isn't "avoid discounts." It's that a discount pulls in a wider, less-qualified buyer pool than your regular funnel, and that pool needs a different retention plan than the customers who found you organically and paid full price from day one.
Redesigning around the cliff instead of hoping it doesn't hurt
Step the discount down instead of dropping it off a cliff
Instead of "50% off for 3 months, then full price," try "50% off month one, 25% off months two and three, full price from month four." The total discount cost is similar, but the subscriber experiences three small, easy-to-absorb price moves instead of one large one. Each step is small enough that it rarely triggers the same anchoring reaction a single 2x jump does.
Treat the cliff date as a lifecycle trigger, not a silent billing event
The same logic that applies to renewal reminders before a big annual charge applies here: a customer who sees the price change coming reacts differently than one who's surprised by it on their statement. Fire an email 5-7 days before the coupon expires that says exactly what the new price will be and why — ideally tied to something they've gotten out of the product in the discount window, not a generic "your discount is ending" notice.
Give your cancellation flow a distinct reason for this
If "too expensive" is your only price-related option in your cancel survey, discount-cliff cancellations get lumped in with genuine price objections from full-price subscribers, and you lose the ability to tell them apart. They're different populations with different fixes — see our breakdown of why customers actually cancel for the full reasoning behind reason-specific offers. A subscriber cancelling at a cliff already got a discount once; the strongest save offer here usually isn't a bigger one (which teaches every future intro cohort to threaten cancellation for a second discount) but a smaller, one-time step-down — 15-20% for one more billing cycle — that acknowledges the jump without resetting their price expectations back to where they started. Our guide to pause vs discount vs downgrade offers covers how to size an offer without training subscribers to expect one every time.
Watch the cohort, not just the aggregate churn number
A blended monthly churn rate will absorb a discount-cliff spike into the noise if your intro-priced cohort is small relative to your base. The only way to see it clearly is to build a retention curve specifically for subscribers acquired through the intro offer and compare it against your organically-priced cohort at the same tenure. If the two curves are identical except for a sharp drop at the exact month the discount ends, you've confirmed the mechanism — and you can measure whether a step-down redesign actually flattens it. Our piece on reading cohort retention curves walks through building this comparison.
What this costs you if you ignore it
The math that matters isn't the discount itself — it's what the discount does to the lifetime value of that acquisition channel once you factor in the cliff-driven churn on top of it. A cohort that converts well on an intro price but drops sharply the month it ends can easily have a lower blended LTV than a smaller cohort acquired at full price with normal retention, even though the intro cohort looked cheaper to acquire on a per-signup basis. If you're running growth experiments with different discount depths and durations, it's worth modeling the LTV impact of each variant with our LTV calculator before you scale the one with the best top-of-funnel conversion number — the cliff usually doesn't show up until well after the campaign's initial results look great.
None of this means intro pricing is a bad idea. It's one of the more reliable levers for lifting signup conversion, and plenty of businesses run it profitably. The failure mode isn't the discount — it's not building anything downstream to catch the moment it ends. A cancellation flow that recognizes a discount-cliff cancel reason and responds with the right, appropriately-sized offer turns a silent, unmeasured leak into a save rate you can actually track and improve, the same way CancelFlow handles any other reason-specific cancellation moment.
Frequently asked questions
What is a discount cliff in SaaS billing?+
A discount cliff is the renewal where a subscriber's promotional or intro price ends and jumps straight to the full rate — for example, "50% off your first 3 months" reverting to the full price on the fourth invoice. Unlike a company-wide price increase, the higher price was always the deal; the cliff is just the first time the subscriber actually pays it.
Do lifetime deal customers churn more than regular subscribers?+
Lifetime deals are a one-time payment rather than a recurring subscription, so "churn" in the MRR sense doesn't apply the same way — but deal-motivated buyers do behave differently. AppSumo has confirmed a platform-wide average refund rate of roughly 17% across its deals, well above what most SaaS businesses see on directly acquired self-serve signups, because a share of deal buyers are shopping the platform itself rather than evaluating any one product on its merits.
Should I offer a discount that steps down gradually instead of ending all at once?+
For most intro offers longer than a single month, yes. A hard cliff — full discount for N months, then 100% of list price on month N+1 — creates one large, noticeable price jump at a single renewal. Stepping the discount down over two or three renewals (for example 50%, then 25%, then full price) spreads the adjustment across multiple smaller, less noticeable jumps and gives the subscriber more time to decide the product is worth the eventual price before they're asked to pay it in full.
How is a discount cliff different from a price increase?+
A price increase changes the deal an existing customer already agreed to and is paying — nothing about their price was ever going to change on its own. A discount cliff is the opposite: the full price was always the deal, disclosed at signup, and the subscriber agreed to it. The cliff still triggers a similar churn reaction because psychologically the subscriber anchored on the discounted number, but the fix is different — it's about deal design and renewal communication, not grandfathering or notice periods.
Stop losing subscribers today
One script tag. One function call. A live cancellation flow in under 10 minutes.
Start free trial →