Overview · Analytics

What is revenue analytics, and how do you build it in Metabase?

Revenue analytics turns the activity in your billing system — subscriptions, invoices, payments, and cancellations — into shared metrics about how your recurring revenue grows, leaks, and compounds. In Metabase, you build it by syncing your billing tool into a database, modeling a small set of clean tables (especially a monthly MRR model), and standing up dashboards anyone can read.

TL;DR — Almost every subscription billing tool shares the same shape: customers, subscriptions, plans/prices, invoices, and transactions. Model that shape once — plus a normalized monthly MRR table — and most metrics and dashboards port across tools. Metabase reads SQL databases — it has no native connector to Stripe, Chargebee, or any other billing tool, so a sync step always comes first.

What does revenue analytics measure?

It measures the health and trajectory of recurring revenue — not just a single top-line number. The durable, leader-friendly questions are:

  • How much recurring revenue do we have, and is it growing? (MRR, ARR, net new MRR)
  • Where does revenue leak? (gross vs. net churn, voluntary vs. involuntary)
  • Do we keep and expand customers? (net revenue retention)
  • What is a customer worth? (LTV, ARPU, payback)
  • How much revenue is at risk from failed payments? (failed-payment rate)

Avoid vanity metrics (cumulative signups, gross transaction counts). They're easy to grow and rarely change a decision.

Which tools feed revenue analytics?

The same pattern applies to every billing platform. Per-tool setup lives on each integration page:

ToolBest forMCP for AI-assisted analysis
StripeDeveloper-first subscriptions and paymentsOfficial remote server
ChargebeeFlexible subscription billing and dunningOfficial site-specific server
PaddleMerchant-of-record billing with tax handledOfficial server (live + sandbox)
RecurlySubscription management and recoveryCommunity server (read-only)
RevenueCatMobile in-app subscriptions across storesOfficial remote server
StiggPricing, packaging, and entitlementsOfficial remote + local server
PolarMerchant-of-record billing for developersOfficial server (live + sandbox)
AlgunaCPQ and usage-based billing (quote-to-cash)Official remote server (via bridge)
PayPalPayments: volume, refunds, disputes, feesOfficial server (remote + local)
SquarePayments and POS sales across locationsOfficial remote server
AdyenEnterprise payments: auth rate, settlementOfficial local server (alpha)
RazorpayPayments and settlements (UPI, cards, more)Official server (local + remote)
Dodo PaymentsMerchant-of-record payments and subscriptionsOfficial server (remote + local)
ZuoraEnterprise subscriptions and revenue recognitionOfficial server (tenant-specific setup)
MaxioSubscription billing plus SaaS metricsOfficial server (scoped tokens)
LagoOpen-source metering and usage-based billingOfficial local server (agent toolkit)
QuickBooksAccounting: invoiced revenue, AR, cash flowIntuit server (local preview) + community

What is the shared revenue data model?

Almost every subscription tool maps onto these entities. Model them as clean tables, not raw connector JSON:

ConceptCommon termsUsed for
CustomerCustomer, accountLTV, ARPU, cohorts
SubscriptionSubscriptionMRR, active base, churn
Plan / pricePrice, plan, item priceNormalizing to monthly
InvoiceInvoiceBilled amounts, AR
TransactionCharge, payment, transactionPayments, failures, recovery
AdjustmentRefund, credit note, disputeNet revenue

The single most important derived table is a monthly MRR model— one row per subscription per month with a normalized monthly amount, in one reporting currency. With it you can compute MRR movement, churn, retention, and cohorts consistently. Without it, every chart re-derives MRR differently and the numbers drift.

Which revenue metrics matter most?

Define each one once and reuse the definition everywhere:

  • MRR (and ARR) — sum of active subscriptions' normalized monthly amount. ARR is MRR × 12. Exclude one-time charges and tax.
  • Churn rate — churned MRR ÷ starting MRR (revenue churn), and lost customers ÷ starting customers (logo churn). Report both.
  • Net revenue retention (NRR) — (starting MRR + expansion − contraction − churn) ÷ starting MRR. Over 100% means expansion beats churn.
  • LTV — ARPU × average customer lifetime (1 ÷ churn rate). It's sensitive to churn, so treat it as a range.
  • ARPU — MRR ÷ active customers (or accounts). Pick a grain and keep it.
  • Failed-payment rate — failed charges ÷ attempted charges; the main driver of involuntary churn.

How do you connect a billing tool to Metabase?

Metabase reads from SQL databases, not SaaS APIs, so connecting any billing tool comes down to one thing: run a pipeline that syncs the tool into a database on a schedule, then point Metabase at it. Use a managed connector (Airbyte, Fivetran) where one exists, or a free, code-based sync with dlt or the tool's API — then build durable dashboards on a monthly MRR model. Per-tool setup lives on each integration page.

Once the data lands, you can also point an AI assistant at Metabase's MCP server for quick, exploratory lookups. Treat that as ad-hoc exploration, not governed reporting — it keeps no history, so it can't compute MRR movement or cohorts on its own.

Which dashboards should you build first?

  • MRR / ARR — recurring revenue now, plus new/expansion/contraction/churn movement as a monthly waterfall.
  • Churn & retention — gross and net retention, revenue vs. logo churn, and voluntary vs. involuntary churn.
  • Subscriptions — active base, plan mix, trials, and trial-to-paid conversion.
  • Failed payments / dunning — declines, recovery rate, and at-risk revenue by age.
  • Cohort revenue — revenue retention and cumulative LTV by signup-month cohort.

Common mistakes

Reporting MRR off raw connector tables.→ Build a normalized monthly MRR model first — one row per subscription per month, in one currency.
Leaving amounts in the smallest currency unit.→ Stripe, Chargebee, and Paddle store cents/minor units; divide in a model layer. Recurly v3 and QuickBooks use decimals — don't double-convert.
Counting one-time charges and tax as MRR.→ MRR is recurring subscription revenue only; keep non-recurring lines and tax out.
Blending voluntary and involuntary churn.→ Cancellations and failed-payment churn have completely different fixes — separate them.
Never reconciling with the source tool.→ Sanity-check modeled MRR and revenue against the billing tool's own reports before anyone trusts them.

Integrations

Metrics

FAQ

Does Metabase connect natively to Stripe or Chargebee?
No. Metabase reads SQL databases and warehouses. Sync the tool's data into a database first, then connect Metabase to that database.
Can I use the same dashboards across billing tools?
Mostly yes, if you model each tool onto the shared revenue schema and a common monthly MRR model. Metric definitions and chart structure port across; only source-specific fields differ.
Why build a monthly MRR model instead of computing MRR per chart?
A single normalized MRR model (one row per subscription per month) keeps every metric — MRR movement, churn, retention, cohorts — consistent. Re-deriving MRR in each question causes definitions to drift and numbers to disagree.