Revenue Metrics Reference
Definitions for the stat cards and charts on the Revenue dashboard.
All metrics are aggregates over the accounts selected in the account filter (all accounts by default).
Stat cards
| Metric | Definition |
|---|---|
| MRR | Sum of monthly-equivalent recurring revenue across active subscriptions from the selected RevenueCat and Stripe accounts. |
| ARR | MRR × 12. |
| Active Subscribers | Distinct subscribers with at least one active subscription. |
| Active Trials | Subscribers currently in a trial period. |
| Churn Rate | Period churn rate as computed by RevenueCat / Stripe (summed, weighted by subscriber base). null if the underlying sources haven't reported one yet. |
| LTV | Rolling lifetime-value estimate computed by the upstream source. null when unavailable (displayed as em-dash). |
Charts
- Revenue Performance — stacked daily MRR over the last 30 days,
split by
revenueCatMrrCentsandstripeMrrCents. Data is bucketed by day using the project's timezone. - MRR by Day — single-series line chart of daily MRR across the last 30 days.
- Subscribers by Day — single-series line chart of daily active subscriber count across the last 30 days.
- MRR by Source — donut showing the current MRR split between RevenueCat and Stripe. Only sources with non-zero MRR are rendered.
Underlying tables
Metrics are read from per-source "latest" snapshots updated by the hourly sync workflows:
revenuecat_metrics_latest— one row per connected RevenueCat account.stripe_metrics_latest— one row per connected Stripe Connect account.
The chart data reads from per-day rows in the corresponding daily metrics tables.
What's NOT computed
The dashboard does not do any of the following:
- Currency normalization across sources.
- Dedup across RevenueCat and Stripe (if a user exists in both, they count in both source totals).
- Per-plan breakdowns on the UI (products are synced but not surfaced as breakdowns).
- Custom cohorts, vintage curves, or LTV-by-acquisition-source views.