How we score cancellation difficulty
The Cancellation Difficulty Index scores subscription services from 0 to 100 on how hard they make it to leave. Higher is harder.
Every input comes from a public source: the company’s own help pages, its published terms of service, public review corpora, Better Business Bureau records, and state auto-renewal statutes. We publish the weights, the raw inputs per company, and how confident we are in each score.
You should be able to reproduce any number on this site without asking us for anything. That is the point.
What goes into a score
Ten components, grouped into four themes. Weights sum to 100.
Access barriers (40 points)
How hard it is to reach the cancel button at all.
| Component | Weight | Source |
|---|---|---|
| No fully-online cancellation path | 18 | Company help documentation |
| Phone or chat required to cancel | 12 | Company help documentation |
| Steps from homepage to cancellation | 10 | Manual count, performed logged out |
A company that requires certified mail or an in-person visit scores the full 18 points. One that requires a phone call scores 12. One where you can cancel in two clicks scores zero.
Contract terms (30 points)
What the company reserves the right to do once you try to leave, and what leaving costs.
| Component | Weight | Source |
|---|---|---|
| Advance notice required before renewal | 10 | Published Terms of Service |
| Fee charged for cancelling | 10 | Published Terms of Service or cancellation policy |
| Refund policy on mid-cycle cancellation | 6 | Published Terms of Service |
| Continues billing through the paid period | 4 | Published Terms of Service |
A 60-day notice requirement scores the full 10 points. No notice requirement scores zero.
A cancellation fee that applies to every subscriber scores the full 10 points. One that applies only to certain plans — a promotional tier with a commitment period, say — scores 3.5, because it is real but reaches a minority of subscribers. No fee scores zero. Companies commonly disclose that a fee exists without publishing the amount, so we score whether it applies rather than how large it is.
Reading the fee clause in isolation is the trap here. “An early cancellation fee may apply” means something very different when the sentence before it says most plans have no fee at all. We grade the clause in its context, not on its own.
Consumer signal (20 points)
What customers actually report, at volume.
| Component | Weight | Source |
|---|---|---|
| Share of reviews citing billing or cancellation | 12 | App Store and Google Play, keyword-filtered |
| Complaint volume relative to peers | 8 | Better Business Bureau, 3-year window |
Both are ranked by percentile against every other company in the index rather than scored against a fixed threshold. A raw complaint count means nothing without knowing whether it is high or low for the category. Percentile ranking also keeps the index meaningful as it grows.
Compliance gaps (10 points)
Where the cancellation experience appears to fall short of state auto-renewal law.
| Component | Weight | Source |
|---|---|---|
| State auto-renewal law compliance gaps | 10 | Signup flow and ToS, scored against statute |
We check four things drawn from California’s automatic renewal law (Business and Professions Code section 17600 and following), which is the strictest widely-applicable standard in the United States: clear pre-purchase disclosure of auto-renewal terms, separate affirmative consent to auto-renew, a cancellation mechanism at least as easy as the signup mechanism, and advance notice before a renewal charge. Each gap is worth 2.5 points.
This is not a legal finding. We are describing what we observed against the plain text of the statute. Only a court decides whether a company has broken the law. If we are wrong about your company, tell us and we will correct it.
Confidence
Every score carries a confidence number between 0 and 1. It is the share of the 100 available weight points for which we found real evidence.
We do not fill gaps with assumptions. If a company’s terms of service is silent on refunds, that component is excluded from both the numerator and the denominator rather than being scored as neutral or as the category average. The score is normalised across the components we could actually evidence.
A score of 71 at 0.55 confidence and a score of 71 at 0.95 confidence are different claims, and we show you which one you are looking at.
We do not publish a company page below 0.5 confidence. A thin page that is sourced is worth more than a thick one that is guessed.
Grades
| Score | Grade |
|---|---|
| 0-19 | Easy |
| 20-39 | Minor friction |
| 40-59 | Moderate |
| 60-79 | Hard |
| 80-100 | Severe |
What we do not measure
We want to be direct about the limits, because they are real.
We do not currently time cancellations at scale. Timing data requires an active paid subscription with every company in the index, which we do not have. Where we publish a duration it comes from either a free-trial cancellation we performed ourselves or a reader report, and it is labelled as such.
We do not know what retention offer you personally will get. Offers vary by tenure, plan, region, and which agent picks up. Where we describe an offer, it is one that was documented and labelled with its source.
Review keyword matching is imperfect. A review saying “I cancelled and it was easy” matches the same keywords as one saying “I cannot cancel.” We filter for negative sentiment alongside the keyword, and we sample the low-star distribution separately, but this component is a signal rather than a measurement. It is weighted accordingly.
Companies without a consumer app are scored on fewer inputs. Gyms, internet providers, and credit bureaus often have no meaningful app review corpus. Their confidence scores are lower and we say so on the page.
How this changes over time
We are instrumenting our own cancellation product to record step counts, elapsed time, retention offers, and whether a charge stops after confirmation. As that dataset grows we will add it as a fifth theme and version the index accordingly.
We will never retroactively rewrite an old version. Every version stays reproducible from the inputs published at the time.
2026.3. Re-graded a conditional cancellation fee from 0.5 to 0.35 of the component, so a fee reaching a minority of plans no longer scores half of one that reaches everybody. Prompted by review: the Fubo clause is verbatim but is preceded by “Most Fubo plans don’t include cancellation fees,” which narrows it sharply. 2026.2 was superseded before anything published under it.
2026.2. Added Fee charged for cancelling at 10 points. The index had no way to express a financial penalty for leaving: a company could attach a termination fee and the score would not move. The 10 points came out of the two percentile-ranked complaint components, which dropped from 18 and 12 to 12 and 8. That trades some corpus-relative signal for a fact quotable from a primary document, and it lowers the share of the index that cannot be scored until the corpus is large.
2026.1. First published version. Nine components.
Corrections
If a number on this site is wrong, we want to fix it faster than you want us to.
Email corrections@oncancel.com with the company, the component, and what the correct value is. Include a link to the source. We review every one, we log the change on the company page with the date, and we will tell you what we changed even if we disagree with you about why.
If you are a company on this index and your cancellation flow has improved, send us the link. We will re-score you.
Reuse
The index is published under CC BY 4.0. Use it, chart it, quote it, build on it. Attribute it to OnCancel and link back to this page so people can check the method.
Machine-readable: difficulty-index.json and difficulty-index.csv.
Version 2026.3. Last updated 3 August 2026. Scored companies: 7. Mean confidence: 0.71.