Features

Analytics Definitions

What every number on your analytics dashboard means, and why it may differ from Stripe.

Updated Aug 29, 2026

Analytics Definitions

Your analytics dashboard answers one question at a time: how much recurring revenue you have, who is joining and leaving, and what people actually do once they are inside. This page defines every metric it shows.

Why your numbers may differ from Stripe

Analytics and Stripe are both correct — they are measuring different things.

  • Gross, not net. Every revenue figure here is what members were charged, before Stripe’s processing fee. A Stripe payout is what lands in your bank after fees, so it will always be smaller.
  • Tax is included in what you see. If you charge tax, the invoice total includes it. Stripe reports it separately.
  • One currency. Analytics reports in your account currency. If a member paid in another currency, Stripe converted it and the two systems will round differently.
  • Timing follows your timezone. A payment at 11pm on the 31st belongs to that month in your account timezone, which may be the next month in UTC — the basis Stripe reports use.
  • MRR is a projection. It normalises every active subscription to a monthly figure: annual plans divided by twelve, discounts applied. Nobody was charged that amount this month; it is the run rate.
  • Refunds move the day they happen, not the day of the original charge, so a refunded month does not retroactively shrink.

How activity is counted

A member counts as active on a day if they opened your member site that day. Each member is counted once per day, and the check runs at most once an hour, so refreshing a page all afternoon is still one visit. Weekly and monthly active counts are unique members across the trailing 7 and 30 days — not the sum of daily numbers.

Owners are recorded but never counted. Your own visits, enrollments and posts do not inflate your numbers.

What history is available

Analytics started recording the day it was installed on your account. When you first opened the dashboard we backfilled what your existing data could prove:

  • Joins, memberships, plan changes, cancellations and purchases, from your member and membership records.
  • Subscription invoices for the last 12 months, from Stripe.
  • Course enrollments, completions, posts and comments, from their timestamps.

Two things could not be reconstructed: daily visit history — only each member’s most recent visit is stored, so the active-member chart is honestly empty before install — and reactions on older posts, which are not dated per account.

If a chart looks wrong after a refund or plan change, use Recalculate a month at the bottom of the analytics page. It rebuilds that month’s totals from the event log.

Small accounts

Rates need a denominator worth dividing by. Under five paid members, churn rate and ARPU are hidden rather than shown as numbers that swing wildly when one person leaves.

Every metric

MRR
Monthly recurring revenue: every active paid membership priced per month.
Annual plans are divided by 12; discounts are applied. Free plans, one-off products and split-pay plans are excluded. This is gross — before Stripe fees, tax and refunds — so it will not match a Stripe payout.
ARR
MRR × 12 — the run rate if nothing changed.
A projection, not money collected.
Paid members
Members with at least one active, trialing or past-due paid membership.
A member on two paid plans counts once.
New members
Members who joined during the selected range, free or paid.
Churned
Members whose last paid membership ended during the range.
Cancelling at period end counts on the day access actually ends, not the day it was scheduled.
Cash collected
Paid invoices plus product sales, minus refunds, in the range.
Gross: before Stripe fees and tax. Timing follows the payment date in your account timezone, so a month boundary can differ from a Stripe report by a day.
Active (30d)
Unique members who opened the member site in the last 30 days.
Counted once per member per day, at most one check per hour. History before analytics was installed is not available.
ARPU
MRR divided by paid members.
Hidden under 5 paid members, where one member would swing it wildly.
Revenue churn
MRR lost to cancellations and downgrades, over MRR at the start of the range.
Hidden under 5 paid members.
Member churn
Paid members lost in a month over paid members at the start of that month.
Trial conversion
Trials that turned into a paid invoice, over trials started in the range.
MRR movement
How MRR changed: new, expansion, reactivation, contraction and churn.
Each member contributes one movement per change; the five steps always sum to the net change.
Subscription revenue
Membership invoices paid in the period, gross.
Product revenue
One-off and split-pay product sales, gross.
Refunds
Amount refunded in the period, across memberships and products.
Invoices paid
Membership invoices Stripe marked paid.
Invoices failed
Membership payments that failed — the usual start of involuntary churn.
Free → paid
Free members who started a paid membership.
DAU
Unique members who opened the member site that day.
WAU
Unique members seen in the trailing 7 days.
MAU
Unique members seen in the trailing 30 days.
Stickiness
DAU ÷ MAU — how much of your monthly audience shows up daily.
Participation
Share of members who posted, commented or reacted in the range.
Lifetime value
Everything a member has paid you, minus refunds, gross.
Completion rate
Enrollments that reached the end of the course.
Stalled
Members who started a course, made no progress for 21 days, and have not finished.

Cancellation reasons

When a member cancels through Stripe they can pick a reason. These are the labels we show for Stripe's values:

  • Customer service customer_service
  • Quality low_quality
  • Missing features missing_features
  • Other other
  • Switched service switched_service
  • Too complex too_complex
  • Too expensive too_expensive
  • Not using it unused
  • Payment failed payment_failed
  • Payment disputed payment_disputed
  • Requested by member cancellation_requested