You Can't Hire Your Way Out: Revenue Per Technician in a Labor Shortage

Hiring can be a slow lever. Trade groups and media regularly publish large worker-shortage estimates for construction, HVAC and plumbing. This page does not rely on those headline numbers because we have not traced them to their original publications. For government data, start with the BLS Occupational Outlook Handbook pages for your trade and read how each projection is defined. Your own hiring data is more useful: open requisitions, days to fill, offers declined and first-year turnover. If a qualified hire takes months to find and quarters to ramp, the lever you control this quarter is revenue, and gross profit, per technician.
Demand and talent matter, but a gap that is often easier to measure is how much profit each skilled hour brings back. Scenario arithmetic, not a measured comparison: an HVAC shop at the $1,250 per tech day planning midpoint below and one at the $1,850 strong scenario are $600 apart. That is $600 ÷ $1,250 = 48% more revenue per tech day on the same headcount.
If this is you
You're turning down work because you're "out of capacity." But your trucks roll at 8:40 instead of 7:30, your best tech spends an hour a day on the phone with the office, and three jobs last month went out under-priced. That scenario suggests a yield problem to test alongside demand and capacity. It does not prove an operational change will be cheaper than a hire.
What "good" revenue per tech looks like
Level operating diagnostic ranges for revenue per technician per day land roughly here. These are planning tiers, not percentiles currently included in the downloadable contractor.json dataset:
| Trade | Planning midpoint | Strong scenario |
|---|---|---|
| HVAC | ~$1,250 | ~$1,850 |
| Plumbing | ~$1,000 | ~$1,420 |
| Electrical | ~$1,200 | ~$1,680 |
The spread between the planning midpoint and strong scenario is roughly 40-48% (HVAC $1,850 ÷ $1,250 = 1.48; plumbing $1,420 ÷ $1,000 = 1.42; electrical $1,680 ÷ $1,200 = 1.40), between planning tiers on the same headcount. On the truck side, Level uses illustrative annual operating midpoints of $310K residential / $290K commercial per truck as planning assumptions. Those are diagnostic scenarios with no published sample, not measured percentiles in the Level Index or the public contractor dataset, so they are shown as plain text rather than an Index callout. Rank the shop's own trucks by revenue and gross profit before calling one a ghost truck.
The point: compare the two levers with your own numbers before assuming either one wins. Fictional comparison, every input an assumption:
| Input | Close part of the yield gap | Add one technician |
|---|---|---|
| Change | 6 existing techs go from $1,250 to $1,400 per tech day | One new tech at 50% of $1,250 per day in year one while ramping |
| Working days | 220 | 220 |
| Added revenue | 6 × $150 × 220 = $198,000 | $625 × 220 = $137,500 |
| Added materials and other variable direct cost (40% of revenue) | $79,200 | $55,000 |
| Added loaded technician cost | $0, because these hours are already paid and already sit in gross margin | $95,000 |
| Year-one added gross profit | $118,800 | -$12,500 |
Do not count the existing techs' loaded cost as both inside gross margin and as a separate saving. Counterexamples: if the added calls aren't there because demand is the real constraint, the yield column is $0. If your techs are already near the strong scenario and you have a real backlog, the hire can win once ramp is complete: $275,000 revenue minus $110,000 variable cost minus $95,000 loaded cost = $70,000 a year at the same assumptions.
Why revenue per tech is the wrong number on its own
One caveat before you chase it. Revenue per tech rewards volume, and volume isn't the same as profit. A tech who books $1,800/day of low-margin install work can look better than one running $1,300/day of high-margin service that pulls through replacements. So the real target is gross profit per technician hour, revenue per tech, weighted by margin.
It matters because the work is not equally profitable. Across 2.2M+ quote line items in the Level Index (cross-trade, quoted rather than actual job results), labor shows 47.7% quote-line gross margin vs 31.5% on materials, per Level Index published metric (see its eligible sample and definition). Segment margins inside your own shop can differ widely too, so pull gross margin by job type before deciding where scarce hours go. Pointing a scarce hour at the wrong segment is the most expensive thing you can do quietly. (I broke the full version down in labor vs. materials: where profit actually lives.)
Free benchmark review
See whether your books are benchmark-ready.
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 five places the skilled hour leaks
When a tech's revenue per day is below your planning target, check these first. None of them require a hire to fix:
- Windshield time. Late starts and bad routing can turn a 9-hour day into 6 billable hours. Use 15-25% less drive time and 12-20% more completed jobs as planning sensitivities, not promised results. Measure route miles, drive minutes, completed calls, and callbacks before and after a dispatch change. See AI dispatch won't fix a bad dispatch strategy for the catch.
- Callbacks. A callback can double-spend the hour and often bills nothing. Check which return visits your own contracts charge for. First-time fix is often a large lever here, so measure your callback rate by tech and job type first. Worked math is in the $52K/month callback leak.
- Wrong skill on the job. Your senior tech on a $180 capacitor swap is the most expensive misallocation in the building. Triage the hour to the work that pays.
- Missed upsell. Annual service-agreement pull-through, defined as additional repair, replacement and project revenue from agreement customers divided by annual agreement revenue, is 8.7% median vs 29.6% at the 75th percentile (n=386), per Level Index published metric (see its eligible sample and definition) in the Level Index. It is a revenue ratio, not a share of visits or customers, and the gap is revenue, not all margin and not all capturable. (See pull-through revenue.)
- Admin drag. Time the tech spends chasing parts, paperwork, and the office is time not on a paying call. This is what people miss about the labor shortage: it's not only in the field, it's in the office workflow that keeps the field productive.
How to actually move the number
This is a weekly discipline, not a software purchase:
- Track revenue and gross profit per tech, weekly, by name and by job type. A monthly aggregate view hides which techs and job types drive the gap. Confirm whether your FSM's technician report includes burdened labor and material cost per job. Many setups capture revenue by tech but not reliable cost, so the margin view often has to be joined with accounting data. It's one of the numbers your field software doesn't show you.
- Find your ghost trucks. Rank every truck by revenue per truck and gross profit per truck. The bottom of that list is either a coaching problem, a routing problem, or a truck you don't need.
- Reallocate skill to margin. Senior techs on high-margin diagnostic and replacement work; junior techs on the routine calls, backed by the diagnostic trail. Test the change on a few weeks of your own data before assuming the size of the lift.
- Close the office gaps that strand field time. Same-day billing, automated follow-up, parts staged by route. Productive field time depends on a back office that doesn't bottleneck it.
This is the entire "make more money with the same crew" thesis in one operating number. When you can't add people, the business that wins is the one that gets the most profit out of the people it has. (For the system that ties this together, see the operating layer for the trades.)
FAQ
What is a good revenue per technician?
Level's planning midpoint is about $1,250 per technician day for HVAC, with $1,850 as a strong operating scenario and lower planning figures for plumbing and electrical. These are diagnostic ranges, not published percentile estimates. The better target is gross profit per technician hour, because revenue per technician can be inflated by low-margin volume. Track both weekly, by technician.
How do I increase revenue per technician without hiring?
Recover the leaks: cut windshield time with better dispatch and routing, raise first-time fix to kill callbacks, route senior techs to high-margin work, capture pull-through on visits you're already making, and remove the office friction that strands field time. Each can lift per-tech yield without adding field headcount, but only where demand exists. Some fixes need dispatcher or office time, so measure the before-and-after change on your own data before counting it.
Why can't I just hire more technicians?
You can, if the hire pays back. Check your own days to fill, offer acceptance rate and ramp time rather than headline shortage estimates, which this page has not traced to primary publications. Even when you find someone, ramp time and loaded cost mean a new hire can take quarters to pay back. See can you afford to hire your next employee. Run the yield versus hire comparison above with your numbers. Yield is often faster, but a real backlog with techs already near the strong scenario can favor the hire.
Is revenue per truck the same thing?
Closely related. Revenue per truck rolls up the technicians and vehicle cost into one unit. Level uses $310K residential and $290K commercial as operating midpoints, not public dataset medians. Rank the shop's fleet using its own trailing revenue, gross profit, ramp stage, and work mix before diagnosing recoverable yield.
If you're turning down work for "lack of capacity" but can't say what each tech actually yields per week, that's a measurement gap to close before deciding whether yield or headcount is the constraint. Book a 15-minute call and we'll pull revenue and gross profit per tech from your FSM and books and show you the headroom. The first profitability audit is free.
Benchmark source scope
Measured Level Index comparisons on this page come from the canonical aggregate dataset. Each metric retains its own eligible population and definition; the broader founding-team research universe of 2,242 contractors and $13.25B of job revenue is provenance, not a count of Level clients or the sample of every metric. Fictional scenarios and legacy, unverified references are labeled separately.
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.
Related reads
Operations
Why Your Field Software Numbers Don't Match Your Accounting
Reconcile field hours, invoices, recognized revenue, and job costs. Billing capture: 97.1% median, 66.9% bottom decile (963 companies).
Operations
The AI Inbox: Emailed Reports as Finance Pipelines
Asking for a report by email does not mean you have received and saved it. Track delivery, original attachment, parsing and review separately, preserving changed versions.
Operations
The API Is Not Enough for Finance Automation
Use APIs for supported records. Add native reports or permitted browser collection for verified gaps, then compare identities, dates and costs.

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