Skip to content
Sad Subscription Analytics
Menu

Dashboard, every card

The Dashboard is the first page SSA opens after activation. It reads pre-calculated figures written at the end of each sync, plus a few live bands driven by a shared Period and Compare to control.

Header: sync status

Every SSA page opens with the same header: the brand mark, the product name, the version number, and a Sync status pill. The pill is server-rendered with a state class, then JavaScript replaces its text on load.

Pill stateWhat it reads
Never syncedNo sync job has ever run.
Syncing…A sync is currently fetching data.
Processing…Data fetched; the post-sync stages (detect, link, metrics, cohorts, history, match) are running.
Synced The last sync finished, shown in the site timezone, e.g. "May 7 · 3:42 PM".
Last sync failedThe last sync ended in an error.
Sync cancelledThe last sync was cancelled.
The SSA dashboard inside WordPress: monthly recurring revenue, subscriptions, customers, lifetime value, at-risk MRR and 90-day retention, each with a comparison to last month.
The dashboard header with the sync pill in the Synced state.

Where the business stands

The hero band is titled Where the business stands, tagged "As of today · Live". Its figures are read once per page load from the latest stored metrics rows, so they never refetch; only the delta captions and sparklines change with the Compare to picker.

CardWhat it showsHow it is computed
Monthly recurring revenue (MRR)"Monthly recurring revenue: the predictable revenue your active subscriptions bill each month. One-off and lifetime payments are not included."Sum of monthly_amount over subscriptions with status active or past due, plus trialing subscriptions whose current period is paid. Converted to the majority currency; a currency with no exchange rate is excluded and named in a notice. Links to the Subscriptions report filtered to status=current.
Subscriptions"Subscriptions that are currently active, trialing, or past due. Paused and cancelled subscriptions are excluded."Count of subscription rows with status active, trialing or past due, summed across active providers. Links to Subscriptions (status=current).
Avg lifetime value (LTV)"Average lifetime value: the total revenue a typical customer brings in over their whole relationship with you." Shown as an em dash with "Needs more closed history." when it cannot be computed yet.Per-provider ARPU divided by the trailing-30-day all-source churn rate, combined across providers as a weighted average. ARPU = MRR divided by paying subscribers.
Customers"Everyone who has ever paid you at least once, whatever their current status."The published customer_count metric: customers of active providers with at least one subscription or one payment row. Links to the Customers report (all time).
At-risk MRR"Monthly recurring revenue from subscriptions whose payment has failed and has not yet been recovered."Sum of monthly_amount over subscriptions with status past due or unpaid, converted to the majority currency. Links to Subscriptions filtered to status=past_due,unpaid. Its delta is favorable when the figure goes down.
90-day retention"Of the customers who signed up, the share still subscribed 90 days later. Comes from the cohort engine, so the period control does not change it."Pooled retained-over-starting subscribers for cohorts that have reached month 3, pooled newest-first until at least 3 mature cohorts and 20 subscribers are reached (up to 24 months back). Shown as an em dash with a reason ("Fewer than 3 measurable cohorts yet." or "Sample too small…") when not yet available.
Net revenue retention (live)"Live net revenue retention: last month's revenue base re-measured today (renewals kept, churn removed, upgrades/downgrades applied), divided by that base's starting MRR. Excludes brand-new customers, so it isolates retention of existing revenue."MRR that contributed at the end of last month, re-measured now, divided by last month-end MRR of that same base. Shown as an em dash with "Needs a prior month of history." until a prior month exists.
Annual run rate (ARR)A footer line, not a card: "Annual run rate · 12 × MRR".The stored ARR metric (MRR × 12), or computed inline when the row is missing. Links to the Revenue and MRR report.

When two or more active providers each contribute MRR, a per-source list appears under the target row (source name, subscription count, MRR), sorted MRR descending. On a Stripe-only free install this list never renders.

The monthly recurring revenue card: the headline figure, the number of subscriptions behind it, the change against last month, and a sparkline.
The MRR card: headline figure, subscription count, change against last month, and a sparkline.
The subscriptions and customers cards with their change against last month.
Subscriptions and Customers cards.
The average lifetime value and at-risk MRR cards.
Avg lifetime value and At-risk MRR cards.
The 90-day retention and net revenue retention cards.
90-day retention and Net revenue retention (live) cards.

