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