Revenue Metrics
Each revenue family answers a different question
Revenue is not one number: MRR, bookings, billings, GMV and net revenue each answer a different question. Mixing them is the classic analytics crime against boards.
What you will learn
- Distinguish MRR, bookings, billings, GMV and net revenue
- Compute each from the same order data
- Choose the right revenue metric per audience
What is this?
Revenue metrics differ by what is counted and when: MRR/ARR are recurring contracted value, bookings are signed contract value, billings are what was invoiced/collected, GMV is the gross value flowing through a marketplace, and net revenue is MRR minus refunds and discounts. Each serves a different boss: pipelines (bookings), cashflow (billings), product health (MRR), marketplace size (GMV).
Why do you need it?
- A board deck mixing GMV with MRR is indefensible to a sharp finance partner.
- Cashflow reality (billings) and commercial hype (bookings) tell opposite stories in some months.
- Refund and discount treatment changes net revenue by material amounts.
- Analytics candidates are screened on knowing which number to show when.
Mental model
Restaurant ticket management
Revenue metrics
Bookings are the signed reservation book; billings are the invoices sent for the evening; MRR is the monthly-ticket subscriptions; GMV is the total value of all dinners sold including comps before discounts; net revenue is what actually lands after refunds.
How it works
- Bookings: total contract value signed in the period, regardless of delivery.
- MRR: recurring amount of active subscriptions at a point in time.
- Billings: invoices issued or payments collected in the period.
- GMV: gross merchant value before deductions like coupons and refunds.
- Net revenue: top-line accounting revenue after deductions.
- Each metric keeps its own table/query in the metric dictionary.
Revenue families and what they count.
Examples
MRR vs billings in one query
-- MRR: active subscriptions at end of FebSELECT SUM(price) AS mrrFROM subscriptionsWHERE status = 'active' AND start_dt <= '2026-02-28'; -- Billings: invoiced in FebSELECT SUM(invoice_amount) AS billingsFROM invoicesWHERE invoice_date BETWEEN '2026-02-01' AND '2026-02-28';The first query counts the standing book of active subscriptions; the second counts cash-flow paperwork issued in the window. Both derive from the order base but measure different realities.
In production
- A board packs MRR, ARR and net revenue on one page with clean definitions and a footnote about refunds.
- A marketplace tracks GMV growth for the press while finance reads net revenue for the P&L.
- A sales team targets bookings in the pipeline review and the CFO reads billings in the cash review.
Best practices
- Keep the revenue metric dictionary with a query per family.
- Present MRR vs billings separately with 'why they differ' notes.
- Exclude paused/refunded/one-time from MRR mechanically and document it.
- Add a trend of net-to-gross to expose discount pressure.
Common mistakes
- Reporting GMV where net revenue belongs in an investor context.
- Averaging bookings month-over-month as if they were recurring.
- Including one-time setup fees in MRR.
- Labeling a chart 'Revenue' without saying which family it is.
Common issues
MRR jumps when a big one-time fee landsOne-time fees included in the MRR query
Segment MRR by recurring lines only; report one-time separately.
Net revenue reads negative for a monthRefunds and adjustments larger than gross in that window
Check refund timing vs billing date and present nets with a note.
GMV and billings diverge after a discount campaignCoupons reduce billings but not GMV
Publish both and show the net-of-discount line explicitly.
Debugging tips
- Diff the WHERE clauses: 'active and not refunded' vs 'any contract' explains most gaps.
- Recompute one month by hand from the order table to validate the formula.
- Check for duplicated row keys before comparing families.
- Separate timezone questions: when did the business month end for each metric?
Interview checkpoint
Hands-on lab
- Load orders with contracts, invoices and refunds
- Compute bookings, MRR, billings and net revenue
- Explain a divergence between two families
Compute the Revenue Family Tree
25 min · intermediate
Quick quiz
Which metric measures gross value flowing through a marketplace before deductions?
Bookings and billings always move together in the same month.