Report templates

Engineer utilisation: the definitions that stop the arguments

An engineer utilisation calculation is only as good as the definition behind it. Here are the choices for available, billable, chargeable and productive hours, the fields that feed each, and a calculator to compare them.

By Simon DuttonLast reviewed

Why the same engineer can be 26% or 86% utilised

Ask the service manager, the finance director and the MD for last month's engineer utilisation and you will often get three answers. Nobody is lying. Each of them has divided a different set of hours by a different denominator, usually inside their own spreadsheet, and none of the three formulas is written down anywhere.

The arithmetic is never the hard part of an engineer utilisation calculation. The hard part is deciding, once and in writing, what goes on the top of the fraction and what goes on the bottom. This page sets out the choices, the timesheet and job fields that feed each one, and a calculator so you can see how far apart the definitions sit for the same person.

The two questions behind every utilisation figure

Every version of the formula answers two questions:

  1. Which hours count as capacity? This is the denominator: contracted hours, or contracted hours less the time the engineer was never going to be in the field.
  2. Which hours count as use? This is the numerator: everything booked to a job, only the time a customer pays for, or only the time that reaches an invoice as labour.

Change either answer and the percentage moves, sometimes by tens of points. Most arguments about whether utilisation is "good" are really an unspoken disagreement about one of these two questions.

Definitions worth agreeing

Available hours (the denominator)

Start from contracted hours for the period, taken from the HR record and shift pattern rather than assumed to be 40 a week. Then decide each adjustment explicitly:

Item Usual treatment Why
Annual leave and bank holidays Subtract The engineer was never available to schedule.
Sickness Subtract Same reason. Report it separately so it stays visible.
Training Your choice; we suggest subtract Planned time out of the field. Counting it as available punishes the teams you are upskilling.
Overtime and attended call-outs Add If those hours appear in the numerator, they must appear in the denominator too.
Standby (on call, not attending) Leave out entirely Being reachable is not working. Only attended call-out time counts, and it goes through overtime.
Part-time contracts Use their own contracted hours A 24-hour-a-week engineer has 24 hours of capacity, not 40.

The overtime row causes the most quiet inflation. If a team works a busy weekend and the extra hours land in the numerator but not the denominator, utilisation rises even though nothing became more efficient.

Billable, chargeable and productive (the numerator)

These three words get used interchangeably. They shouldn't be:

Term Includes Excludes
Productive hours All on-site job time, including call-backs and rework, plus travel between jobs Admin, stores, meetings, unrecorded time
Billable hours On-site time a customer pays for, whether charged by the hour or covered by a contract or PPM fee Rework, call-backs, travel (unless you charge for it)
Chargeable hours Only labour that appears as a line on an invoice Contract and PPM visits paid through a fixed fee

Productive utilisation tells you whether engineers are kept busy. Billable utilisation tells you whether that busyness is paid for. Chargeable utilisation tells finance how much labour revenue is directly tied to hours. A contract-heavy maintenance business will always look poor on chargeable utilisation, and that is fine as long as nobody reads it as a productivity measure.

Where the awkward hours go

  • Travel. Productive, because the job can't happen without it. Not billable unless your price list charges it, in which case it moves into billable and, if invoiced as labour, chargeable.
  • Call-backs and rework. Productive but not billable. Track them as their own line: rising rework hours inside a flat productive figure is a quality problem hiding in a utilisation report.
  • Admin, van stock and meetings. Neither productive nor billable. Worth reporting, because a high number usually points at process rather than people.
  • Unrecorded time. Hours worked minus hours booked. It isn't a category anyone chooses; it is the gap the timesheet doesn't explain, and it should be shown rather than quietly absorbed.

Try the definitions on one engineer

The calculator below starts with a fictional engineer's four weeks. Change any number, or switch the two definition choices, and watch each formula recalculate. Under each input is the system and field that would normally supply it.

Utilisation calculator

One engineer, four definitions

Pick a fictional engineer or type your own hours for a period. Each result shows its formula with your numbers in it.

Hours in the period

Capacity: who was there

