Agency Ops11 min read

Billable Utilisation Is a Vanity Metric: What to Watch Instead

A team can run at 90% billable utilisation and still lose money. Utilisation measures busyness, not value — and it is the easiest agency number to game. The case for watching real margin per head and realised rate instead, with a worked example of two teams at identical utilisation and very different profit.

In short

Billable utilisation is the metric agency operators reach for first and trust most, and it is a vanity metric. It tells you how busy the team is. It does not tell you whether the work the team is busy on makes money. A team can sit at 90% utilisation and lose money — busy on discounted work, busy with seniors doing junior-priced tasks, or simply busy on paper because of how the hours get logged.

The trap is that utilisation feels like a profit signal because it is correlated with profit in the easy case: an idle team certainly loses money. But the correlation breaks in the case that matters. Once a team is reasonably busy, the question is no longer how many hours are billable. It is what each billable hour earns and what it costs to deliver. Utilisation is blind to both.

This piece works an example of two teams at an identical 85% utilisation. Same headcount, same cost, same busyness. One returns a 32% real margin; the other returns about 4%. The entire difference is in the realised rate and the role mix — neither of which utilisation can see.

The recommendation is to demote utilisation to what it actually is — a capacity and bench signal — and to watch real margin per head and realised rate as the profit signals. Keep utilisation on the dashboard. Just stop letting it run the agency.

If you ask an agency owner how the business is doing and they reach for a single number, the number is usually billable utilisation. "We're running at 88% this quarter" is offered the way a healthy temperature is offered: as evidence that nothing is wrong. Utilisation is the metric that gets put in board packs, benchmarked against industry surveys, and used to justify the next hire or the next round of pressure on the delivery team.

I used it that way for years, and I was wrong to. Billable utilisation is a vanity metric. It measures how busy the team is, and busyness is not the same as value. A team can be 90% utilised and unprofitable, and when that happens, utilisation is the metric that hides it — because the number looks excellent right up until the year-end accounts say otherwise.

This piece is for the CEO or finance director who has a utilisation target on the wall and a margin number that does not match it. I want to make the case that the two can diverge completely, show you a worked example where they do, and give you the metrics to watch instead. None of this means utilisation is useless. It means utilisation is a capacity signal that has been promoted, wrongly, into a profit signal.

What billable utilisation actually measures

Billable utilisation is the share of a person's available time that is logged against billable work. If someone has roughly 480 working hours in a quarter and logs 408 of them to client projects, they are 85% utilised. The remaining 15% is internal work, admin, sales support, training, and bench time.

That is a useful thing to know. It tells you whether you have more capacity than you are selling, which is a real and important question. If a team sits at 55% utilisation, you have either over-hired or under-sold, and the number is doing exactly the job it should.

The problem starts when utilisation is read as a proxy for profitability. The unspoken logic is: billable hours generate revenue, revenue generates margin, so more billable hours means more margin. The first link in that chain is true. The second is not. Revenue generates margin only if the revenue exceeds the cost of producing it — and utilisation says nothing whatsoever about either the rate the billable hour was sold at or the cost of the person delivering it.

A billable hour logged by a senior at a discounted support rate, on work that was scoped for a junior, is a billable hour. It counts towards utilisation exactly the same as an hour of well-priced senior work on a properly scoped build. Utilisation cannot tell them apart. It counts the hour, not the value of the hour. That is the whole of the problem.

Why high utilisation hides low margin

There are three ways a team gets to high utilisation while making little or no money, and they are common enough that most agencies are running at least one of them somewhere in the book.

The work is discounted. A team kept busy on engagements won on price is fully utilised and barely profitable. Every hour is billable; every hour is billed below the rate the work needs to sustain. The realised rate on that work has drifted below cost-justified, but utilisation reports 90% and everyone relaxes. Busyness on thin work is still busyness.

The role mix is upside-down. When seniors absorb work that was scoped and priced at junior rates, the hours are billable and the project ships, but the agency is paying a senior cost line to deliver junior-priced output. I have put pounds on this elsewhere — the cost of senior developers doing junior work runs to a low six-figure annual leak at a mid-sized agency — and utilisation is completely blind to it. The senior's hours are billable either way. Utilisation counts them; it does not cost them.

The hours are gamed. This is the uncomfortable one. Utilisation is the easiest agency number to manage upward, because it is constructed from how people log their time, and people log their time knowing the number is watched. When utilisation is the metric that determines whether a team looks healthy — or whether an individual looks busy enough — internal work quietly gets logged as billable, generous estimates get logged to the nearest comfortable figure, and the bench hours that should be visible as spare capacity disappear into project codes. The number goes up. Nothing real changes. If you want a team to hit 90% utilisation, make it the metric you reward, and it will hit 90% whether or not there is 90% of value being delivered.

In all three cases the failure mode is the same: utilisation rises, or holds high, while margin does not. The metric is not lying. It is answering a question about busyness honestly. It is just being asked to answer a question about profit, which it cannot.

A worked example: two teams, one utilisation, two outcomes

Take two delivery teams, anonymised and scaled to round numbers. They are deliberately identical on every input that utilisation can see.

  • Both teams have 6 people.
  • Both have a quarterly capacity of about 2,880 hours (6 people × ~480 hours).
  • Both run at 85% billable utilisation — about 2,448 billable hours each for the quarter.
  • Both carry the same fully-loaded cost: a blended £75 per hour across all paid hours, so £216,000 of cost per team for the quarter (2,880 hours × £75 — you pay for capacity, not just for the billable share).

On a utilisation dashboard, these two teams are indistinguishable. Same headcount, same busyness, same cost base. A manager reviewing utilisation would have nothing to choose between them.

