Lifetimely: Subscriptions
Subscriptions
At a glance
Subscriptions shows recurring-revenue and subscriber KPIs at the end of a selected period, together with retention by subscription-start cohort. Use it to tell whether subscription performance changed because the active base grew or because existing cohorts retained better.
Availability and data freshness
Availability: Requires a configured Recharge, Skio, Loop, StayAI, or Appstle integration. Without one, the page shows a sample report and Connect a subscription app, which opens Integrations. A configured integration with an error status still unlocks the report, so check Integrations if data is absent.
Report responses are treated as current in the browser for 10 minutes and are not refreshed merely by returning focus to the window. The fallback range is the trailing 12 months through yesterday in the store timezone; a report range previously saved in this browser overrides it.
Use the report controls
The active navigation does not list Subscriptions. Open the report directly at /lifetime_value/subscriptions .
Set the period and population
- Time period: Choose custom dates or Last 6 months, Last 12 months, This year, or a Since 2020 through Since 2025 preset. Presets end yesterday. The selected range is saved in this browser and can carry into other reports.
- Timeframe: Group results by Week, Month, or Year. The default is Month. This choice defines the KPI churn period and the cohort row/age intervals; it does not merely reformat labels.
- Filters: Open Filter results to apply or save filters from Marketing, Tags, Products, Channels, Subscriptions, Other, and Surveys. The Shopify UI includes Subscription Platform with Recharge, Skio, Loop, StayAI, and Appstle options. Amazon hides Shopify-specific sections. Applying filters sends the same filter set to both the KPI and cohort requests.
Store prefilters, shop calculation settings, display currency, and timezone are sent automatically from the current store context; they are not controls on this page.
Change the cohort view
These controls affect the cohort table, not the KPI cards:
- Metric: Active subscribers (default) or Revenue.
- Format: % (default) or #. Percentage changes cell display only; # shows subscriber counts or currency amounts.
The page has no chart, comparison selector, export, sorting, pagination, or cell drill-down. Information icons define the cards and cohort baseline, while Data from ... identifies the provider integrations included in the response.
Data contract: what goes into each number
The page makes two requests to the subscription-report API using the same store, selected dates, timeframe, filters, prefilters, settings, display currency, and timezone. One returns KPI cards; the other returns subscription-start cohorts.
| Report section | Population and grain |
|---|---|
| KPI cards | Provider subscription records for the current store and applied request scope. MRR, active subscriptions, active subscribers, and ARPU are point-in-time values at range end with a range-start comparison. Churn aggregates the selected week, month, or year buckets. |
| Cohort rows | One subscription-start period. Active subscribers uses customers who started a subscription in that period; the UI states that a customer starting subscriptions in multiple periods is counted in each. Revenue uses recurring revenue from subscriptions started in the period. |
| Cohort cells | Retained subscriber count or recurring revenue at the numbered age since subscription start. Percentage is the API-provided cell value relative to that cohort's starting baseline. |
| Weighted average | For each age, retained value summed across cohorts that have a cell at that age, divided by those cohorts' summed starting baselines. It is calculated in the browser. |
Date boundaries and cohort labels use the store timezone. Currency values render in the store's selected display currency.
Metrics and calculations
| Field | Documented calculation |
|---|---|
| MRR | Recurring revenue from all active subscriptions as of range end; a currency snapshot, not cash collected or revenue recognized during the range. From is range-start MRR. |
| Active subscriptions | Subscription contracts active as of range end. One customer can hold several. From is the range-start count. |
| Active subscribers | Distinct customers with at least one active subscription as of range end. It can be lower than Active subscriptions. From is the range-start count. |
| ARPU | MRR / active subscribers at range end. From is range-start ARPU. |
| Subscription churn | total cancellations across selected timeframe buckets / sum of subscriptions active at the start of those buckets. From is the preceding range of the same length. This is base-weighted period churn, not start-to-end subscriber decline. |
| Subscribers | Starting customers in an Active subscribers cohort row; a cell shows the retained count at that cohort age. |
| Starting MRR | Recurring revenue from subscriptions that started in the cohort period. A Revenue cell shows retained recurring revenue at that cohort age. |
| Change | (range-end value − From) / From × 100. The UI omits From and change when the comparison value is zero or negative. |
Read the cohort table
- Read a row from left to right to follow one starting cohort. Column 0 is its starting period; later columns are weeks, months, or years since start.
- Compare cohorts in the same numbered column. Newer cohorts have not reached later ages, so blank cells do not mean zero retention.
- Darker cells indicate higher API-provided retention percentages. Color is based on percentage even when # is selected.
- Weighted average always displays percentages in age columns, including when the table uses #. Cohorts without a cell at an age are excluded from that age's denominator.
- The UI removes cohorts whose starting baseline is zero. If no positive-baseline cohorts remain, it shows No subscription cohorts for the selected period.
Example: Suppose one cohort starts with 100 subscribers and retains 70 at month 3, while another starts with 20 and retains 10. Their month-3 cells show 70% and 50%. The weighted average is (70 + 10) / (100 + 20) = 66.7% , not the unweighted average of 60%. Use equal-age weighted retention to judge the overall base, then inspect individual rows to find whether a particular acquisition period is driving the result.
Reconcile and troubleshoot results
- Confirm the store, Time period, Timeframe, saved filter count, display currency, timezone, and prefilters.
- Check Data from ..., then open Integrations and verify every listed provider's connection/import status. With multiple providers, apply Subscription Platform one provider at a time before comparing its source dashboard.
- Compare MRR and active counts with a provider snapshot at the report's range end, not with cash collected across the range. Compare churn using the selected week/month/year bucket starts and cancellations rather than only opening and closing subscriber counts.
- For cohorts, align the provider subscription-start period and compare the same cohort age. Do not treat missing future cells as churn.
- Allow for the browser's 10-minute query freshness window.
Next actions
- Use Subscription Platform to isolate the provider driving a KPI or retention change.
- Compare subscription retention with all-customer order cohorts; they should not match because they use subscription starts versus first qualifying orders.
- Inspect time between orders when you need repurchase cadence rather than provider subscription status.