The "Compare to" picker

The hero comparison is always month-granular: the current calendar month against a baseline month. It only changes the delta captions and sparklines under each hero card; the live figures themselves never refetch.

FieldWhat it doesDefault
Last monthCompares the current month to the immediately preceding calendar month. The default choice.
On screen: "Last month"
Same month last yearCompares the current month to the same calendar month one year earlier.
On screen: "Same month last year"
Pick a monthOpens a "Compare to month" month input; choosing a month commits immediately, no Apply button, and relabels the picker to that month.
On screen: "Pick a month"

Each delta caption is suffixed "vs last month", "vs same month last year", or "vs " for a picked month. An unrecognized basis falls back to last month.

The compare-to menu open, offering last month, the same month last year, and a month of your choice.
The Compare to menu open, offering last month, the same month last year, and a month of your choice.

Set your MRR target

Under the MRR sparkline, a text button reads Set a target when none is set, or shows the gap to an existing target. Both open the Set your MRR target modal.

FieldWhat it doesDefault
Monthly targetThe MRR figure you are aiming for, in major currency units.
On screen: "0.00"
Digits with optional comma thousands separators and an optional decimal point, e.g. 1500 or 1,500.00. Blank or 0 clears the target.
Prefilled with the current target, or blank

The gap caption reads "You are at your target.", " above your target." (favorable), or " below your target." A target of 0 or less renders nothing. Saving posts to the server and the page reloads on success; a malformed amount shows "Enter an amount as digits with an optional decimal point, for example 1500 or 1,500.00." The same target can also be set from Settings > General or the setup wizard.

The line under the MRR figure showing how far above or below the monthly target the business is.
The line under the MRR figure showing how far above or below the monthly target the business is.

MRR by billing period and where customers come from

Two pies sit directly under the hero band. Each is pre-computed and stored at every metrics run; the page never computes them live. A pie with nothing to chart still draws a light gray circle rather than disappearing.

PieWhat it showsHow it is computed
MRR by billing periodA toggle between MRR and Count, showing what share of MRR (or how many subscriptions) bill on each cadence.Active-status subscriptions (active, trialing, past due) grouped by billing cadence and labeled Monthly, Quarterly, Half-yearly, Annual, or "every N day(s)". MRR per bucket follows the same contributing rule as the headline; ordered MRR descending.
Where customers come fromA toggle between MRR and Count, by the referral source tagged on the customer record in the Customers report.Customers tagged with a referral source who hold an active-status subscription. Top 6 sources are kept and the rest merged into "Other". Republished at each metrics run and immediately whenever a referral source is saved.

A caption under the referral pie states how many tagged customers are shown, for example "X of Y customers are tagged and included here."; when nobody is tagged it links "Tag customers in the Customers report." Both pies stay in the free core.

A pie of MRR by billing period: monthly and annual plans.
A pie of MRR by billing period: monthly and annual plans.
A pie of MRR by referral source.
A pie of MRR by referral source.

Period and Compare control (drives What changed and Churn & retention)

Above the "What changed" and "Churn & retention" bands sits one shared control row, labeled Period and Compare to, with the note "Drives the two sections below." This is a separate control from the hero's own Compare to picker.

See Comparison periods for every option and how each is resolved, and Date ranges, grouping, sorting and search for how the Period presets themselves work.

What changed

Head: What changed, tagged "Over a period", with a "View report" link to Revenue and MRR using the same range.

CardWhat it showsHow it is computed
Cash collected"The actual money received in this period (all successful charges minus refunds), including one-off and annual payments. This is cash in the door, not recurring run-rate."Succeeded payments dated in the period, net of refunds, majority currency only. Caption splits new versus returning customers.
New customers"Customers whose first-ever payment landed inside this period."Distinct customers whose first successful payment falls inside the period, all currencies. The only card here with a delta, versus the compare window.
Cancellations"Subscriptions that cancelled in this period, split into voluntary (chose to leave) and involuntary (failed payment)."Subscriptions with cancelled_at inside the period. Involuntary = a failed-payment cancellation reason or a past-due/unpaid event in the 30 days before cancellation; voluntary is the rest.
New Customers MRR"The monthly recurring revenue added by new subscriptions that started in this period. It is a per-month figure and excludes one-off sales, so it is much smaller than new cash collected."The Revenue movement engine's "new" bucket for the period: MRR at start of subscriptions started in the period that are not reactivations.

