Skip to main content
2,200+ contractors in the research universe benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level
Benchmarks

Technician Utilization: The KPI Contractors Ignore

Sam YangEx-CFO across trades, SaaS & services · $2.5B in total PE/banking transactions · Stanford MBA
Updated October 7, 2026·Originally published May 10, 2025·11 minute read
Share
Technician Utilization: The KPI Contractors Ignore, Level

The short answer

Technician utilization is billable hours divided by total paid hours. Level's measured 97.1% median is a different metric: billing capture, or hours invoiced divided by hours logged on jobs, across 963 companies. Track both. Utilization finds paid capacity lost to drive time, training, administration, and idle time. Billing capture finds job-logged work that never reaches the invoice.

Key takeaways

  • Level billing capture ranges from 66.9% at the 10th percentile to 102.0% at the 90th percentile. Values above 100% need a period, billed-hour-conversion and duplicate-line check; their cause is not measured.
  • The denominator matters: job-logged hours for billing capture, total paid hours for utilization.
  • Labor-hours-versus-budget is a third metric. Across 315,393 measured jobs, the median was 99.4% of budget and 40% exceeded budget.

The Most Expensive Metric Nobody Tracks

Ask a contractor their revenue. They know it instantly. Ask their gross margin. Most can give you a rough number. Ask for technician utilization and billing capture separately, and the definitions often blur together.

The distinction matters. Technician utilization divides billable hours by total paid hours. Billing capture divides hours invoiced by hours already logged on jobs. Drive time, training, administrative work, and idle time belong in the utilization denominator but may never enter the billing-capture denominator.

The Benchmark Data

Level's downloadable benchmark data includes billing capture across 963 companies with at least 100 job-logged hours:

PercentileBilling CaptureWhat It Means
Top 10% (P90)102.0%Invoiced hours exceed logged hours; investigate timing, duplicates, bundled lines and unit conversion
Top 25% (P75)100.0%Nearly every hour billed
Median97.1%Strong, most hours accounted for
Bottom 25% (P25)89.2%About 10.8% of job-logged hours not on invoices
Bottom 10% (P10)66.9%One-third of job-logged hours are not captured on invoices

The median is higher than many utilization benchmarks because this denominator includes only hours logged on jobs. A ratio above 100% does not prove premium billing: a higher price normally changes dollars, not hours. Check reporting periods, billed-hour conversions, repeated invoice lines and logging completeness. The 10th-percentile boundary is 66.9%, so the lower decile is at or below that value.

What the Spread Actually Costs

Let me make this concrete.

Fictional scenario: take two contractors that each record 40,000 hours on time-and-materials jobs at a blended bill rate of $79 per hour. The $79 figure is the median company-level average billed labor rate in Level's data (n=1,770). That rate-card field is entered inconsistently, so use your own rate card. This scenario does not assume those are the only hours on payroll.

Contractor A: 96% billing capture

  • Invoiced hours: 38,400
  • Potential labor billing: $3,033,600

Contractor B: 77% billing capture

  • Invoiced hours: 30,800
  • Potential labor billing: $2,433,200

Same job-logged hours and same rate. $600,400 difference in potential labor billing. That is 7,600 job-logged hours not reflected in invoices. Payroll and true utilization require total paid hours and must be evaluated separately.

The gap is not all recoverable cash. Run two checks before calling it lost billing:

  • Pricing model. Flat-rate, fixed-price, and service-agreement jobs are invoiced by the job, not by the hour. On those jobs, a low hours-invoiced ratio can simply mean the invoice carries no hour count. This page does not document how the 963-company billing-capture metric treated non-hourly jobs. Filter your own data to time-and-materials jobs before comparing with the 97.1% median.
  • Billable status. Warranty, callback, and internal jobs may be logged correctly and still not be billable. Separate them before sizing the gap.

What remains after those filters is the hourly work worth reviewing invoice by invoice.

Budgeted vs. Actual: The Other Half of the Equation

Utilization isn't just about billing hours worked. It's about working the hours you estimated.

The review bands below are illustrative planning assumptions for a shop's own jobs. They are not measured Level percentiles. Set your own bands from your job history.

Review band (illustrative)Actual / BudgetedWhat to check
Under budgetBelow 85%The estimate may be padded, or scope was dropped. Check whether the job was priced on the padded hours.
On target85-100%Estimate and execution agree. Spot-check that hours were actually logged, not just budgeted.
OverAbove 100% to 150%Review scope changes, change orders, and who was staffed.
Severe overrunAbove 150%Treat each job as an estimating or execution review. Level's data counts 18.3% of measured jobs in this range.

One individual HVAC review showed actual hours below the budget, but that one observation does not establish a healthy band for every job mix. The company figures stay qualitative. Jobs far above budget warrant several checks. Either the estimate was unrealistic, or the job was staffed with people who take longer than the estimate assumed. A third check is time entry: hours charged to the wrong job inflate one job and flatter another.

