Blog · Forecast and pipeline · SaaS
How a SaaS revenue team turns product usage and the contract register into a renewal risk and expansion list: active seats against contracted seats per account, the utilisation trend over the last two quarters, the accounts under a threshold with a renewal inside 120 days, the accounts at or above their seat cap, and the identity that ties the seat table to ARR.
A SaaS renewal forecast usually rests on the account manager's read. The usage export and the contract register hold a better one: how many of the seats the customer pays for are used, and whether that number is falling. This guide sets out seat utilisation per account, the trend, the two lists, and the ARR identity.
Per account, per month:
Utilisation = active seats, trailing 30 days ÷ contracted seats Trend = utilisation now − utilisation two quarters ago ARR at risk = (contracted − active) × price per seat, for accounts under threshold Expansion = (active − contracted) × price per seat, for accounts over cap
Account identifiers only.
Σ accounts' contracted seats × price = ARR ledger, per period
An account in the usage export with no contract fails it and is listed: a trial, or a contract the register is missing.
Renewals inside 120 days. Threshold 60 percent.
| Account | Contracted | Active | Utilisation | Two quarters ago | Renewal | ARR | ARR at risk | List |
|---|---|---|---|---|---|---|---|---|
| 4471 | 250 | 84 | 34% | 71% | 88 days | $180,000 | $120,000 | Risk: falling fast |
| 2210 | 120 | 131 | 109% | 92% | 60 days | $86,000 | Expansion: over cap | |
| 9034 | 400 | 388 | 97% | 95% | 110 days | $290,000 | Healthy | |
| 1187 | 60 | 22 | 37% | 40% | 95 days | $43,000 | $27,000 | Risk: never adopted |
Account 4471 halved its utilisation in six months and renews in three. Two thirds of its ARR is seats nobody uses, and the renewal will be a downgrade unless something changes this quarter. Account 2210 has more active users than seats and renews in two months; that is an expansion with the usage export as the pitch.
Per owner and per segment: ARR renewing in the window, ARR at risk, expansion, and the share of the renewing book under threshold. A segment with a rising under-threshold share has an onboarding or product-fit problem that the renewal forecast will discover a quarter later.
Logins as active. Everything looks used.
No trend. The account that fell from 71 to 34 looks like the one that was always at 37.
Window too short. Discovered a month before renewal; nothing changes.
Seat table not tied to ARR. The risk figure does not reconcile and the CFO stops reading it.
Mapped once, the usage export, the contract register and the account master produce utilisation, the trend, both lists and the ARR identity every month. Covirage builds this from the exports as they are. The SaaS page describes the setup, and the net revenue retention guide covers where the downgrade shows up if this list is not worked.
A seat with a login and at least one meaningful action in the trailing 30 days, at a threshold the product team states. Logins alone overcount; a stated action, a report run or a record edited, is the usual bar. The definition is written once.
Because a customer that is going to downgrade decides a quarter before the renewal, and a success conversation that changes utilisation takes a quarter to work. Ninety days is too late for the second; 120 is the usual window and it is on the report.
Contracted seats minus active seats, times the per-seat price, for accounts on the risk list. It is the downgrade the customer could ask for with a straight face, and it is the number the success team is defending.