HR system: employee.contracted_hours_per_week × weeks in period; shift_pattern.id for part-time and four-on-four-off rotas

HR / leave system: absence.type IN (annual, bank_holiday), absence.hours

HR / leave system: absence.type = sickness, absence.hours

HR system or timesheet: absence.type = training, or timesheet.activity_code = TRN

Timesheet / payroll: timesheet.pay_code IN (OT1, OT2, CALLOUT), timesheet.hours

Where the worked hours went

Job system + invoices: job_labour.hours WHERE job.billing_type = T&M AND invoice_line.type = labour

Job system: job_labour.hours WHERE job.billing_type IN (PPM, contract, fixed_price)

Job system: job_labour.hours WHERE job.type = recall OR job.parent_job_id IS NOT NULL (non-chargeable)

Timesheet or job app timestamps: timesheet.activity_code = TRV, or visit.travel_start → visit.arrived_at

Timesheet: timesheet.activity_code IN (ADM, STR, MTG, VAN)

Kept out of utilisation

Rota / on-call schedule: rota.shift_type = on_call; attended call-outs move to overtime

Definition choices

Available
148 h
Worked
148 h
Unrecorded
8 h

Available = 160 − 16 leave − 0 sick − 8 training + 12 overtime = 148 h

  • Productive utilisation

    85.8%

    (38 + 46 + 9 + 34) ÷ 148 = 85.8%

    All on-site time plus travel, over available hours. Leaves out admin and unrecorded time.

  • Billable utilisation

    56.8%

    (38 + 46) ÷ 148 = 56.8%

    On-site time a customer pays for, by the hour or through a contract. Rework and travel excluded.

  • Chargeable utilisation

    25.7%

    38 ÷ 148 = 25.7%

    Only hours that appear as labour lines on an invoice.

  • Job hours ÷ contracted (the common shortcut)

    58.1%

    (38 + 46 + 9) ÷ 160 = 58.1%

    Ignores leave, sickness and overtime, so it moves with the holiday calendar.

Standby hours (56) are kept out of every definition. Call-outs actually attended belong in overtime and the job lines.

Inputs: HR and leave, rota, timesheets, job system, invoices

Four-week period (illustrative)

Illustrative, fictional data. Engineers and hours are invented to show how each definition behaves.

Worked example (illustrative, fictional)

Ruth is a fictional full-time fire and security engineer on a 40-hour week. Over a four-week period her records show:

Source Item Hours
HR Contracted (40 × 4) 160
Leave system Annual leave 16
Leave system Sickness 0
HR Training course 8
Timesheet Overtime and attended call-outs 12
Job system On site, charged by the hour 38
Job system On site, covered by contract 46
Job system Call-backs and rework 9
Timesheet Travel between jobs 34
Timesheet Admin, stores and meetings 13
Rota Standby, not attending 56

Available hours = 160 − 16 − 0 − 8 + 12 = 148.

Hours booked = 38 + 46 + 9 + 34 + 13 = 140, so 148 − 140 = 8 hours are unrecorded.

Definition Calculation Result
Productive (38 + 46 + 9 + 34) ÷ 148 = 127 ÷ 148 85.8%
Billable (38 + 46) ÷ 148 = 84 ÷ 148 56.8%
Chargeable 38 ÷ 148 25.7%
Job hours ÷ contracted (38 + 46 + 9) ÷ 160 = 93 ÷ 160 58.1%

Same engineer, same month, results from 25.7% to 85.8%. Now change only the denominator choices for billable utilisation. Count training as available and it becomes 84 ÷ 156 = 53.8%. Leave overtime out of available hours while keeping the overtime work in the numerator and it becomes 84 ÷ 136 = 61.8%. That is an eight-point swing from two policy decisions, with no change in what Ruth actually did. Her 56 standby hours appear nowhere, which is correct.

Why industry benchmarks mislead

You will find utilisation "targets" quoted online with no definition attached. Without knowing whether the figure is productive or chargeable, whether travel is in it, and whether overtime is in the denominator, a benchmark can't be compared with anything. Ruth's month alone covers a 60-point range. Compare your business with itself over time, on one written definition, before comparing it with anyone else.

