Analytics
Analytics
Cbox Billing surfaces revenue and retention analytics from real subscription and
invoice data, not a separate warehouse. The console areas are Home → Dashboard and
Analytics → Revenue / Retention; the read models are RevenueMetrics and
RevenueAnalytics over the engine's reporting module.
Dashboard metrics
The dashboard (RevenueMetrics) shows the top-line health in the account's primary
currency:
- Revenue (MRR/ARR) and the plan breakdown.
- Churn rate.
- Outstanding balance and the open-invoice count.
Revenue analytics
RevenueAnalytics computes, for a period:
- MRR movement — the decomposition into new / expansion / contraction / churn.
It is recorded incrementally by
SubscriptionMrrMovementRecorderintosubscription_mrr_movementsas subscriptions change, so the movement report reads committed facts rather than recomputing history. - ARR waterfall — annualized recurring revenue bridged across the period.
- Cohorts — a retention matrix across a set of periods.
Retention analytics
The Retention view surfaces:
- Net revenue retention (NRR) — revenue retained and expanded within a cohort.
- Customer churn — the rate of customers lost over the period.
Where the math lives
The MRR/NRR/ARR/cohort computations are the engine's reporting module; the app's
read models select and present them for the console. Captured cancellation
reason/feedback (from retention) enrich churn
analysis. For the reporting internals see
https://github.com/cboxdk/laravel-billing/tree/main/docs → reporting.