The practical fix is to estimate from historical job data. Fictional example: if your last 50 comparable residential installs averaged 14 logged hours, a new estimate of 10 hours needs a stated reason.

The Hours Efficiency Distribution

Drilling into job-level data reveals why averages are misleading:

MetricValue
P25 (Actual / Budgeted)70.1%
Median99.4%
P75131.1%
% of Jobs Over Budget40.0%
% of Jobs Over 150% of Budget18.3%

The median job hits 99.4% of budgeted hours, almost exactly on target. But the average is 119%, pulled up by the 40% of jobs that exceed their budget. And 18.3% blow past 150% of budget, those are the jobs where a 10-hour estimate becomes a 15+ hour reality.

This distribution measures hours, not margin, so it does not rank overruns against other margin problems. The mechanism is still worth tracking. A job that runs 50% over budget on labor costs the extra hours and can also push back the next job's schedule. In hours, the P25 at 70.1% shows that a quarter of jobs finish well under budget. The 119% mean indicates overruns dominate in job-weighted percentage-of-budget terms; the published data does not give an hours-weighted comparison. Check the margin effect in your own job costing, because a fixed-price job and a time-and-materials job absorb the same overrun differently.

Why True Utilization Drops

The Level percentile table above measures billing capture. When true utilization, billable hours divided by total paid hours, is low, the causes usually cluster into five buckets:

1. Drive Time

Techs driving between jobs aren't billing. Illustrative planning assumption, not a measured benchmark: for a service company covering a wide territory, 1-2 hours of drive time in an 8-hour paid day is 12.5% to 25% of paid time that usually cannot be billed. Measure your own drive time from route or timesheet data.

The fix isn't eliminating drive time, it's routing more efficiently and clustering jobs geographically. The dispatch software can help, but the real win is building density in your service territory.

2. Unbilled Administrative Tasks

Parts runs, paperwork, shop time, meetings, training. These are necessary but unbilled. The question is how much.

Measure admin time as a share of total paid hours. As an illustrative planning assumption, not a measured benchmark, admin time above 10% of paid hours could trigger a review. At 25% or more, run a process review: techs may be doing work that office staff could handle, or spending too long on paperwork after each job.

3. Warranty and Callback Work

Some callbacks are unbilled labor against an earlier job; customer-caused returns or warranty arrangements can have different billing treatment. If your first-time fix rate is low, your utilization drops because techs are making second (and third) trips to the same job.

Track callbacks by technician, not just by job. If one tech has 30% callbacks and others 5%, first match job complexity, assignments, parts and return definitions. The gap is a diagnostic lead, not proof of a training cause.

4. Bench Time

Techs on the payroll with no jobs dispatched. This is the most visible utilization killer, but it's often seasonal (slow months) rather than structural. It's also compounded by sector churn, because every replacement tech spends time ramping before they're fully billable, dragging fleet-wide utilization down. The linked article discusses construction separation rates. This page does not independently verify a monthly figure, so check the current source there before quoting one. The real problem is when you have bench time during peak season, that means your sales pipeline or dispatch isn't keeping up.

5. Time Entry Gaps

Sometimes the problem isn't actual utilization, it's tracking. Techs forget to clock into jobs, log time at the end of the week instead of real-time, or round to the nearest hour. This makes utilization look worse (or better) than it actually is.

The fix: real-time time tracking through your field service app. GPS-verified clock-in/clock-out. Zero tolerance for end-of-week time entry.

Free benchmark review

See how your margins benchmark.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

The Revenue Per Technician Benchmark

Utilization feeds directly into revenue per technician, a figure buyers and lenders commonly ask about alongside margin and cash conversion.

Define the metric before comparing it with anything:

MetricNumeratorDenominatorUse
Total revenue per field technicianTotal revenue for the periodAverage count of billable field techsCapacity and pricing check
Labor revenue per field technicianInvoiced labor revenueAverage count of billable field techsIsolates utilization and bill rate
Service-agreement (SA) revenue per employeeAnnual recurring maintenance-agreement revenueReported employee count (definition varies by company; may include office staff)Agreement program density

The published aggregate distribution available here is the third row. Earlier individual-company reviews also illustrated wide differences in total revenue per technician, including lean teams. Those company observations are kept qualitative and cannot be compared directly with an agreement-revenue-per-reported-employee distribution. Across 217 eligible companies, annual service-agreement revenue per employee had a median of $28.5K, with P25 at $11.4K and P75 at $64.1K. That figure has three limits. It is a directional observation, not a staffing target. It divides by reported employee count, which can include office staff and varies by company, rather than a consistently defined field-tech count. It covers agreement revenue only. So it is not comparable with total revenue per tech or with revenue-per-tech ranges on other Level pages.

