Audit monetization

Pricing, packaging, expansion and lifetime value.

Antique balance scale on a dark table

Monetization is where an audit finds money that needs no extra traffic. A price or packaging change applies to every new customer from the day it ships, and an expansion path applies to a base you already paid to acquire. The audit has one question to settle: does what you charge rise with what the customer gets, and does each segment pay back what it costs?

This chapter comes after the retention audit for a reason, since the lifetime value you are about to compute depends on it. Throughout, say a B2B SaaS at 2M ARR sells three plans at 49, 149 and 499 per month. The numbers are invented to show the method.

What to collect before you touch pricing

Source What to export What it tells you
Billing tool Subscriptions, invoices, plan changes, discounts, refunds and failed payments, by account and month Real MRR and the price actually paid
CRM Deal size, discount granted, lost reason, competitor named What sales concedes and why deals die
Product data Usage per account on each candidate value metric, distance to plan limits Whether price follows value
Finance Hosting, third-party API, support and onboarding costs, by plan if possible Gross margin per segment
Website The pricing page today, its past versions, the dates of every price change What the market has been told
Calls 8 to 10 customers and lost prospects, on how they decided and what they compared The reference points behind the price

Then build one table, mrr_by_account, with account, month, plan and MRR. Divide annual contracts by twelve, exclude VAT and one-off fees, and reconcile last month’s total with accounting. Billing and CRM rarely agree, and a pricing argument built on the wrong one goes nowhere.

Compute unit economics by segment

Metric Formula
ARPA MRR / active paying accounts
Monthly margin ARPA × gross margin
CAC Sales and marketing spend / new paying accounts
Payback CAC / monthly margin
Lifetime 1 / monthly churn, capped at 60 months
LTV Monthly margin × lifetime

Keep the cap. With low churn, 1 / churn gives a lifetime longer than the company’s own history. Where you have enough old cohorts, replace the formula with what those cohorts really paid.

Plan Accounts ARPA Gross margin Monthly churn CAC Payback (months) Capped LTV LTV / CAC
Starter 900 45 70% 5% 400 12.7 630 1.6
Team 450 140 80% 2.5% 1,500 13.4 4,480 3.0
Business 150 420 85% 1% 6,000 16.8 21,420 3.6

A blended average would hide the story. Starter holds 60% of the accounts and 24% of the MRR, and it takes nearly 13 months to pay back a customer who stays 20. I won’t give you a universal LTV / CAC threshold. Compare payback with the real lifetime of that segment and with the cash you can afford to tie up, then watch the trend over time. If you cannot split CAC by plan, say so in the deliverable and give a range.

Brass weights on a wooden surface

Separate net and gross revenue retention

Net revenue retention tells you whether the base grows without new customers. Gross revenue retention, capped at each account’s starting MRR, shows the leak that expansion covers up. Assuming mrr is numeric:

WITH base AS (
  SELECT account_id, plan, mrr AS start_mrr
  FROM mrr_by_account
  WHERE month = DATE '2025-10-01' AND mrr > 0
),
later AS (
  SELECT account_id, mrr AS end_mrr
  FROM mrr_by_account
  WHERE month = DATE '2026-10-01'
)
SELECT
  b.plan,
  SUM(b.start_mrr) AS start_mrr,
  ROUND(SUM(COALESCE(l.end_mrr, 0)) / SUM(b.start_mrr), 3) AS nrr,
  ROUND(SUM(LEAST(COALESCE(l.end_mrr, 0), b.start_mrr)) / SUM(b.start_mrr), 3) AS grr
FROM base b
LEFT JOIN later l USING (account_id)
GROUP BY b.plan
ORDER BY start_mrr DESC;

Run it on several start months and look at the distribution behind it. A strong NRR driven by five accounts is a concentration risk, and it says nothing about your packaging.

Audit pricing and packaging

Area What to check Warning sign
Value metric Whether the bill grows when usage and results grow Heavy users pay the same as dormant ones
Plan limits Share of accounts above 80% of a limit, and what they do next Nobody gets near a limit, or accounts churn when they hit one
Feature fences Use of each paid feature, by plan The main upgrade argument is a feature few people open
Plan mix New paying accounts by plan, over time One plan takes nearly everything and the others are decoration
Discounts Distribution by rep, deal size and reason Discounts given by habit, with no counterpart
Billing term Share of annual contracts, churn by term Annual is offered with no reason to choose it
Price history Date of the last change, legacy plans still billed Old cohorts on prices nobody sells anymore
Pricing page A cold read as a first-time visitor You cannot estimate your bill without a sales call

For willingness to pay, start with the calls and with win and loss notes. A Van Westendorp survey gives a usable range if you can collect enough answers from the right segment. The cleanest test is a change of list price for new customers, read before and after or by market. Showing two prices to identical visitors tends to get noticed by buyers who compare.

Before testing, compute the break-even: maximum loss of conversions = 1 − old price / new price. Moving Starter from 49 to 59 stays positive on revenue as long as you lose fewer than 17% of conversions. Starter needs about 45 new accounts a month to stay flat (900 × 5%). With 10% fewer conversions, 40.5 accounts at 59 bring 2,390 of new MRR against 2,205 today. Then watch churn on those cohorts, because a price that sells and doesn’t hold is a loss delayed.

Changes for existing customers are a separate decision, with contract terms and notice periods involved. I flag those and leave contract, tax and revenue recognition questions to finance and legal, who are better placed.

Old scales and weights in a display

Map expansion and revenue leaks

Expansion path What to measure Trigger to look for
Seats Accounts adding users, time to the first addition A second team starts using the product
Usage or credits Share of accounts buying above their allowance Limit reached with a purchase path on that same screen
Plan upgrade Upgrades by origin plan, and what they did the month before Repeated attempts to use a gated feature
Add-ons Attach rate by plan and segment A specific use case appears in support or sales notes

Each path needs an owner and a visible moment in the product. Expansion left to chance shows up as a few large accounts upgrading on their own initiative.

Leaks are the fastest wins of this chapter. Go through them one by one:

  • failed payments with no retry sequence or card update request
  • discounts that should have expired and are still applied
  • usage above plan limits that is never billed
  • free or test accounts nobody remembers granting
  • legacy plans with features since moved to a higher tier

What a finding looks like and what to deliver

Field Example
Finding Starter pays back in 12.7 months for a 20-month lifetime
Evidence Unit economics table, 12 months of billing data
Consequence 60% of accounts absorb acquisition budget and support for 24% of MRR
Action Raise the list price for new Starter customers to 59
Test Before and after over 8 weeks, then read churn on those cohorts
Guardrail Stop if conversions fall by more than the 17% break-even

Your deliverable fits on a few pages: the unit economics table by segment, NRR and GRR by plan, the pricing and packaging grid filled in, the list of leaks with an amount next to each, and the tests you propose. Each finding then goes into the prioritization grid with the others.

Your next step: export 12 months of invoices, build mrr_by_account and fill the unit economics table for your own plans. Anything you can’t compute, CAC by plan being the usual suspect, goes straight to the data reliability list.