Estimating
HVAC contractor estimating: a faster, more accurate method

Most HVAC estimates lose money in one of two places: the labour to hang and connect the work, and the change orders nobody priced. The equipment cost is the easy part, it comes off a quote. What separates a bid that holds from one that bleeds is how well you convert a drawing into installed man-hours, using rates that came from your own completed jobs rather than a number someone remembered from 2019.
We learned this the hard way. SubTrade was built inside Quality Gypsum Services, a commercial drywall contractor in Calgary, Alberta, and while drywall is our trade, the estimating problem is identical across mechanical work: the material is knowable, the labour is where the risk lives. Here is the method that keeps an HVAC estimate honest.
Start with the takeoff, not the price
An HVAC takeoff has three buckets, and mixing them is where accuracy dies.
Equipment is counted by the unit: rooftop units, air handlers, fan coils, VAV boxes, exhaust fans, pumps. Each one has a supplier quote and a known set-in-place labour figure.
Ductwork is measured by the pound or the square foot of sheet metal, split by gauge and by type: rectangular, round, spiral, and flex. A run of 24 gauge rectangular does not hang at the same rate as spiral, and lined duct is slower again.
Piping, controls, and accessories are counted by length and by device: refrigerant lines, condensate, hydronic runs, dampers, diffusers, grilles, thermostats, and sensors.
Get the quantities right first, in their natural units, before a single dollar goes on the sheet. An estimate that starts from a lump-sum "cost per square foot of building" is a guess wearing a suit.
Price the labour from your own production rates
This is the whole game. Equipment and material pricing is arithmetic. Labour pricing is judgement, and the only judgement worth trusting is your own historical production rates, measured on jobs you actually finished.
A production rate is simply how long a unit of work takes your crew: man-hours per hundred pounds of rectangular duct, man-hours to set and connect a rooftop unit of a given tonnage, man-hours per VAV box including the controls drop. Once you have those, the estimate builds itself: quantity times rate equals hours, hours times your loaded labour rate equals cost.
The trap is borrowing someone else's rates. A national database says spiral duct installs at X per hour. Maybe it does, in a warehouse with a scissor lift and nothing overhead. Your last three jobs were mechanical rooms and ceiling plenums packed with other trades, and your real rate was 40 percent slower. The database will underbid you every time, and you will win the job and lose the money.
| Scope item | Natural unit | What drives the labour rate |
|---|---|---|
| Rectangular duct | lb or sq ft of metal | Gauge, height, congestion, lining |
| Spiral / round duct | linear ft | Diameter, hanger spacing, access |
| Rooftop unit | each | Tonnage, rigging, curb, electrical tie-in |
| VAV box | each | Controls, reheat coil, ceiling access |
| Diffusers / grilles | each | Ceiling type, height, balancing |
The rates in your own history already account for the congestion, the access, and the crew you actually run. That is why they beat any generic table.
Where HVAC estimates go wrong
Rigging and access get treated as free
Setting a ten-ton rooftop unit is not the same job on a one-storey strip mall as it is on a five-storey podium with a crane pick scheduled around three other trades. The equipment cost is identical. The labour and the crane time are not. Estimators who price equipment off the quote and forget the pick lose the difference every time.
The controls scope is underpriced
Controls, sensors, and the commissioning drops that go with them are labour-heavy and easy to wave away as "a few hours." On a building full of VAV boxes, a few hours each adds up to a line item bigger than some ductwork runs. Count the devices, apply a real per-device rate.
Coordination time is invisible until it is not
Mechanical work fights for ceiling space with electrical, plumbing, and fire protection. The hours your crew spends re-routing around someone else's conduit are real, they just never appear on a takeoff. If your production rates come from your own congested jobs, that friction is already baked in. If they come from a clean-room database, it is not.
Nobody prices the extras
The single biggest leak in HVAC margin is not the estimate at all, it is the unsigned change order. A duct rerouted for a beam that was not on the drawings, an added exhaust fan, a controls revision after the owner walked the space. Each one is billable if you document it the day it happens and price it from the same labour rates you bid with. Lose the paper trail and you are eating it.
Turn the estimate into a job you can measure
An estimate is only worth what you learn from it. The point of pricing labour by production rate is that after the job, you can compare estimated hours to actual hours, cost code by cost code, and correct the rate for next time. That loop, estimate to actual and back, is how a shop gets sharper every quarter instead of guessing forever.
That only works if the field data comes back clean. Crew time tracking coded to the same cost codes you estimated against is what closes the loop. Without it, your "production rates" are just the last number you felt good about. With it, every finished job makes the next bid more accurate.
If you want the full picture of how estimating, labour capture, and change orders fit together for a mechanical trade, our HVAC contractor software page walks through the workflow end to end. SubTrade starts at $299/month CAD with a 14-day free trial and no credit card required, so you can run your next bid through it before committing.
A short pre-bid checklist
- Takeoff quantities in natural units: equipment by count, duct by weight or length, devices by count.
- Apply your own production rates, not a database, to get hours.
- Add rigging, crane, and access explicitly, per equipment pick.
- Price controls and commissioning as their own line, per device.
- Load the hours at your real burdened labour rate, including travel and non-productive time.
- Carry a documented allowance for coordination, based on how congested this job is.
- Set up the cost codes so the field can report actuals against the same structure you bid.
FAQ
How do HVAC contractors estimate labour accurately?
By measuring production rates from their own completed jobs: man-hours per unit of duct, equipment, and devices, then multiplying quantity by rate by burdened labour cost. Historical rates from your own work beat any generic database because they already reflect your crews, your access conditions, and your typical congestion.
Should I estimate ductwork by the pound or the square foot?
Either works as long as you are consistent and split by gauge and type. Sheet metal shops often price by the pound because it maps to material cost, but the labour rate has to be tied to the same unit so quantity times rate gives real hours.
What is the most common HVAC estimating mistake?
Underpricing labour, usually by borrowing a production rate that came from easier conditions than the job actually has. The second most common is failing to price rigging and controls as their own scopes. The most expensive over time is not chasing unsigned change orders.
How is HVAC estimating different from HVAC contractor software?
Estimating is the pricing method: takeoff, production rates, labour cost. Software is the system that stores your historical rates, feeds field actuals back against them, and tracks the change orders that protect the margin. Good estimating needs both a method and the data to feed it.
How do I keep my production rates current?
Compare estimated hours to actual hours on every finished job, by cost code, and adjust. This requires crew time tracking coded the same way you estimated. Do it every job and your rates drift toward reality instead of wishful thinking.
Can I price HVAC work by cost per square foot of building?
Only for the roughest early budget. A square-foot number hides every variable that actually drives your labour, gauge, access, congestion, controls density, so it will be wrong on any specific job. Use it for a ballpark, never for a firm bid.
SubTrade runs time tracking, change orders, daily logs and progress billing on one plan. 14-day trial, no credit card.