The data model behind the calculation

A reliable figure needs four or five systems joined, not one export:

Table Key fields Joins to
Employee (HR) employee_id, contracted_hours_per_week, shift_pattern_id, start/leave dates Everything, on employee_id
Absence employee_id, date, absence_type, hours Employee; overlaps checked against timesheet dates
Rota / on call employee_id, date, shift_type Employee; attended call-outs matched to timesheet overtime
Timesheet employee_id, date, activity_code, pay_code, job_id, hours Employee; job on job_id
Job and job labour job_id, job_type, billing_type, parent_job_id, contract_id, labour hours Timesheet; invoice lines
Invoice lines invoice_id, job_id, line_type, quantity Job, to separate chargeable from contract labour

The join that most often breaks is timesheet to job. Engineers book time against a job reference that has since been merged, cancelled or re-raised as a recall, and the hours drop out of the job-based numerator. The second is part-time and rota patterns kept in a spreadsheet the job system never sees, which makes every part-timer look under-used. The same timesheet-to-invoice join is what an unbilled jobs report relies on, so fixing it once pays twice.

How to agree one definition

  1. Pick one headline measure for the board, usually billable utilisation, and keep productive and chargeable as supporting lines.
  2. Write the denominator rules from the table above into a one-page definition, including training, overtime and standby.
  3. Fix the activity codes engineers use for travel, admin and rework so the categories can be separated without guesswork.
  4. Calculate team figures by summing hours and then dividing. Averaging individual percentages gives a part-timer the same weight as a full-timer.
  5. Show unrecorded hours next to the figure every time, so a low percentage caused by missing timesheets can be told apart from a low percentage caused by idle time.

Utilisation then sits alongside the other measures in a field service KPI set without contradicting them.

Automating it with IVP.ai

The IVP.ai Data Layer connects your job system (for example Uptick), HR and leave records, rota spreadsheets and accounts into one governed warehouse, joins them on engineer and job, and applies your written definition the same way every time. A report or agent built on it, such as one from Deskless by IVP.ai, can then publish the weekly figure with the unrecorded hours and rework alongside it. A national fire safety and security company used this approach to bring HubSpot, Uptick and finance spreadsheets into one view and saved 10+ hours a week on reporting (case study). More on the approach is on the platform page and the field service reporting hub.

If you want to see your own utilisation on an agreed definition, the free 48-hour build connects up to three of your sources, cleans the data and sets one report or agent running on real data within 48 hours of read-only access.

Questions

Frequently asked questions

What is the formula for engineer utilisation?

Utilisation is useful hours divided by available hours for the same period. Available hours are usually contracted hours minus leave, sickness and training, plus overtime worked. Useful hours depend on the definition: productive counts all job time and travel, billable counts time a customer pays for, chargeable counts only labour that reaches an invoice. Write down which one you use before comparing figures.

Should travel time count towards field engineer utilisation?

Count travel as productive, because the job cannot happen without it, but keep it out of billable utilisation unless your prices charge for it. If travel is invoiced as labour, it also becomes chargeable. Whatever you decide, record travel under its own activity code so it can be moved between definitions without reworking timesheets.

Why is our utilisation over 100%?

Usually because overtime or call-out hours are counted in the numerator but the denominator is still plain contracted hours. Add overtime worked to available hours and the figure falls back below 100%. Other causes are time booked twice against two jobs, or leave recorded in the HR system while the engineer also submitted a timesheet for the same day.

How should part-time engineers be handled in team utilisation?

Use each engineer's own contracted hours from their shift pattern as the starting point for available hours, then calculate the team figure by adding everyone's hours together and dividing once. Averaging individual percentages gives a part-time engineer the same weight as a full-time one, which distorts the team number whenever their results differ.

About the author

Simon Dutton

Simon has more than 10 years of experience as a data scientist, working with start-ups, SMEs, Google and the CMA.

Last reviewed 5 November 2026.

Your first report or agent in 48 hours.

Tell us which systems feed it. We connect them, clean the data and set the report running automatically. If it isn’t useful, walk away.