Notes on subscription revenue leaks

Failed payments, involuntary churn and trials that never pay. Written by the founder, with the counting rules and the limits spelled out.

Definition

What is involuntary churn, and how do you measure it in Stripe?

Involuntary churn is revenue lost when a failed payment ends a subscription. Here are the counting rules, the steps and the mistakes that make the number wrong.

Ivan Bolonikhin · 8 November 2026
How-to

How to recover failed payments on Stripe subscriptions

A step-by-step way to measure failed payments, use the tools Stripe already gives you, ask for a card update, and prove recovery against a holdout.

Ivan Bolonikhin · 8 November 2026
Cost and comparison

Unconverted trials: what are they worth, and should you fix them first?

An unconverted trial is potential revenue, not a loss. How to put a dollar figure on it, why trials fail, and how to rank it against payments and cancellations.

Ivan Bolonikhin · 8 November 2026
Definition

What is a revenue leak report, and what does it show?

A revenue leak report puts failed payments, cancellations, downgrades and unconverted trials into dollars per month from a read-only Stripe key. Here is what it covers and what it cannot see.

Ivan Bolonikhin · 8 November 2026
Cost and comparison

Is a $490 revenue leak report worth it?

How to check whether a one-time leak report pays for itself, when it does not, and what you can verify yourself before you buy.

Ivan Bolonikhin · 8 November 2026
How-to

How to create a restricted read-only Stripe key

The four read permissions, the click path, how to send the key and when to revoke it, for a revenue leak analysis.

Ivan Bolonikhin · 8 November 2026
Security

Is it safe to give someone a read-only Stripe key?

What a restricted read-only key can and cannot do, what the real risk is, and a five-question checklist before you share one.

Ivan Bolonikhin · 8 November 2026
Comparison

Voluntary vs involuntary churn: how to tell them apart in Stripe

Two rules separate customers who chose to leave from customers whose payment failed. Where the line blurs and which one to fix first.

Ivan Bolonikhin · 8 November 2026
How-to

How to calculate MRR from Stripe subscriptions and invoices

Convert each plan to a monthly value, decide which subscriptions count, and find out why your figure differs from the dashboard.

Ivan Bolonikhin · 8 November 2026
Definition

How to calculate a failed-payment recovery rate

Recovered divided by recovered plus lost, with invoices still in retry left out. The exact rules and the traps.

Ivan Bolonikhin · 8 November 2026
How-to

How to read Stripe decline codes and what each failure needs

Expired cards, limits and vague declines need different recovery. How to pull your own codes and turn them into a plan.

Ivan Bolonikhin · 8 November 2026
How-to

How to build a reason-first cancel flow

Ask why before you offer anything, then match the lever to the reason. How to size the gap and how to test the flow.

Ivan Bolonikhin · 8 November 2026
Cost and comparison

Are discount save offers worth it?

A save offer pays only if the margin on what it wins back beats what it costs. The arithmetic and the test.

Ivan Bolonikhin · 8 November 2026
Definition

What is a holdout group, and why use one for retention?

A holdout is a random share of customers left out of a change so you can prove the change caused the result.

Ivan Bolonikhin · 8 November 2026
How-to

How to calculate trial-to-paid conversion from Stripe data

Count trials that ended, drop those still running, and value the rest as potential. The rules, traps and first fixes.

Ivan Bolonikhin · 8 November 2026
Definition

Are downgrades a revenue leak?

Customers who stay but pay less do not show up in churn. How to measure downgrades in Stripe and when to ignore them.

Ivan Bolonikhin · 8 November 2026
Definition

What is MRR at risk, and how do you calculate it?

Recurring revenue from subscriptions that are failing, set to cancel, or have a failing last invoice. A snapshot, not a forecast.

Ivan Bolonikhin · 8 November 2026
Checklist

What can a Stripe export not tell you about churn?

Saves made outside Stripe, reasons, product use, other billing systems and currencies. The limits that keep a leak number honest.

Ivan Bolonikhin · 8 November 2026
Comparison

DIY spreadsheet, one-time report or retention software: how to choose

A category comparison with costs and limits, the size at which a spreadsheet is the right call, and questions to ask any provider.

Ivan Bolonikhin · 8 November 2026
Cost and comparison

How a pay-on-uplift retention pilot works

$1,500 setup plus 20% of measured net uplift against a 20% holdout. What net means, the safeguards and what could go wrong.

Ivan Bolonikhin · 8 November 2026