For a consistently scoped hourly-work cohort, labor revenue per tech can be decomposed as paid hours x eligible job-logged hours/paid hours x invoiced hours/eligible job-logged hours x realized revenue/invoiced hour. Do not substitute an all-job capture ratio or double-count already invoiced hours as the utilization numerator. Fictional example: 2,000 paid hours x 70% job-logged share of paid hours x 97% capture x $79 = $107,282 of labor billing per tech. If your number is low, test each factor separately. Check the bill rate benchmarks to see where you stand on pricing.

How to Measure Both Metrics

Step 1: Calculate utilization. Pull total labor hours paid from payroll and eligible billable job hours from field-service records for the same period. Divide eligible billable job hours by paid hours. If you use invoiced hours instead, you measure utilization multiplied by billing capture; do not apply capture a second time. This shows paid capacity converted into billable work.

Step 2: Calculate billing capture. Pull hours invoiced and hours logged on jobs for the same period. Divide invoiced by job-logged. This matches Level's published formula. Compare only after checking job types, scope, reporting periods and the unpublished treatment of non-hourly work; matching a formula alone does not establish matching populations.

Step 3: Break both down by technician and job type. The aggregate number hides whether the issue is dispatch capacity, time entry, warranty work, or invoice construction.

Step 4: Categorize non-billable and uncaptured time separately. Drive time, administration, callbacks, bench time, and training explain utilization. Job-logged hours missing from invoices explain billing capture.

Step 5: Set targets by role and work type. A service technician, apprentice, and project foreman have different paid-hour ceilings. Set utilization targets from the role's actual paid-time mix rather than applying the 97.1% billing-capture benchmark.

Step 6: Review weekly. Monthly is too slow. Weekly review catches both paid-capacity loss and invoice leakage while the underlying jobs can still be corrected.

When Utilization Metrics Mislead

Project-based contractors (GCs, large commercial mechanical) measure utilization differently than service contractors. A 4-month construction project has different labor dynamics than daily service calls. Don't compare a GC's utilization to an HVAC service company's.

Seasonal businesses will show terrible utilization in slow months and great utilization in peak months. Look at rolling 12-month averages, not monthly snapshots.

Very small teams are volatile. Fictional example: in a 5-tech shop, one tech on paid sick leave for a week removes one fifth of that week's billable capacity while paid hours stay the same. Weekly utilization therefore falls by about 20% of its prior level. In a small shop, use rolling multi-week or 12-month views before reacting to one week.


The Bottom Line

Labor is a major cost and revenue driver. The difference between capturing 77% and 96% of 40,000 job-logged hours is $600,400 at $79 per hour. That is billing exposure, not proof that paid-hour utilization is low. Measure both denominators before deciding whether the fix belongs in dispatch, time entry, job costing, or invoicing.

Track the number. Break it down by tech. Fix the gaps. Then watch what happens to your margins.

Q: How does Level track technician utilization? A: A Level review uses the same inputs described above: paid hours from payroll, job-logged and invoiced hours from field service records, and your rate card. From those, it calculates utilization and billing capture by tech and looks for the causes listed here: drive time, callbacks, bench time, and time entry gaps. Which systems can be connected directly depends on your software, so confirm that during scoping. The first audit is free.

Q: What's the fastest way to improve utilization? A: Start with three controls: enforce real-time time entry, cluster jobs geographically where the route data supports it, and track callbacks by technician. Measure the baseline and the next eight weeks before assigning an improvement percentage. The likely constraint differs by shop.

Source and claim note

The measured billing-capture and labor-budget distributions come from Level's downloadable contractor benchmark data. Billing capture is hours invoiced divided by hours logged on jobs, n=963. Labor hours versus budget covers 315,393 jobs from 1,391 companies. Utilization targets and worked dollar examples are operating scenarios and must be recalculated using the shop's total paid hours, job-logged hours, invoiced hours, and rate card.

Q: How does this connect to profitability? A: Directly. Utilization drives the labor line. Level's quote-line data shows labor at 47.7% gross margin on quoted work across 2.2M+ quote line items (background on contractor financials). That is a margin on quoted lines, not a measured return on added hours.

Fictional scenario: a 20-tech crew with about 2,000 paid hours per tech gains 10 percentage points of utilization, and customer demand exists for the added hours. That is 4,000 more billable hours, or $316,000 of labor billing at $79 per hour if all of those eligible hours are invoiced. Do not then apply a 47% margin. If those hours were already on payroll, the company's incremental pre-tax profit is the billing less only added costs, such as materials, overtime or commissions. Reported gross profit can rise by less if formerly nonbillable time was booked to overhead and is now charged to jobs: that labor cost moves between lines rather than disappearing. If you hire to create the hours, use your own loaded cost per hour instead. Measure your baseline first.

Share

Get the next one

Want next week's benchmark in your inbox?

One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.

Sam Yang

About the author

Sam Yang

Founder & CEO

Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.

LinkedIn

See how your margins benchmark.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

2,200+ businesses benchmarked$13.25B in revenue analyzedWeekly action cadence

No credit card. Start with a 15-min call. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.