A row below the cards, labeled MRR movement, breaks the period into Reactivation, Expansion, Contraction and Churn, then "Net new MRR = New Customers MRR + Reactivation + Expansion − Contraction − Churn." Expansion and Contraction come only from recorded plan-change events going forward, so an older change is not attributable.

The MRR movement view: new, expansion, contraction, churned and reactivated revenue for a period.
The MRR movement view: new, expansion, contraction, churned and reactivated revenue for a period.

Churn & retention

Head: Churn & retention, tagged "Over a period", with a "View report" link to the Subscriptions report filtered to status=cancelled.

CardWhat it showsHow it is computed
Voluntary churn"The share of subscribers who actively chose to cancel during the period."Voluntary cancellations in the range, over subscriptions active at the range start.
Involuntary churn"The share of subscribers lost to failed payments during the period."Involuntary cancellations in the range, over the same denominator.
MRR churn"The share of monthly recurring revenue lost to cancellations during the period."monthly_amount of cancelled subscriptions in the range, over the cohort's MRR at the range start, majority currency only.

Every rate is shown to 2 decimals and as an em dash when its denominator is zero. Cancellations that both started and cancelled inside the range are excluded from the numerator, so a rate cannot exceed 100%. The "Compare to" choice never affects this band; it is cached by range only.

Upcoming payments (SSA Pro)

Head: Upcoming payments, tagged "Looking ahead", with its own forward range picker (Next 7 days, Next 30 days, Next 90 days, or custom) and a "View report" link to the Upcoming Payments report.

CardWhat it showsHow it is computed
Expected renewal cash"Money expected from active subscriptions scheduled to renew in the selected window."Sum of the per-renewal charge amount over active, trialing, past-due or paused subscriptions not set to cancel at period end, whose current period ends inside the window.
Renewals due"How many active subscriptions are scheduled to renew in the selected window."Count of the same subscriptions, all currencies.

Trial to paid conversion

Head: Trial → paid conversion, tagged "Last 90 days" (this band has no period control), with a "View conversions" link to the Trial Conversions report.

CardWhat it showsHow it is computed
WordPress signup rate"The share of free WordPress accounts (trial role) that went on to become paying customers."Of WordPress users registered 90 to 30 days ago holding a selected Trial Role, the share matched to a customer with a succeeded payment on or after registration. An em dash when no trial role is selected, the site has over 50,000 users, or fewer than 10 such users exist.
Trial accounts"WordPress users with the trial role who have not become paying customers yet."The denominator behind the signup rate: all matching users, converted or not.
Converted to paid"Trial accounts that have become active, paying customers."The numerator behind the signup rate.
Provider trial rate"The share of native payment-provider trials that converted into paying subscriptions."Across all providers, native trials whose trial end fell in the last 30 days, the share with a succeeded payment after the trial end. An em dash when fewer than 10 trials. Refunded trial payments still count as conversions.
The Trial Conversions summary cards.
The Trial Conversions summary cards.

MRR over time

Head: MRR over time, tagged "Trend", with a "View report" link to Revenue and MRR. This band has its own scope and is not affected by the Period control above it.

The line is a point-in-time 12-month reconstruction of combined MRR across active providers, labeled by month, drawn with a zero-based y-axis and no legend. With fewer than 2 points the chart is hidden and the text "Not enough history yet. The trend fills in as months are synced." shows instead.

The MRR trend chart over twelve months with a comparison period drawn beside it.
The MRR trend chart over twelve months.

Footer: last synced

When the latest sync job is in a terminal state (completed, failed or cancelled) and has a completion time, the footer reads "Last synced · Sync schedule: .", converted to the site timezone. The schedule label is one of "Every 6 hours", "Every 12 hours", "Daily" (default) or "Manual", from the Sync settings tab.