Now look at the realised rate — the revenue each team actually collected per delivered hour.

Team ATeam B
People66
Billable utilisation85%85%
Billable hours (quarter)2,4482,448
Realised rate per hour£130£92
Revenue£318,240£225,216
Fully-loaded cost£216,000£216,000
Real margin (£)£102,240£9,216
Real margin (%)32.1%4.1%
Real margin per head (quarter)£17,040£1,536

Same utilisation. Same cost. Team A returns 32% and a little over £17,000 of margin per head for the quarter. Team B returns 4% and £1,536 per head — a rounding error away from losing money, and one bad week of unbilled scope away from the wrong side of zero.

The entire difference is the realised rate. Team A is on well-priced builds, with seniors on senior-priced work. Team B is on discounted retainers and support, with seniors absorbing junior tickets and a bit of generous logging on top. Utilisation cannot see any of that. It saw two teams at 85% and called them equal. They are not within a factor of ten of equal on the only axis that pays the wages.

This is the comparison drawn the way it should be read — utilisation set aside, realised rate and margin per head in front.

saldo.team / teams / quarter / margin-per-head
Worked example · anonymised
Two teams at 85% utilisation
Identical headcount, cost and busyness · very different profit
Realised rate per delivered hour
Team A
£130
Team B
£92
Team A · real margin
32.1%
£17,040 per head
Team B · real margin
4.1%
£1,536 per head
Both · utilisation
85%
indistinguishable

What to watch instead

The fix is not to throw utilisation away. It is to put it back in its place — a capacity signal — and to promote two numbers above it as the things leadership actually steers by.

Real margin per head. This is the number Team A and Team B differ on, and it is the number that decides whether the agency makes money. Compute it as real project margin — revenue minus labour at named-person cost, allocated overhead, and unbilled scope — rolled up by team and divided by headcount. Per head matters because it is comparable across teams of different sizes and because it answers the hiring question directly: a team returning £17,000 of margin per head per quarter can absorb another person; a team returning £1,500 cannot, and adding to it just multiplies a thin number. For the full definition of what belongs in that margin figure, see what project margin actually is.

Realised rate. Revenue collected divided by hours delivered, per project and per client. This is the leading indicator that explains the margin-per-head number before it lands in the accounts. When the realised rate on a team's book slides, real margin per head is going to follow it down a quarter later. Watching the realised rate gives you the warning; watching margin per head confirms the damage.

Utilisation — kept, demoted. Utilisation stays on the dashboard as what it genuinely measures: spare capacity and bench. Read it for the under-busy case, where it is doing honest work — a team at 55% is a real signal that you have over-hired or under-sold. Stop reading it for the busy case, where it tells you nothing about whether the busyness is profitable. The rule I settled on: utilisation can tell you that you have a problem when it is low. It cannot tell you that you are healthy when it is high.

A simple way to hold all three together is a two-axis view: utilisation on one axis, real margin per head on the other. The team you want to find is the one in the corner that utilisation alone would never flag — high utilisation, low margin per head. That is the team busy losing money, and it is invisible on every utilisation report ever printed.

Why the number is so sticky

It is worth being honest about why utilisation persists despite all of this, because the reasons are not stupid. Utilisation is easy to compute from a timesheet, easy to benchmark against industry surveys, and easy to explain to a board. Real margin per head requires real employee cost per person, overhead allocated properly, and unbilled scope counted — three numbers that most agency stacks do not hold at the right granularity. Faced with an easy number that is roughly right in the easy case and a hard number that is exactly right in the case that matters, most operators reach for the easy one and hope.

That is the same instinct that makes labour margin stand in for project margin, and it has the same cost: a metric that is reassuring precisely when it should be raising the alarm. The work of computing the better numbers is real, but it is one-time plumbing, not ongoing effort — once the cost data is in place, real margin per head and realised rate fall out of the same worklogs that already feed your utilisation report.

The financial layer I built reads Jira worklogs at each named person's real cost and reports real margin per head and realised rate continuously, so the busy-but-bleeding team surfaces while you can still do something about it rather than at the post-mortem. If you would like to see your own teams ranked by margin per head rather than by busyness, on your real Jira data, the 15-minute demo runs on exactly that — no card details up front, and the numbers are yours.

The shorter version: utilisation tells you whether the team is busy. It does not tell you whether being busy is worth anything. Two teams at 85% can be a factor of eight apart on margin per head, and the only way to tell them apart is to watch the realised rate and the real margin — and to let utilisation go back to measuring the one thing it is good at.

Continue inside Saldo

More on this topic

Agency Ops12 min read

Client Concentration Risk: When One Account Is 40% of Your Revenue

When a single client is 30–40% of agency revenue, it is both a margin risk and a valuation risk. How to measure client concentration risk on real margin, not just invoice value, what a healthy client mix looks like, and how to de-risk on purpose.

Agency Ops11 min read

Why Your Design Team Looks Unprofitable (and Usually Isn't)

On most agency margin reports the design team reads as the loss-making line. The cause is rarely the team — it's unbounded revisions, undefined sign-off, unscoped discovery, and design hours bleeding into the build. How to fix design agency profitability without crushing craft.

Agency Ops12 min read

Profitable on Paper, Tight in the Bank: Cash Flow vs Margin for Agencies

A profitable agency can still run out of cash, because margin is an accrual idea and cash is a timing idea. Where the gap opens — WIP, milestone lag, deferred revenue, payroll, the VAT trap — and a worked example of a month that is profitable on the P&L and cash-negative in the bank.

Popular reads