Issue 14
What's your churn rate? (WooCommerce won't tell you)
WooCommerce tells you who is subscribed today and nothing about how the business is trending. Churn and MRR both need history — exactly what a live status field destroys the moment someone cancels. Why counting by activity window beats counting by status, and the reporting plugin I built to do it.
Start recording monthly subscription snapshots and you get a historically accurate view of growth, churn and MRR — instead of a headcount that only ever tells you about today.
Last issue was about the map on your contact page. This one is for anyone running subscriptions on WooCommerce, and it starts with a question most owners can't answer quickly: what's your monthly churn rate?
Not how many subscribers you have. That's a headcount, and it tells you almost nothing on its own. Churn is the percentage of subscribers who leave each month, and it's the number that decides whether the business compounds or leaks. At 3% a month you're building something. At 10% you're refilling a bucket with a hole in it, and no amount of new-customer acquisition fixes that — it just makes the hole busier.
WooCommerce Subscriptions won't tell you. It's an operational system: it knows who is active now, when they renew, and what they pay. It's not a reporting system, and it has no concept of what last April looked like.
The trap: counting by current status
This is the mistake that quietly ruins subscription reporting, including most of the exports people build by hand.
If you count subscriptions by their current status, then someone who was happily subscribed all of last spring and cancelled in November disappears from last spring too. Your history rewrites itself every time somebody leaves — which means your past always looks worse than it was, and your churn always looks better than it is.
Two rules fix it:
- Count by activity window, not by status. A subscription that was active in March counts for March, whatever happened to it since.
- Snapshot closed months immutably. Once a month ends, record it and never recompute it. History stops moving, and reports load instantly instead of grinding through every subscription on every page view.
The second one matters more than it sounds, because you cannot recover this retrospectively. If you start snapshotting today, you have this month. If you start next year, you've lost a year of trend data that no amount of clever querying gets back.
This week's fix
I built Woo Subscription Snapshot to be the reporting layer WooCommerce doesn't ship — £29, one-time.
- Growth, churn and MRR per month: new subscriptions, cancellations, net change, churn rate % and estimated MRR — a business dashboard, not a headcount.
- Trend charts for subscriptions and MRR, self-contained with no external scripts loaded, plus month-over-month deltas in the detail table.
- Immutable monthly snapshots so history stays accurate even as subscriptions are later cancelled — and reports load instantly.
- Scheduled email reports, weekly or monthly, to multiple recipients, with an HTML summary and the full CSV attached.
- REST API and WP-CLI (wp wss report), both capability-gated, for pulling into Google Sheets or a BI tool.
- Secure by design: admin-only, CSRF-protected actions, formula-injection-safe CSV, HPOS compatible.
MRR is estimated from each subscription's recurring total, normalised to monthly across daily, weekly, monthly and yearly billing, in your store currency. If you run WooCommerce Memberships you can add a column for a plan; if you don't, it's simply hidden. Needs WordPress 5.8+, PHP 7.2+ and an active WooCommerce Subscriptions. 14-day no-questions refund.
What to do with the number once you have it
Two things, immediately. Compare this month's churn to the same month last year rather than to last month, because subscription businesses are seasonal and month-to-month comparisons mostly measure the calendar. And look at when people cancel: if most cancellations cluster in the first sixty days, you have an onboarding problem, not a product problem — and that's a far cheaper thing to fix.
This issue lives in the archive, organised by topic. And the plugins page shows the repeatable workflows alongside the service work.
How we can work together
Reply with your current subscriber count and roughly how many cancel a month, and I'll work out your churn rate and what it means for your next twelve months.
How we can work together
If you want a second pair of eyes on your WordPress stack, use the archive as a starting point, then take the next step that fits your stage.
Reply with your current subscriber count and roughly how many cancel a month, and I'll work out your churn rate and what it means for your next twelve months.
