Utah’s HVAC tech shortage and what you can do about it
Utah has a serious HVAC technician shortage. If you own a service business here, you already know this. You feel it when you lose a good tech to a competitor who offered fifty cents more an hour. You feel it when you’re turning down work because you don’t have the bodies to do it. You feel it when you’re paying overtime just to keep up.
The instinct is to focus on recruiting. Post more jobs, call the trade schools, ask around. That’s not wrong, but it’s only half the problem. The other half is what happens after you find someone worth keeping. And that comes down to your numbers.
Most HVAC owners I talk to don’t actually know what they can afford to pay their techs. They know what they’re paying now, and they have a general sense of whether the business is doing okay. But if a good tech came to them tomorrow and asked for a raise, they’d be guessing at the answer. That guess is costing them people.
You need to know your labor margins, not just your gross margin.
Gross margin tells you how much is left after all your direct costs. That matters. But in a labor-intensive business like HVAC, you need to go one level deeper. What is your labor margin specifically? What percentage of your revenue is going directly to field labor, and is that number moving in the right direction?
If wages in your market go up, and they have been, your pricing has to respond. But you can only make that call confidently if you know your baseline. Without it, you’re raising prices on instinct and hoping it’s enough, or you’re absorbing the cost and quietly watching your margins erode.
Field wages and office wages need to be tracked separately.
This is one of the most common structural problems I find when I start working with a new client. Admin wages, the office manager, the dispatcher, the person answering phones, belong in overhead. Your technicians’ wages belong in cost of goods sold. When those two categories get lumped together, your gross margin is wrong. Your labor cost per job is wrong. Every decision you make from those numbers is built on a bad foundation.
Separating them correctly is not complicated, but it has to be intentional. It doesn’t happen automatically in QuickBooks.
Know the fully loaded cost of every tech on your team.
The hourly wage is just the starting point. By the time you add payroll taxes, workers’ compensation insurance, health benefits, and any other employer-paid costs, a tech earning twenty-five dollars an hour is probably costing you thirty-two to thirty-six dollars an hour or more. That’s the number that matters for job costing and pricing decisions.
If you don’t know that number for each person on your team, you are almost certainly underpricing some of your work. And in a market where you need to pay competitively to keep good people, underpricing and underpaying are two problems that feed each other.
What this looks like when the books are right.
When your financials are structured correctly, you can answer the questions that actually matter. Can you afford to give this tech a raise and stay profitable, or do you need to adjust your pricing first? Is this tech generating enough billable revenue to justify what they cost you fully loaded? If you added another tech right now, what would that do to your margin?
These are not complicated questions. But they require clean, correctly structured books to answer. Without that structure, you’re making your most expensive people decisions on gut feel in one of the tightest labor markets Utah has seen.
The owners who retain the best techs are not always the ones with the deepest pockets. They’re the ones who know exactly where their money is going, what they can afford to offer, and what it costs them when a good person walks out the door.
If you’re not sure your books are giving you that clarity, that’s worth a conversation. Book a free 30-minute discovery call.



