North Metric

    Voluntary vs involuntary churn.

    What each one is, how to measure both in Stripe, and what to do about failed payments and cancellations.

    North MetricResearch
    GUIDE · CHURN TYPES
    IN SHORTVoluntary churn is when a customer chooses to cancel. Involuntary churn is when a subscription ends because a payment fails and is never recovered, often without anyone deciding to leave. The fixes differ: payment recovery for involuntary churn, early warning and a personal move for voluntary churn. In Stripe, the cancellation reason and subscription status tell them apart.

    What is involuntary churn?

    Involuntary churn is revenue lost when a subscription ends because a payment fails and is never recovered. Nobody decided to cancel. The card expired, was replaced, ran out of funds or was declined by the bank, and the retries ran out.

    Declines come in two kinds, and they behave differently:

    • Soft declines are temporary, like insufficient_funds. A retry a few days later can go through.
    • Hard declines mean the bank has rejected the charge and a retry won't fix it, like lost_card, stolen_card, incorrect_number or authentication_required. Stripe keeps the retries on its schedule but doesn't run them until the customer adds a new payment method.

    Stripe also won't retry when there is no payment method on file at all.

    For soft declines, Smart Retries picks when to try again. Stripe's recommended default is 8 tries within 2 weeks, and you can stretch the window to as long as 2 months (Stripe docs, checked Oct 18, 2026). While retries run, the subscription is past_due and still counts in Stripe's MRR. After the final attempt it is canceled, marked unpaid, left past_due or paused, depending on your settings. Stripe's own metrics count it as churn once it is canceled or unpaid.

    Every decline carries a code that tells you which case you're in. Our list of Stripe decline codes explains what each one means and what to do next.

    What is voluntary churn?

    Voluntary churn is a customer choosing to leave. They cancel in Stripe's customer portal, email you to cancel, or decide not to renew at the end of the term. It is a decision, so it can be seen coming and sometimes changed.

    The reasons cluster. When customers cancel in Stripe's customer portal with reasons turned on, they pick from a fixed list: too expensive, unused, switched service, missing features, too complex, low quality, customer service or other. Totaled in dollars, those answers show which problem costs you most.

    Voluntary churn also gives early signs that involuntary churn doesn't:

    • Usage drops: fewer logins, fewer active users, fewer events.
    • Seats removed or a downgrade, which is partial churn in revenue terms.
    • A scheduled cancel. With cancel at period end, the subscription stays active until the period closes, which gives you days or weeks to act.

    On annual plans the decision is often made months before the renewal date, and the renewal is simply where it shows. Check usage 60 and 30 days before each annual renewal, while there is still time to talk.

    The line between the two isn't always clean. A customer who stopped using the product months ago may simply let the card fail. It looks involuntary in Stripe, but the cause was a decision. If usage had faded before the payment failed, treat the customer as both: fix the card and ask what changed.

    See how much MRR is at risk from cancels and failed payments in your own Stripe.

    Get your free churn reportActions off until you turn them on

    How to measure each in Stripe

    Stripe records why each subscription ended in cancellation_details.reason. Read it together with the subscription status to split churn into its two kinds.

    In StripeWhat it meansCount as
    reason cancellation_requestedCanceled on request, by the customer or by you (count non-payers you cancel by hand as involuntary)Voluntary
    reason payment_failedCanceled after the final retry failedInvoluntary
    reason payment_disputedCanceled after a dispute was openedTrack separately
    status unpaidRetries ended, subscription left openInvoluntary
    status past_duePayment failed; retries running, or left past due after themAt risk, not churned
    cancel_at_period_end set to trueCancel scheduled, still activeAt risk, not churned

    Then work out each rate over the same period:

    • Voluntary churn rate = customers who canceled on request ÷ paying customers at the start of the period.
    • Involuntary churn rate = customers lost to failed payments (canceled with payment_failed or moved to unpaid) ÷ paying customers at the start of the period.

    Example: you start the month with 400 paying customers. 10 cancel on request and 4 are lost to failed payments. Voluntary churn is 2.5%, involuntary churn is 1%, and total customer churn is 3.5%. Run the same split on MRR to see revenue churn by type: MRR lost to each kind ÷ MRR at the start of the period. Downgrades and seat cuts belong on the voluntary side, or on their own line as contraction, because the customer chose them.

    Three details keep the numbers honest:

    • Date churn by ended_at, not canceled_at. For a cancel at period end, canceled_at is when the customer asked, not when they left.
    • Check your failed-payment setting. If failed subscriptions are marked unpaid instead of canceled, they never get a payment_failed reason, so count them by status. Stripe's Billing overview treats a subscriber as churned once all their subscriptions are canceled or unpaid.
    • Use Stripe's revenue recovery overview for the involuntary side. It shows your failure rate, your recovery rate and what retries and emails brought back.

    What to do about each

    Involuntary churn is a setup problem first, then a follow-up problem.

    1. Turn on Smart Retries, Stripe's emails for failed payments and expiring cards, and automatic card updates.
    2. Ask for a new card at once on hard declines and missing cards. Retries won't run on those.
    3. Ask valuable customers for a new card in the 30 days before it expires, not after the charge fails.
    4. When Stripe's retries end, send valuable customers a personal note with a card-update link. By Stripe's own figures, businesses using Stripe recover 55% of failed payments on average (Stripe Billing page, checked Oct 18, 2026). The customers still unpaid after that are where a note from you matters. Our guide to failed payment recovery covers what to send and when.

    Voluntary churn is an early-warning problem.

    1. Watch usage and seats against each customer's own baseline, and check in when they fall.
    2. Send a save email the day a cancel is scheduled, with a pause or a smaller plan. Keep canceling one step.
    3. Total cancel reasons in dollars each month and fix the biggest one.
    4. Send a win-back note within 90 days to customers you'd want back.

    If you bill by usage, voluntary churn often shows up as usage fading for weeks before anything changes in billing. Our guide to metered billing on Stripe explains why the invoice lags behind.

    North Metric puts both kinds in one list, ranked by money at risk. It drafts a card-update note when Stripe's retries end, or at once for a hard decline, and a save email when a cancel is scheduled. You approve each one or set rules, and Stripe's own recoveries are never counted as money kept.

    Free churn report0% readGet your free churn report →
    01FAQ

    Fair questions.Straight answers.

    A renewal payment fails and is never recovered: the card expired or was replaced, funds ran short, the bank declined it, or the card was reported lost or stolen. The customer often meant to stay, which makes it the cheapest churn to fix.

    Keep reading

    stripe
    GUIDES

    Stripe Smart Retries: what they cover and what they don't

    reduce-saas-churn
    GUIDES

    How to reduce SaaS churn without a CS team

    where churn comes from, which customers to save first, and how to tell which moves worked.
    churn-risk
    GUIDES

    Churn risk: spot at-risk customers without a CS team

    the warning signs in Stripe billing and product usage, and how to rank customers by money at risk.
    FREE CHURN REPORT

    Both kinds of churn,in your Stripe.

    Actions off until you turn them on