Milo Advanced Analytics
Deep subscription analytics: MRR movement, churn breakdown, cohort retention, lifetime value, trial conversion, customer health, revenue forecasting, CSV exports, and scheduled email digests.
Installation
- Install and activate WooCommerce and the free Milo Subscriptions plugin (both are required).
- Upload and activate Milo Advanced Analytics (Plugins → Add New → Upload).
- Enter your license key under Subscriptions → Licenses to enable updates.
The add-on adds seven new tabs to Subscriptions → Analytics: MRR Movement, Churn, Cohorts, Lifetime Value, Trials, Health, and Forecast.
Configuration
Calculation settings (they affect MRR, churn, cohort, and LTV figures; changing one flushes the analytics cache):
| Setting | Description |
|---|---|
| Deduct taxes | Exclude the tax portion from revenue figures. Off by default. |
| Deduct shipping | Exclude the shipping portion from revenue figures. Off by default. |
| Count on-hold as churned | Treat on-hold subscriptions as churned instead of excluding them. Off by default. |
Email digest settings, under Subscriptions → Settings:
| Setting | Description |
|---|---|
| Weekly report | On/off switch. Sends every Monday at 9:00. |
| Monthly report | On/off switch. Sends on the first day of each month at 9:00. |
| Report email | Recipient address. Defaults to the site admin email. |
The digest email covers MRR, active subscribers, new subscribers, churned subscribers, renewal revenue, failed payments, and the churn rate for the period. A test send is available so you can preview it.
The reports
All amounts are normalized to monthly equivalents whatever the billing period (daily, weekly, monthly, yearly, with any interval), so a $120/year plan counts as $10 of MRR.
- MRR Movement: the SaaS waterfall per month, New MRR, Expansion MRR, Churn MRR, and Net New MRR.
- Churn: churn split into voluntary (customer-initiated) vs involuntary (payment failure), plus breakdowns by product and by billing period.
- Cohorts: a signup-month × period retention matrix. Metric is subscriber count or MRR; display is % of original cohort, % of previous period, or absolute values; up to 24 months.
- Lifetime Value: ARPU from normalized per-subscription MRR, average lifespan (1 divided by the monthly churn rate), and LTV (ARPU × lifespan).
- Trials: trial starts, conversion rate, average trial duration, and outcomes (converted, cancelled, expired) over 30 days, 90 days, 6 months, or 12 months.
- Health: at-risk subscribers with the reason for each (expiring soon, on hold, recent failed payment) plus summary counts including pending cancellations.
- Forecast: projected MRR up to 24 months ahead, applying exponential decay from your historical monthly churn rate to current MRR.
CSV exports
Three downloadable reports (admin-only, manage_woocommerce capability):
- Subscriptions: every subscription with status, customer, email, product, recurring total, billing period, start date, next payment, and payment method.
- Revenue: revenue over a chosen period (30 days by default).
- Customers: per-customer LTV data.
Performance
Report results are cached for one hour with a versioned cache. Any subscription status change bumps the version, so all reports refresh immediately after real activity; repeat page views add no query load.
Troubleshooting
- A tab shows stale numbers. The cache invalidates on subscription status changes and settings saves. Waiting an hour (the cache TTL) always refreshes; saving the analytics settings flushes it instantly.
- No digest emails arrive. Reports are sent through Action Scheduler, which needs site traffic or WP-Cron to run. Check that the toggle is on and the recipient address is valid, then use the test send.
Billing modes
Requires WooCommerce; this add-on reads WooCommerce subscription orders and does not run in standalone (Stripe-driven) mode.
Did this page miss something?
Tell us and we rewrite it, usually the same day.