Dashboard

What goes in a subscription analytics dashboard in Metabase?

A subscription analytics dashboard tracks the health of your active base — how many subscriptions you have, what plans they're on, and how trials convert. It's the operational companion to the MRR dashboard. Build it from billing data synced into a database — see Stripe, Chargebee, or Paddle for the connection.

For: Product, growth, RevOps. Refresh: daily.Source: modeled subscriptions, plans, and trial/conversion events.

What does a subscription analytics dashboard look like?

Here's the layout this guide builds: the size of the active base at the top, then the plan mix and the movement in and out of it, then how trials are converting. Read it weekly to see whether growth is coming from new subscriptions or from customers moving up a tier.

Subscriptions dashboard in Metabase showing plan mix, active base, upgrades, cancellations, and trial conversion.
An example subscriptions dashboard in Metabase, built from Stripe, Chargebee, or Paddle billing data. Figures are illustrative.

Which cards belong on a subscriptions dashboard?

Headline KPIs

  • Active subscriptions
  • New subscriptions this month
  • Trials in progress
  • Trial-to-paid conversion rate

Mix & movement

  • Active subscriptions by plan / tier
  • MRR by plan
  • Upgrades vs. downgrades by month
  • New vs. cancelled subscriptions by month
  • Trial conversion by cohort (table)

What data does a subscriptions dashboard need?

  • A modeled subscriptions table with status, plan, start, and cancellation.
  • A plans table with plan names, tiers, and prices.
  • Trial start and conversion timestamps for the trial funnel.
  • Plan-change events to separate upgrades from downgrades.

How do you build a subscriptions dashboard?

  1. Sync your billing tool into a database (Stripe, Chargebee, or Paddle).
  2. Model subscriptions and plans; define an active status consistently.
  3. Derive plan-change direction (upgrade / downgrade) from price at each change.
  4. Create one card per metric; add filters for plan, segment, and date.

Example card SQL

Active subscriptions and MRR by planPostgreSQL
-- Active subscriptions and MRR by plan, current snapshot.
SELECT
  p.name                                     AS plan,
  COUNT(*)                                   AS active_subscriptions,
  ROUND(SUM(s.mrr), 2)                       AS mrr
FROM subscriptions s
JOIN plans p ON p.id = s.plan_id
WHERE s.status = 'active'
GROUP BY p.name
ORDER BY mrr DESC;
Trial-to-paid conversion by cohortPostgreSQL
-- Trial-to-paid conversion by trial-start month.
WITH trials AS (
  SELECT
    date_trunc('month', trial_started_at) AS cohort,
    id,
    converted_at
  FROM subscriptions
  WHERE trial_started_at IS NOT NULL
)
SELECT
  cohort,
  COUNT(*)                                       AS trials,
  COUNT(converted_at)                            AS converted,
  ROUND(100.0 * COUNT(converted_at)
        / NULLIF(COUNT(*), 0), 1)                AS conversion_pct
FROM trials
GROUP BY cohort
ORDER BY cohort;

Integrations

Analytics

Dashboards

Metrics

FAQ

How is a subscriptions dashboard different from an MRR dashboard?
The MRR dashboard is about money — recurring revenue and its movement. A subscriptions dashboard is about counts and mix — how many active subscriptions, on which plans, and how trials convert. They share a data model but answer different questions.
How do I measure trial-to-paid conversion correctly?
Cohort trials by their start month and measure how many converted, so maturing trials aren't compared to ones that just started. Decide whether a conversion counts at the moment the trial ends or at first successful payment, and use that conversion definition everywhere.
How do I track upgrades and downgrades?
Use plan-change events and compare the price before and after each change: a higher price is an upgrade (expansion), a lower one is a downgrade (contraction). Netting these against new and churned subscriptions ties the subscriptions view back to the MRR waterfall.