Technician Utilization: The KPI Contractors Ignore

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, with values above 100% possible when premium hours are invoiced.
- 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:
| Percentile | Billing Capture | What It Means |
|---|---|---|
| Top 10% (P90) | 102.0% | Billing more than actual, overtime/premium billing |
| Top 25% (P75) | 100.0% | Nearly every hour billed |
| Median | 97.1% | Strong, most hours accounted for |
| Bottom 25% (P25) | 89.2% | 10% of hours unbilled, starting to leak |
| 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. The top companies invoice essentially every job-logged hour, and some exceed 100% through premium or overtime billing. The lower decile captures 66.9%.
What the Spread Actually Costs
Let me make this concrete.
Take two contractors that each record 40,000 hours on jobs at a blended bill rate of $79 per hour. This scenario does not assume those are the only hours on payroll.
Contractor A: 96% billable ratio
- Billable hours: 38,400
- Revenue from labor: $3,033,600
Contractor B: 77% billable ratio
- Billable hours: 30,800
- Revenue from labor: $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.
At scale, the gap gets dramatic. Some large mechanical contractors log hundreds of thousands of actual labor hours across their teams but bill only a small fraction of them. The rest is labor they paid for and never billed, which at any realistic hourly rate adds up to millions in lost billing potential.
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 best-run operations in the dataset match budgeted hours closely:
| Performance | Actual / Budgeted | Example |
|---|---|---|
| Best-in-class | 90-100% | One HVAC company budgeted 228K hours, logged 210K (92%) |
| Good | 85-95% | Consistently close, minor efficiency gains |
| Concerning | 100-150% | Regularly exceeding estimates |
| Broken | 200%+ | Estimating and actual hours are disconnected |
Companies running well over 200% of budgeted hours have one of two problems: their estimates are unrealistic, or they're staffing jobs with people who take dramatically longer than expected. At the worst end, some contractors run 10x or more of their budgeted hours on a job, a sign their labor budgets are essentially fiction.
The contractors at 90-100% of budgeted hours share a key trait: they estimate based on historical job data, not gut feel. They know a residential HVAC install takes their team 14 hours, not because someone guessed, but because they tracked the last 50.
The Hours Efficiency Distribution
Drilling into job-level data reveals why averages are misleading:
| Metric | Value |
|---|---|
| P25 (Actual / Budgeted) | 70.1% |
| Median | 99.4% |
| P75 | 131.1% |
| % of Jobs Over Budget | 40.0% |
| % of Jobs Over 150% of Budget | 18.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.
Labor hour overruns are the number one margin killer in the dataset. A job that runs 50% over budget on labor doesn't just lose the margin on those extra hours, it pulls a technician off the next job, creating a cascade of scheduling problems. The P25 at 70.1% shows that a quarter of jobs finish well under budget, but those efficiencies don't offset the damage from the 18% that run dramatically over. The wins are modest; the losses are severe.
Free benchmark review
See how your margins benchmark.
We compare your jobs, crews, and service lines against real margin data, then show which gaps deserve the free audit.
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. For service companies covering wide territories, 1-2 hours per day in drive time is common. That's 10-15% of the workday that can't be billed.
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.
Best-in-class contractors keep non-billable admin to 5-10% of total hours. Companies at 25%+ have a process problem, either their techs are doing work that should be handled by office staff, or they're spending too long on paperwork after each job.
3. Warranty and Callback Work
Every callback is unbilled labor against a job you already closed. 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 a 30% callback rate and others are at 5%, it's a training problem, not a fleet-wide issue.
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, where construction separations run about 4.0% of employment a month, because every replacement tech spends weeks ramping before they're fully billable, dragging your fleet-wide utilization down. 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.
The Revenue Per Technician Benchmark
Utilization feeds directly into revenue per technician, which is the metric private equity firms and acquirers care about most.
From the composite scorecards in the data:
| Company Type | SA Revenue per Tech | Context |
|---|---|---|
| Top performer | $832K | Large HVAC with 94 techs |
| Strong | $769K | 70 techs, 44% margins |
| Efficient small shop | $1.6M | 5-person operation, incredibly lean |
| Average | $200-400K | Most companies land here |
| Concerning | Under $150K | Overstaffed or underutilized |
The outlier, $1.6M per employee with a 5-person team, shows what's possible when every person is highly utilized and properly priced. They run 37% margins and 92% collection. It's not about having more techs. It's about billing more per tech.
If your revenue per tech is below $200K, either your utilization is low, your bill rate is too low, or both. 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 total billable hours from invoices or field-service records for the same period. Divide billable by paid. 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 is the metric that can be compared with Level's 97.1% median.
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 (under 5 techs) are volatile. One tech out sick for a week tanks your utilization by 20%. The metric becomes useful at 8-10+ techs where individual variance smooths out.
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: We connect to your field service software and payroll data to calculate billable hours per tech, unbilled time by category, and revenue per technician. We flag techs below target and identify the specific causes, drive time, callbacks, bench time, or time entry gaps. 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, which at 47% margins is where your profit lives. A 10% improvement in utilization on a 20-tech crew at $79/hr translates to roughly $316K in additional labor revenue, at 47% margin, that's $149K in additional gross profit.
Get the next one
Want next week's benchmark in your inbox?
One email a week. Real numbers from 2,200+ service businesses. No fluff. Unsubscribe anytime.
Related reads
Benchmarks
Building Age Doubles Replacement Work and Does Nothing to Service Revenue
Older buildings do not spend more on mechanical service. They spend more on replacement. Split the revenue and a 1.85x effect appears where total revenue shows nothing, measured across 25,912 buildings.
Benchmarks
National Review Benchmarks Misrank A Third Of Contractors
The median HVAC shop has 26 reviews in California and 4 in Arkansas. Ranked nationally, 36.7% of HVAC contractors land more than 10 percentile points from where they actually sit in their own market.
Benchmarks
Square Footage Explains 9% Of What A Building Spends On Mechanical Service
The industry prices buildings per square foot across a 14x range. We measured it: floor area explains 9% of the variance, and dividing by area adds 19% more variance than it removes.

About the author
Sam Yang
Founder & CEO
Founder of Level, the AI operating layer for contractors and skilled trades, and the other operating businesses where scarce labor is the constraint. 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 revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.
LinkedIn