Skip to content
Sad Subscription Analytics
Menu
Subscription analytics for membership sites

See your real recurring revenue. Finally inside WordPress.

Sad Subscription Analytics reads your Stripe account with a read-only key and shows monthly recurring revenue, churn, lifetime value and retention in wp-admin. It works with anything that bills through Stripe, and your customer data stays in your own WordPress database.

Download the free plugin from sadanalytics.com/download. It is coming to WordPress.org.
The SadAnalytics dashboard inside WordPress: monthly recurring revenue, subscriptions, average lifetime value, customers, at-risk MRR, 90-day retention and net revenue retention, with changes against last month. MRR Churn

Sound familiar?

Your membership plugin shows a members list. That is not a revenue report.

SadAnalytics shows your real monthly recurring revenue, with annual plans spread into a monthly figure, and how it moved since last month.

The monthly recurring revenue card: the headline figure, the number of subscriptions behind it, the change against last month, and a sparkline.
Your real MRR, with annual plans spread monthly and detected subscriptions counted.

Stripe's home page shows one volume figure for subscriptions and one-off sales together, and its MRR charts sit in a separate Billing section, away from your WordPress members.

SadAnalytics separates recurring revenue from one-off sales and refunds, shows what changed (new, expansion, contraction, churn, reactivation), and puts it in wp-admin, matched to your WordPress users.

Four months of the Revenue report's movement table: new, reactivation, expansion, contraction and churn, then net new MRR and ending MRR for each month.
What changed, and why: new, expansion, contraction, churn, reactivation.

Someone who had been paying for eight months cancelled last Tuesday, and you found out by accident.

SadAnalytics shows cancellations and churn for any period you pick, retention by signup cohort, and each customer's subscriptions and recent payments in one drawer.

The cohort retention heatmap: each monthly group of new members and the share still paying at one, three, six and twelve months.
Each signup month, followed for a year.

The reports your membership plugin never gave you.

Each one answers a question you already ask yourself.

The monthly recurring revenue card: the headline figure, the number of subscriptions behind it, the change against last month, and a sparkline.
How much of my revenue is actually recurring?
The MRR over time chart on the dashboard: monthly recurring revenue for each of the last twelve months.
Is my recurring revenue growing?
The Cohorts page cards: 90-day retention, average tenure, lifetime value.
Are people sticking around?
Payment Recovery summary: recovery rate, recovered revenue, not yet recovered.
Which payments failed, and did the money come back?
The customer drawer: the linked WordPress user, referral source, lifetime value, active subscriptions and the last 20 payments.
Who is this customer, and which WordPress user are they?
The weekly digest email: MRR and its change against last month, then this week's new subscribers, cancellations and net change.
Can I see my numbers without logging in?

Your revenue, sliced the way you think about it.

Two more questions the dashboard answers at a glance.

A pie of MRR by billing period, such as monthly and annual plans.
Monthly or annual: what is the mix?
A pie of MRR by referral source.
Which sources bring the most revenue?

Revenue hiding in plain charges.

WooCommerce Subscriptions on the standard Stripe gateway does not create Stripe subscriptions, and neither does a Payment Link that charges a one-time price. Stripe sees a series of ordinary charges, so a tool that counts only Stripe subscriptions sees no recurring revenue there at all.

SadAnalytics looks at the charges themselves, finds the pattern, and counts that revenue as a detected subscription, with its own badge so you always know where a number came from.

One honest limit: a brand-new customer is detected after their third charge, because two payments are not yet a pattern.

A detected subscription in the customer drawer: its Active and Detected badges, the amount and interval SadAnalytics found, its start date, and buttons to confirm it as a subscription or mark it as one-time. Found revenue
Recurring revenue SadAnalytics found in plain charges.

See the money that is coming, not just what landed.

Upcoming Payments, in SadAnalytics Pro, lists every renewal due in the next 30 days (or 7, 90, or dates you pick) and every one already overdue, with the total you can expect. You mark bank and manual renewals paid on the Manual Payments page.

It is the chase list for revenue that does not collect itself.

