Skip to content

Metric definitions

One written definition per metric. The dashboard tooltips, the Monday brief and the MCP server all use these, so a number means the same thing wherever you read it.

MRR

Active paid subscriptions normalized to a month (annual ÷ 12, weekly × 52 ÷ 12), after discounts, excluding tax, trials and one-time payments. Gross, before Stripe or store fees. Converted to the reporting currency with the ECB reference rate of the day each billing period started.

MRR movements

New, expansion, contraction, churned, reactivated. Net new MRR = new + expansion + reactivated − contraction − churned. Computed per customer, day over day.

Active subscribers

Customers with at least one paid, non-trial subscription.

Trial conversion

Share of trials started in a period that became paid. Trials still running are left out until they end.

Revenue churn

(Churned + contraction MRR) ÷ MRR at the start of the month.

Logo churn

Customers lost ÷ customers at the start of the month.

ARPU

MRR ÷ active paying customers.

LTV (estimate)

ARPU ÷ monthly revenue churn. Always an estimate.

At-risk MRR

MRR on past-due subscriptions. Still counted in MRR until the subscription cancels.

Channel

First match wins: UTM source and medium; then a Google Ads click ID (gclid, gbraid, wbraid) as paid search; then the referrer domain (search engines as organic search, known social domains as social); otherwise direct.

Attributed MRR

MRR of customers linked to a first touch, credited to its page, channel or post. Grouped by the month of first payment, using the MRR at first payment, so past months don't shift when customers upgrade. Customer cards show current MRR. Measured, not modeled.

Attributed share

Attributed new MRR ÷ all new MRR in the period. Lower when visitors block scripts, refuse consent or switch devices.

Revenue per visitor

Attributed first-payment MRR ÷ snippet sessions that landed on the page (or came from the channel) in the same period. Consented visitors only.

Keyword revenue

A page's organic Google attributed MRR split by each query's share of that page's Search Console clicks, month by month. Clicks from anonymized queries stay in a separate hidden-queries bucket. Always modeled, because Google never reveals which query a specific visitor typed.

Keyword opportunities

Queries at average positions 8–20 over the last 28 days of Search Console data, on pages with organic revenue in the last 90 days, ranked by impressions × the page's revenue per click.

Stripe and RevenueCat deduplication

A subscription visible in both sources counts once, from Stripe (matched on the Stripe subscription ID RevenueCat stores). A person paying on web and mobile is one customer when user IDs match, with MRR summed.

See what makes you money.

Connect Stripe or RevenueCat and Search Console, and you see combined MRR and 16 months of search history on day one. Page and keyword revenue follow as the snippet collects first touches.

No card required. The trial clock starts when your first revenue source connects.