Skip to main content
The Analytics page at /app/subscriptions/analytics gives you a reporting-focused view of your subscription business. From a single screen you can check key metrics, visualize trends over a date range, narrow the data by product or billing cadence, and export the current view for offline analysis. Most filters apply to both the KPI cards and the trend chart. The exception is the Created trend tab, which always shows one bar per UTC day and uses only the selected date range. In the Medusa Admin sidebar, go to Subscriptions → Analytics.

Filtering the report

The filter bar at the top of the page controls the analytics view. Changes to the date range, product, or cadence refresh the dashboard immediately.
FilterDescription
Date from / Date toThe reporting date range
StatusSubscription statuses to include (for example, active, cancelled)
ProductLimit results to a specific product
FrequencyLimit results to a specific billing cadence (for example, month:1 for monthly, year:1 for annual)
Group byTime bucket for MRR, Churn, and LTV: day, week, or month (defaults to day)
All date calculations use UTC. There is currently no timezone offset configuration for the Analytics page.

Created tab exception

When the Created tab is selected in the trend overview:
  • the chart always renders one bar per UTC day
  • status, product, frequency, and group_by do not affect that chart
  • the Group by control is disabled because the chart is fixed to daily buckets
  • days with no created subscriptions render as 0

KPI cards

The page displays four KPI cards:
KPIWhat it measures
MRRMonthly recurring revenue for the filtered dataset
Churn RatePercentage of subscriptions that cancelled in the selected period
LTVEstimated lifetime value based on the filtered subscriptions
Active SubscriptionsCount of active subscriptions matching the current filters

MRR and LTV null values

MRR and LTV may display as empty or a fallback value in two cases:
  • The selected dataset contains subscriptions across multiple currencies, making a single aggregated revenue figure ambiguous.
  • The filtered dataset doesn’t contain enough revenue data to calculate a meaningful value.
Count-based metrics like Active Subscriptions always display regardless of currency composition. Percentage metrics like Churn Rate use the precision configured in the analytics response.

Trend chart

Below the KPI cards, the trend chart visualizes one metric over the selected date range.
  • MRR, Churn, and LTV use the selected Group by setting.
  • Created uses a dedicated bar chart with one bar per UTC day.
  • Hovering a created-subscription bar shows the exact day and the number of subscriptions created on that day.
Buckets follow UTC date boundaries for all views.

Exporting data

Click Export to download the current analytics view. You can export as CSV or JSON.
FormatUse case
CSVSpreadsheet analysis, BI tool import
JSONProgrammatic processing, API-style output
Export behavior:
  • The export always reflects the currently active filters — no separate export configuration is needed.
  • Export is on demand and runs synchronously. The download starts immediately.
  • Column order and field names in the export follow the backend’s deterministic schema.
  • Exporting does not reload or reset the KPI and trend data on screen.
Set your date range and filters before exporting so the downloaded file matches exactly what you see in the KPI cards and chart.

Rebuilding historical data

If your analytics data looks incomplete for a historical range — for example, after a data correction or a fresh plugin installation — you can trigger a manual rebuild. Use the rebuild action available on the Analytics page to recalculate analytics snapshots for the specified date range.
Rebuilding analytics for a large historical range can take time. The KPI cards and chart will reflect the rebuilt data once the rebuild completes.