The Upcoming Payments report: each renewal with its due date, customer, plan, source, how it is collected and the expected amount, and the total expected. SadAnalytics Pro
What is due and what is overdue.

Free, and Pro.

Free: complete analytics for your Stripe revenue. SadAnalytics Pro: bring in the rest of your revenue, get your data out, chase what is due, and choose who can see SadAnalytics.

Free core

  • Dashboard with comparisons and history
  • MRR trend, movement and cohorts
  • Revenue, Reactivations, Payment Recovery and Trial Conversions reports
  • Customers, Subscriptions and Transactions with filters and a customer drawer
  • Detected subscriptions
  • Weekly email digest
  • Multi-currency, exempted accounts, target MRR, referral source
  • GDPR export and erase, diagnostics
See every feature

SadAnalytics Pro

  • Paid Memberships Pro connector
  • WooCommerce Subscriptions connector, next in line
  • Manual payments, with mark-paid and CSV import
  • CSV export on every list
  • Upcoming Payments
  • Access control: who can see SadAnalytics, with view-only access

$149 a year, or $14.99 a month, for one site.

See pricing

Set up in three steps, no developer needed.

  1. 1

    Install the plugin

    Download the free plugin, then go to Plugins, Add New Plugin, Upload Plugin, choose the ZIP, click Install Now, then Activate Plugin.

  2. 2

    Paste a read-only Stripe key

    Create a restricted key in Stripe with read access to customers, subscriptions, charges, invoices and prices (add products too if you want plan names), and paste it into the setup wizard.

    The setup wizard step that asks for the Stripe key.
  3. 3

    Run the first sync

    SadAnalytics pulls your history in the background and rebuilds every subscription. After that it syncs on the schedule you choose.

    The sync status pill showing a completed sync with its time.

Questions worth asking.

Which membership plugins does SadAnalytics work with?

Anything that bills through Stripe: Paid Memberships Pro, WooCommerce Subscriptions on the Stripe gateway, MemberPress, WP Simple Pay, Restrict Content Pro, Stripe Payment Links. Revenue that never touches Stripe, such as bank transfers or Paid Memberships Pro's pay-by-check orders, comes in through SadAnalytics Pro.

Is my Stripe data safe?

SadAnalytics only ever reads from Stripe. It never moves money or changes anything there, and with a restricted read-only key Stripe enforces that too. The copy it keeps lives in your own WordPress database on your own server.

Do I need a developer to install this?

No. You install it like any other plugin, paste a key and run the sync. The setup wizard tells you the first sync "will take 2–10 minutes depending on volume", and it keeps going in the background if you close the wizard.

What does SadAnalytics Pro add?

It adds a Paid Memberships Pro connector for revenue that never touches Stripe, such as pay-by-check and no-gateway members, manual payments with CSV import and mark-paid, CSV export on every list, Upcoming Payments, and control over who can see SadAnalytics, including view-only access. A WooCommerce Subscriptions connector is next in line. Prices are on the pricing page.

What happens when a Pro license expires?

When a license expires, SadAnalytics Pro keeps working. Your numbers stay live and the sync keeps running. Updates and support stop, and the Pro actions that add, change or export data (CSV export, adding, editing, cancelling or un-cancelling a manual record, CSV import, Mark paid, Access changes) stay locked, with a "renew to unlock" message, until you renew. Deleting a manual record still works.

Sadik Bhimani.

Built by a WordPress developer who got tired of saying "I'll check Stripe and get back to you."

I have spent fifteen years building WordPress membership sites for clients. Every one of them eventually asked the same question: how much money is this site actually making each month? I could never answer it without an afternoon in spreadsheets.

SadAnalytics is what I wish I had on day one. It started on a client's membership business whose revenue was split between Stripe and bank transfers, and it now answers that question every morning.

Sadik Bhimani · Founder, Sad Subscription Analytics

More about SadAnalytics

See your real recurring revenue.

Download the free plugin from sadanalytics.com/download. It is coming to WordPress.org. Get SadAnalytics Pro and bring your whole subscription revenue into WordPress, in one dashboard.

Get SadAnalytics Pro