Revenue Analytics and Reports
The analytics pages turn your normalized revenue into decision-ready metrics: SaaS Metrics for recurring-revenue quality, Channel Performance for unit economics by channel, and Financial Reports for the standard finance report library.
Overview
Under Analytics in the sidebar:
- SaaS Metrics — ARR, MRR, retention, and the ARR waterfall.
- Channel Performance — revenue, mix, and margin by channel.
- Financial Reports — a library of billing reports you can run and export.
SaaS Metrics
The SaaS Metrics dashboard summarizes recurring-revenue health across the selected channel and date range. One exception: retention (NRR, GRR, Churn) is measured over the trailing twelve months ending at the selected end date, so the selected start date does not move it.

Metric cards
| Card | Meaning |
|---|---|
| ARR | Annual Recurring Revenue — a point-in-time snapshot of active recurring revenue as of the end of the period. |
| MRR | Monthly Recurring Revenue for the same active recurring base. |
| NRR | Net Revenue Retention — expansion and contraction of your existing base. |
| GRR | Gross Revenue Retention — retention before expansion. |
| ARPU | Average Revenue Per User (per month). |

The five metric cards, circled left to right: ① ARR, ② MRR, ③ NRR, ④ GRR, and ⑤ ARPU. ARR/MRR/ARPU carry an As of <date> snapshot label; NRR/GRR show the retention basis. DSO is not a SaaS Metrics card — it lives only on Invoices, with your accounts receivable.
Charts include the ARR waterfall (opening → new → expansion → contraction → churn → closing), NRR by channel, an MRR trend by cohort, and ARPU by channel. Use Export to download the underlying data. Cohort and channel trend charts appear once there is enough history in scope; until then they read No data to display.

The waterfall reads left to right — Opening ARR plus New business and Expansion, minus Contraction and Churn, equals Closing ARR — with the running reconciliation listed beneath the bars.
Channel Performance
The Channel Performance page compares revenue and unit economics across channels for the selected date range.

Metric cards
| Card | Meaning |
|---|---|
| Total revenue | Total revenue across all channels in scope. |
| Top channel | The highest-revenue channel and its share. |
| Marketplace vs. Stripe | Split of revenue between marketplace channels and Stripe. |
| Avg net margin | Average net margin after platform fees. |

Circled left to right: ① Total revenue, ② Top channel and its share, ③ Marketplace vs. Stripe split, and ④ Avg net margin after platform fees.
A revenue by channel bar chart and a channel mix donut visualize the split, and the channel unit economics table lists each channel’s revenue, platform fee, net revenue, net margin, and average days to payout. Use Export on the page header or above the table to download the data to CSV.

Each row is one channel; compare net margin and avg days to payout across AWS, Azure, GCP, and Stripe to see which channel keeps the most of every dollar and pays out fastest.
How the channel figures are built
Every column on this page is derived from the revenue records in scope, per channel:
- Net revenue = gross revenue − channel fees − refunds.
- Net margin (the table’s margin column) = net revenue ÷ gross revenue × 100.
- Average settlement days = the mean of (disburse date − invoice date) across records that have both dates. A record whose disburse date falls before its invoice date is excluded from the average entirely — it is dropped from both the total and the count, not counted as zero.
Financial Reports
The Financial Reports page is a library of standard billing reports you can run on demand.

The Billing reports library covers day-to-day receivables, billing, and collections — the six reports are circled above (① Invoice Aging, ② Invoice Detail, ③ Stripe Payout Report, ④ Disbursement Summary, ⑤ Disbursement Detail, ⑥ Credit Memo):
- Invoice Aging — outstanding invoices bucketed by aging tier, segmented by channel and counterparty.
- Invoice Detail — full invoice list with status, amounts, payment terms, and payment history.
- Stripe Payout Report — Stripe payouts with method, date, amount, status, and linked invoice.
- Disbursement Summary — marketplace payout summary: expected vs. actual date, amount, and variance.
- Disbursement Detail — invoice-level breakdown of each marketplace payout, mapping every received dollar.
- Credit Memo — issued credits and refunds with linked invoices, reason codes, and cash dates.
Run and export a report
- Select Run report on the report you want (for example, Disbursement Detail).
- In the report modal, adjust the date range and channel in the header to scope the preview.
- Review the preview table and the generated row count.
- Select CSV or PDF to export, or Cancel/Close to dismiss.

The modal footer shows the ① generated row count for the current scope, with ② CSV and ③ PDF export beside it.
KPI calculation formulas
The two analytics pages do not share a basis. SaaS Metrics is computed primarily from recurring entitlement-term snapshots over a trailing twelve-month window, with qualifying revenue records as a guarded legacy fallback; Channel Performance is computed from the unified revenue records. Read them as two different lenses on the business, not as two views of one number.
| KPI | Applies to | Formula | Calculation details |
|---|---|---|---|
| ARR | AWS, Azure, GCP, Stripe | Σ annualized value of active recurring entitlements | Primarily from entitlement-term snapshots as of the period end — the contract terms rather than the invoices — plus any legacy revenue records that qualify for the fallback. |
| MRR | AWS, Azure, GCP, Stripe | ARR ÷ 12 | Derived from the same active recurring base. |
| NRR | AWS, Azure, GCP, Stripe | (base + expansion − contraction − churn) ÷ base × 100 | Base = the recurring base twelve months before the selected end date. The selected start date does not shift this base. |
| GRR | AWS, Azure, GCP, Stripe | (base − contraction − churn) ÷ base × 100 | Retention before expansion, on the same trailing-twelve-month base. |
| Churn | AWS, Azure, GCP, Stripe | churned ÷ base × 100 | Recurring revenue lost from that trailing-twelve-month base. |
| ARPU | AWS, Azure, GCP, Stripe | MRR ÷ distinct active buyers | Per month. |
| Total revenue | AWS, Azure, GCP, Stripe | Σ revenue across channels in scope | From revenue records. |
| Top channel share | AWS, Azure, GCP, Stripe | channel revenue ÷ total revenue | Highest-revenue channel. |
| Marketplace vs. Stripe | AWS, Azure, GCP, Stripe | marketplace revenue ÷ total revenue and Stripe revenue ÷ total revenue | Two percentages of the same total: the marketplace channels combined, then Stripe. |
| Net revenue | AWS, Azure, GCP, Stripe | gross revenue − channel fees − refunds | (Platform fee is this page’s label for the channel fee.) |
| Net margin | AWS, Azure, GCP, Stripe | net revenue ÷ gross revenue × 100 | The per-channel Net margin column in the unit-economics table. Despite the column name, the ratio is net revenue over gross revenue. |
| Avg net margin | AWS, Azure, GCP, Stripe | Σ net revenue ÷ Σ revenue (over channels with a usable platform fee) | A channel counts only once it has records with a platform fee. |
| Avg net margin — fee availability | GCP | a stored fee of zero counts as a real fee | GCP derives its fee from every usage row, so zero is authoritative. |
| Avg net margin — fee availability | AWS, Azure, Stripe | a stored fee of zero does not count | Treated as “fee data not yet ingested”, which is why the card can read Run a full sync to load platform fees. |
| Avg days to payout | AWS, Azure, GCP, Stripe | mean(disburse date − invoice date) | Across records that have both dates. A record whose disburse date precedes its invoice date is excluded from both the total and the count — it is not floored to zero. |
The Financial Reports page has no summary KPIs of its own.
Spotted something wrong or out of date on this page? Tell us and we'll correct it.