The 30-minute monthly churn postmortem for WooCommerce
Once a month, spend 30 minutes on churn: pull five numbers (churn rate, the voluntary/involuntary split, save rate, top cancel reason, MRR lost), read ten exit surveys verbatim, and pick exactly one experiment for the next month. Log all of it in one table. That is the whole ritual. Stores that do this beat stores with better dashboards and no ritual, because churn work fails from inattention, not from missing data.
Most WooCommerce stores have the data. WooCommerce Subscriptions logs every cancellation, every failed renewal, every status change. What they lack is a recurring moment where someone actually looks. This post is the operating manual for that moment: what to pull, in what order, and the table template to keep it honest month over month.
Why a ritual beats a dashboard
A dashboard answers questions; a ritual forces you to ask them. Churn moves slowly enough that no single day demands attention, which is exactly why quarters slip by without anyone reading a cancellation reason.
The numbers justify the calendar invite. Churnkey's State of Retention 2025 report, built on roughly 3 million cancellation sessions, puts overall monthly churn for its customer base between 8.55% and 9.98% through 2024 - voluntary churn hovering around 7% monthly and involuntary around 1%. At those rates a store quietly replaces most of its subscriber base every year. A monthly half hour is the minimum viable attention for a leak that size.
The format below is deliberately rigid. Rigid formats survive busy months. "Review churn when we get time" does not.
Minute 0-15: pull the five numbers
Pull the same five numbers every month, in the same order, before reading anything qualitative. Numbers first, stories second - otherwise the one angry email you remember will color how you read the data.
- Subscriber churn rate. Subscribers lost in the month divided by subscribers at the start of it. Pick one formula and never change it; a consistent slightly-wrong number beats an accurate number with a moving definition.
- Voluntary vs involuntary split. How many losses were cancel clicks, and how many were failed payments that ran out of retries. Churnkey's involuntary churn benchmarks (25 million subscriptions, 5.4 million failed payments) put involuntary at 24% of total churn for B2C businesses and 16% for B2B; Recurly's 2025 failed-payment research estimates 20-40% across subscription businesses. If your split is way outside that band, that is finding number one.
- Save rate. Saves divided by cancel attempts that entered your save flow. If you have no save flow, record "n/a" - writing "n/a" twelve times is its own kind of finding.
- Top cancel reason and its share. One reason, one percentage. For calibration: in Churnkey's 2024 data, budget limitations led at 32.97% of cancellations with infrequent usage right behind at 30.6% - price and disuse are nearly two-thirds of all cancels.
- MRR lost to churn. The dollar figure. Subscriber counts hide tier mix; five cheap cancels can matter less than one agency-plan cancel, and the dollar column is where you notice.
Where to get them: the WooCommerce Subscriptions reports screen and order list cover 1, 2, and 5. Save rate and reason shares need whatever runs your cancel flow. The ChurnStop dashboard happens to show all five on one screen, but a spreadsheet and fifteen patient minutes in wp-admin work fine - the ritual matters more than the tooling.
Small-store caveat: under a few hundred subscribers, monthly percentages swing hard on tiny absolute numbers. Read churn metrics for stores under $100k before you panic over a two-point jump that is actually three people.
Minute 15-25: read ten exit surveys, verbatim
Open the ten most recent cancellation surveys and read the free-text answers word for word. Not a sentiment summary, not a tag cloud - the actual sentences customers typed.
Ten is deliberate. It is small enough to finish inside the slot and large enough to spot a repeated phrase. You are not doing statistics here; the reason buckets already did that in number four. You are looking for the thing the buckets cannot tell you: the "too expensive" that is actually "I got charged during a pause", the "not using it" that is actually "the login never worked on my phone". Reason codes route offers; verbatims find bugs.
No formal exit survey? Use what you have. WooCommerce Subscriptions records who cancelled and when; pair the ten most recent cancellations with whatever those customers touched last - support tickets, order notes, refund requests, the occasional reply to a renewal email. It is slower and patchier than a survey field, but ten cancellations with some context still beat a spreadsheet with none. If you find yourself doing this reconstruction three months running, that is the strongest argument for putting a one-question survey on the cancel button.
Write down at most two direct quotes in the log. If a phrase shows up twice in ten surveys, it goes in the findings column no matter what the aggregate numbers say. For the full method - including what to do when most surveys are blank - see how to read exit surveys; the postmortem only needs this ten-verbatim slice of it.
Minute 25-30: pick one experiment
Close by choosing exactly one change to make before the next postmortem. One - not a roadmap. The discipline of picking a single experiment is what turns the meeting from reporting into operating.
The experiment should attack whichever number looked worst relative to benchmark. Some examples with public support behind them:
- Involuntary share high: turn on the WooCommerce Subscriptions failed-payment retry system - it ships off by default, and enabling it applies five retry rules over about seven days. Speed matters: Recurly's payment-recovery research finds 90% of recovered transactions happen within the first 10 days of the failure. Churnkey's 2024 data shows 70% of detected involuntary churn being recovered, so this is the highest-leverage switch most stores have.
- Save rate low, price-heavy reasons: test a discount offer against a pause. In Churnkey's 2024 sessions, discounts were the most accepted retention offer at 53.9%, versus 19.2% for pauses and 6.7% for plan changes - but acceptance is not the same as the right offer per reason, so route it (see pause vs discount).
- A verbatim repeated twice: fix the thing it names. A bug fix is a retention experiment.
Log the experiment with a number it is supposed to move and the date you will check it: next month's postmortem, same table.
Once a quarter: add the payments check
Every third postmortem, add ten minutes for the involuntary side. Pull three extra numbers: renewal payment failure rate, recovery rate (failed renewals that eventually got paid), and your top decline reason if the gateway exposes it.
Benchmark context for that recovery rate: Recurly's decline-reason research across 1,300+ subscription businesses found the three most common decline reasons - "Declined", "Temporary Hold", and "Insufficient Funds" - all had recovery rates over 45%, with most recovery happening 2 to 12 days after the decline. If your recovery rate sits far below that, the cause is usually mechanical rather than strategic: retries not enabled, the retry email disabled, or a gateway that controls the billing schedule itself and so bypasses the retry system entirely. Settings problems, settings fixes.
This check is quarterly rather than monthly on purpose. Payment-failure patterns move slowly, and on a store with a few hundred renewals a month, the monthly sample is mostly noise. A quarter of volume gives the recovery rate enough denominators to mean something.
The table template
One row per month, one tab per year. Copy this:
| Field | Entry |
|---|---|
| Month | 2026-09 |
| Subscriber churn % | 6.1% (was 5.4%) |
| Voluntary / involuntary | 71% / 29% |
| Save rate | 24% |
| Top reason (share) | Too expensive (34%) |
| MRR lost | $1,240 |
| Verbatim 1 | "price went up twice this year" |
| Verbatim 2 | "kept forgetting to skip the box" |
| Finding | Involuntary share above the 24% B2C benchmark |
| Experiment | Enable payment retries + retry email |
| Metric to move | Involuntary share below 20% by November |
| Last month's experiment result | Pause offer live; 9 accepts, 31 shown |
The last row is the one people skip and the one that makes the ritual compound. Every postmortem opens by grading the previous experiment before choosing the next. No grade, no new experiment - otherwise you accumulate half-finished changes and attribute movements to the wrong one.
What good looks like after six months
Expect the first two postmortems to produce embarrassing findings, and expect that to be the point. Typical sequence we hear about: month one discovers retries were off (the settings-level leaks are common enough that we wrote a separate audit checklist); month two discovers the exit survey had six required questions; month three is the first month the same five numbers exist twice and a real trend line appears.
By month six you should have: a churn rate you trust, a voluntary/involuntary split you can compare to the 20-40% involuntary band from Recurly's research, a save flow whose rate you actually know, and four to six graded experiments. That stack of graded experiments is the asset. Public benchmarks tell you where you stand; only your own experiment log tells you what works on your store.
Honesty requirement: log the experiments that failed, in the same table, with the same prominence. A winback subject line that did nothing is information. Deleting it from the log means someone re-runs it next year.
The checklist
Calendar invite, first Monday of the month, 30 minutes, whoever owns revenue plus whoever answers support email:
- Fill the five number rows before discussing anything (15 min).
- Read ten verbatims aloud; log at most two quotes (10 min).
- Grade last month's experiment: moved its metric, didn't, or too early to tell.
- Pick one experiment, one target metric, one check-in date (5 min).
- Close the doc. No action items other than the experiment.
If a month gets busy and something must be cut, cut the discussion, never the numbers. Five numbers in a row with no meeting still builds the trend line. A meeting with no numbers builds folklore.
