Sign in

Blog · Forecast and pipeline · SaaS

Seat utilisation before renewal: active seats against contracted seats in 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.

The short answerUtilisation is active seats in the trailing 30 days over contracted seats, per account, from the usage export joined to the contract register. Trended over two quarters and joined to the renewal date, it produces two lists: accounts under a stated utilisation with a renewal inside 120 days, which are downgrade or churn risk and need a success conversation now, and accounts at or above their cap, which are expansion with the evidence attached. The seat table's ARR sums to the ARR ledger, so the risk and the opportunity are stated in dollars that reconcile.

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.

The measures

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

The rows you need

  • Usage export: account, seat, last meaningful action date.
  • Contract register: account, contracted seats, price per seat, renewal date, ARR.
  • Account master: account, owner, segment.

Account identifiers only.

The identity

Σ 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.

A worked list

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.

Rolled up

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.

Where it goes wrong

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.

Every month, seats before renewals

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.

Questions people ask

What is an active seat?

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.

Why 120 days?

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.

How is the ARR at risk computed?

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.