Agency utilisation: does the work fit the roster?
A capacity model, not a productivity score. It answers one question honestly: given the people you have, the days they work, and the billable share you have committed to selling, does the work you have already booked actually fit — and what happens to the month when one person is not there?
Capacity first, judgement later
Enter the billable people on the roster, the working days in the month, the hours in a day, and your own billable target. The tool gives you total available hours, the billable hours that target commits you to, and the gap between them. Then add the hours you have already booked or committed to, and it tells you in plain language whether you are over- or under-committed. The scenario at the bottom takes one person out of the roster for a number of days and shows the same month again.
The billable target is your own assumption, entered by you, not a benchmark we have measured for your sector. The non-billable remainder is the honest cost of running an agency — sales calls, pitches, internal reviews, timesheets, and the unpaid part of a month that nobody invoices.
- Total available hours
- 704 hrs
- Billable hours at target
- 492.8 hrs
- Non-billable hours at target
- 211.2 hrs
- Gap to your target
- -67.2 hrs
- Utilisation vs capacity
- 79.6%
- Your billable target
- 70%
- Available per person
- 176 hrs
- Booked per person
- 140 hrs
- People the booked work implies
- 4.55 people
Over-committed by 67.2 hrs. You have booked 79.6% of physical capacity, but your own billable target only commits 70% of it to billable work. The gap is work you have promised that the roster cannot absorb at the target you set.
The booked work implies 4.55 people at the billable target you set, against a roster of 4. The arithmetic gap is 0.55 people — which is the shape of the decision: add a contractor, move a date, raise the price on the excess, or accept that your billable target was never achievable at this roster size. Which of those is right depends on the pipeline, and the tool cannot see the pipeline.
Scenario: 5 days lost to one person
| Measure | Full roster | One person away | Change |
|---|---|---|---|
| Available hours | 704 hrs | 664 hrs | −40 hrs |
| Billable hours at target | 492.8 hrs | 464.8 hrs | −28 hrs |
| Utilisation | 79.6% | 84.3% | +4.8 pts |
| Gap to target | -67.2 hrs | -95.2 hrs | worse by 28 hrs |
Losing 40 hrs of capacity does not remove work — it loads the same 560 hrs of committed work onto a smaller envelope, so utilisation reads 84.3% instead of 79.6% and the shortfall against your target widens from 67.2 hrs to 95.2 hrs. Nothing about anyone’s effort changed. This is a capacity model, not a productivity score: it says the work does not fit, not that the people are not keeping up.
What this cannot do: it does not know how your days are really spent, whether the booked hours include a realistic revision allowance, whether a retainer is genuinely billable, or how a person splits their month. It also cannot see holidays, part-time contracts, or a pipeline that has not closed yet. The number it produces is only as honest as the target you set and the hours you counted.
How this is calculated
Total available hours = People × Working days × Hours per day
Billable hours at target = Available hours × Billable target ÷ 100
Non-billable hours = Available hours − Billable hours at target
Utilisation = Booked hours ÷ Available hours × 100
Gap to target = Billable hours at target − Booked hours
People the work implies = Booked hours ÷ (Working days × Hours per day × Target ÷ 100)
Scenario capacity lost = Days away × Hours per day
Scenario utilisation = Booked hours ÷ (Available hours − Capacity lost) × 100The billable target is an input, not a finding. It is a number you set, and the tool has no opinion about what a healthy agency target should be for a team your size in your city. That matters, because the gap is only ever measured against the target you chose. Set the target aspirationally and every month looks over-committed; set it at the level you would actually sign, and the gap becomes a real signal. Utilisation against total capacity is shown separately, because 100% billable utilisation is not a goal — it is a month with no slack in it, and slack is what absorbs a client calling with an emergency.
Worked example: a month that was already full
Four billable people, 22 working days, 8 hours a day, gives 4 × 22 × 8 = 704 available hours in the month. At a 70% billable target that is 492.8 billable hours, leaving 211.2 hours for everything that is not a client: sales calls, pitches, internal reviews, timesheets, and the administrative tail that no invoice ever covers. Available capacity per person is 176 hours.
Now enter the 560 hours already committed. Utilisation against raw capacity is 560 ÷ 704 = 79.5%, which sounds healthy and is not the relevant comparison, because 79.5% of capacity being billable work means the roster is being run with no non-billable allowance at all. The gap that matters is against the target: 492.8 − 560 = −67.2 hours. The month is over-committed by 67.2 hours. Each person is carrying 140 booked hours against 176 available, and the work implies 4.55 people at the target, against a roster of 4.
The scenario shows the shape of the problem better than the headline does. Losing one person for five days removes 5 × 8 = 40 hours of capacity, taking available hours to 664 and billable hours at target to 464.8. Nobody’s effort changed, and nobody did anything wrong — but the same 560 hours of committed work now sits on a smaller envelope, so utilisation reads 84.3% instead of 79.5% and the shortfall widens from 67.2 to 95.2 hours. That 28-hour loss of billable capacity is the real cost of the absence, and it is a capacity fact rather than a comment on anybody’s performance.
Utilisation is a number somebody estimated twice
The honest version of this calculation is less flattering than a dashboard. Booked hours are usually a projection, not a measurement, and a projection written at the start of a project keeps the optimism it started with. Nobody re-counts the revision round. Retainers get counted as fully billable on the days they are actually chasing invoices. And the roster count quietly drops a person who has been on leave for six weeks but is still on the spreadsheet.
That is why the tool measures capacity against a target you set rather than against a benchmark, and why it refuses to call anybody productive or unproductive. It can tell you the work does not fit. It cannot tell you the hours were counted honestly, and the difference between those two statements is where the useful conversation lives. If the answer is always “over-committed”, the useful question is not whether to hire — it is whether the booked hours were ever real.
A capacity model earns its keep when it is attached to the work rather than remembered at the end of it. In NoxOrigin, projects carry status, dates, and members; scope breaks into task lists with priorities; each task has one assignee and a due date, and finished work reaches billing because delivery and finance read the same records. That is what turns a capacity argument into something a manager can act on. See Projects & Work, the Today attention queue that surfaces assigned and overdue work, and Agency Management Software for the same records framed around client work.
Related tools
- Quote Estimator Calculator — check the rate a job actually earns before you promise it.
- CRM Migration CSV Builder — clean the customer rows before they become pipeline.
- Project Profitability Calculator — what the delivered hours returned.
- Lead Response Time Calculator — the other half of the same month.
- Profit Margin Calculator — turn the month’s revenue and costs into a margin.
- For agencies and consultancies — how the operating record changes for client work.
- All free tools for small business operations.
Want capacity you can read off the work?
NoxOrigin keeps the work attached to the reason it exists. Projects carry status, dates, and members; tasks carry priorities, assignments, and due dates; recurring client follow-ups are records rather than calendar notes that die. The Today area turns that into an operating day — assigned work, overdue items, and role-scoped queues — so an over-committed month becomes visible as a queue of work with owners, not a monthly opinion about how everyone is coping. Reports read quoted, billed, collected, and outstanding as four separate states, so capacity pressure shows up against revenue rather than in isolation.
This is a planning view of the hours you enter. It does not track time automatically, and how accurately people log work remains the thing that decides whether any of it is useful.