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. All filters apply to both the KPI cards and the trend chart, so what you see on screen is always what you export.
Navigating to Analytics
In the Medusa Admin sidebar, go to Subscriptions → Analytics.
Filtering the report
The filter bar at the top of the page controls all data on screen. Changes to any filter refresh both the KPI cards and the trend chart immediately.
| Filter | Description |
|---|
| Date from / Date to | The reporting date range |
| Status | Subscription statuses to include (for example, active, cancelled) |
| Product | Limit results to a specific product |
| Frequency | Limit results to a specific billing cadence (for example, month:1 for monthly, year:1 for annual) |
| Group by | Time bucket for the trend chart: day, week, or month (defaults to day) |
All date calculations use UTC. There is currently no timezone offset configuration for the Analytics page.
KPI cards
The page displays four KPI cards:
| KPI | What it measures |
|---|
| MRR | Monthly recurring revenue for the filtered dataset |
| Churn Rate | Percentage of subscriptions that cancelled in the selected period |
| LTV | Estimated lifetime value based on the filtered subscriptions |
| Active Subscriptions | Count 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, bucketed by the Group by setting. You can change which metric is emphasized using the metric selector on the chart. Buckets follow UTC date boundaries for all group-by values (day, week, and month).
Exporting data
Click Export to download the current analytics view. You can export as CSV or JSON.
| Format | Use case |
|---|
| CSV | Spreadsheet analysis, BI tool import |
| JSON | Programmatic 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.