Know your HVAC numbers before month-end

Guides

Technician-hour maths: what a paid hour on the truck really produces

Divide field revenue by every paid technician hour, compare it with what that hour costs you fully loaded, and you have the most honest productivity check an HVAC company can run.

Written by Ali Sedighi, MBAPublished: Last updated:

Technician-hour maths is a short set of calculations that tells you what each paid hour in the field produces and what it costs. Owners usually know their labour rate. Far fewer know their revenue per paid hour, their utilisation, or the hourly figure below which a technician's day loses money. This worksheet walks through all of them with example numbers you can replace with your own.

We are a KPI coaching service, not accountants and not an HVAC contractor. Payroll costs and statutory contributions should be confirmed with your CPA or payroll provider; the arithmetic below is yours to run.

Step 1: gather four numbers for one month

Pick a recent, typical month and collect:

  1. Field revenue: service, repair and maintenance revenue invoiced by your technicians. Keep install crews separate for now.
  2. Paid technician hours: every hour on payroll for field technicians, including overtime, drive time, training and on-call.
  3. Billed hours: hours charged on invoices, or the flat-rate equivalent if you price by task.
  4. Burdened hourly cost: wage plus employer costs plus vehicle and tools, per paid hour.

For this worksheet, assume a five-technician service team in March:

Input Example
Field revenue $96,500
Paid hours 860
Billed hours 540
Burdened cost per paid hour $71

Step 2: calculate the core ratios

  • Revenue per paid hour = $96,500 ÷ 860 = $112
  • Revenue per billed hour = $96,500 ÷ 540 = $179
  • Utilisation = 540 ÷ 860 = 63%
  • Labour cost as a share of revenue = (860 × $71) ÷ $96,500 = $61,060 ÷ $96,500 = 63%

That last figure is the warning light. In this example, fully loaded field labour eats 63 cents of every service dollar before parts, office wages, rent or marketing. Most owners would never see it, because they think in terms of the $179 billed rate.

Step 3: find your break-even revenue per paid hour

Break-even is the revenue per paid hour at which a technician covers their own burdened cost, the parts they use and their share of overhead.

Using example figures:

  • Burdened labour: $71 per paid hour
  • Parts and materials: about 22% of service revenue
  • Overhead share per field hour (office, rent, software, marketing ÷ paid field hours): $38

Let R be revenue per paid hour. Break-even is where R − 0.22R = $71 + $38, so 0.78R = $109, and R ≈ $140.

At $112 per paid hour, this team is below break-even in March. That is common in a shoulder month, and it is exactly why March and April need a plan, not just hope. Our cash-flow seasonality work starts from this kind of gap.

Step 4: map the unbilled hours

In the example, 320 paid hours were not billed. Split them as well as your data allows. Dispatch timestamps help; if you lack them, a two-week log by each technician gives a fair sample.

Category Hours Share of unbilled
Drive between calls 150 47%
Shop, loading and parts runs 70 22%
Callbacks on recent work 45 14%
Training and meetings 30 9%
Waiting and gaps in schedule 25 8%

Now the conversation is practical. Drive time is the largest leak, so tighter service zones or better clustering of calls are worth more than a pep talk. Callbacks cost 45 hours, which is more than a full technician-week.

Step 5: test what a change is worth

Run each lever separately so you know which one matters most:

  • Cut drive time by a third (50 hours) and bill half of those recovered hours: billed hours rise to 565, and at $179 per billed hour revenue rises by about $4,475. Revenue per paid hour moves to about $117.
  • Halve callbacks (about 22 hours) and bill those hours instead: about $3,940 more revenue, plus fewer unhappy customers.
  • Raise average ticket by 5% with clearer options on every call: about $4,825 more revenue with no change in hours.

None of these alone closes the gap to $140, which tells the owner something important: March needs either more billable work, such as agreement tune-ups scheduled into it, or fewer paid hours. That is a business decision, and the numbers simply make it visible.

Step 6: compare with the same month last year

One month on its own tells you little. Put this March next to last March. If revenue per paid hour was $121 a year ago and is $112 now, something changed: maybe two new technicians still learning, a wider service area, or a supplier problem that caused extra parts runs. If it was $108 a year ago, the team is improving despite a below-break-even month. The same number can be good news or bad news depending on where it came from, which is why the dashboard always shows last year beside it.

Install crews are different

Install crews should be measured per crew-day, not per hour. Divide installation revenue by crew-days worked, and compare it with the burdened cost of the crew for a day plus equipment. A two-person crew that takes three days on a job quoted for two has lost a crew-day, and that loss shows up in gross margin by job type as well.

A two-minute version for busy weeks

If you have no time for the full worksheet, run just two divisions every Friday in peak season: this week's field revenue divided by this week's paid technician hours, and billed hours divided by paid hours. Write both on a whiteboard in the shop. Trends show up within a month, and the full worksheet can wait for a quiet week.

Common mistakes

  • Using billed hours as the denominator. It hides every leak this worksheet is designed to find.
  • Leaving the truck out of burdened cost. Fuel, insurance, lease and maintenance belong to the field hour.
  • Comparing March with January. Compare each month with the same month last year.
  • Publishing individual rankings. Use the numbers to fix systems first, and talk to individuals privately.

Putting it on the dashboard

Two lines from this worksheet belong on your monthly owner dashboard: revenue per paid hour and utilisation. Callback rate is the third. Keep the full worksheet for a quarterly deep look. If you would like the calculations built and reviewed for you each month, see revenue per technician-hour, or call, text or email to talk it through.

Frequently asked questions

What is a burdened hourly cost?

It is the technician's wage plus the employer costs that come with it, such as statutory contributions, benefits, vacation pay and the truck, tools and phone they use. Your CPA or payroll provider can confirm what your statutory costs add up to.

Should apprentices count in paid hours?

Count them, but report them separately. An apprentice riding along adds paid hours without adding billed hours, which is a training investment worth seeing on its own line.

How often should I run this?

Monthly for the company and each crew, and compared with the same month last year. Running it weekly in peak season can help spot scheduling problems early.

Is a low number always the technician's fault?

No. Wide service zones, poor parts stock, slow dispatch and too many callbacks all reduce revenue per paid hour. Look at those first.