Benchmarks

Gross margin benchmarks by trade: HVAC, plumbing, electrical 2026

What gross profit margin HVAC, plumbing, and electrical service contractors should target in 2026, with benchmarks by trade and the numbers to watch.

A plumber and electrician reviewing a job cost printout together in a residential utility room with tools visible

You're running a steady book of residential service calls, billing at competitive rates, and still ending some months with less in the bank than a full-time employee would bring home. The missing piece is usually gross profit margin — not just what you charge, but how much of each job dollar actually makes it past your direct costs.

Gross profit margin is the most controllable financial number on a per-job basis. Get it right on service work and you build a cushion for overhead, callbacks, and slow weeks. Get it wrong and busy doesn't mean profitable. This post covers what realistic gross margin benchmarks look like for HVAC, plumbing, and electrical service contractors in 2026, what the trade associations say about targets, and what drags the number below where it needs to be.

Gross margin vs. net profit: the number that matters per job

Net profit is what's left after you've paid everything — labor, materials, truck, insurance, software, your accountant's bill, and yourself. That's the ultimate measure of business health, but it's hard to improve job by job because overhead is largely fixed.

Gross profit margin is what you keep from each job after covering only the direct costs of that job — labor (your time or your tech's wages plus payroll burden) and materials or parts. Overhead doesn't enter the calculation. That makes it the number you can actually move when you price, estimate, and execute a job.

What's includedWhen to use it
Gross marginRevenue minus direct labor + partsPricing decisions, per-job profitability
Net marginRevenue minus ALL costs (including overhead)Monthly/annual business health

The formula is straightforward:

Gross margin (%) = (Revenue − Direct costs) ÷ Revenue × 100

Direct costs = technician labor cost (wages + burden: FICA, workers' comp, benefits) + materials and parts at your cost.

If you bill $400 for a service call, your tech cost you $90 in loaded wages, and parts ran $65, your gross margin is ($400 − $155) ÷ $400 = 61%. Overhead comes later. That 61% is what funds your truck payment, insurance, software, and eventual profit.

Gross margin benchmarks for HVAC, plumbing, and electrical service work

Trade associations track these numbers across their membership, and the targets are consistent across residential service work — even though each trade has its own cost structure.

HVAC residential service and repair: The Air Conditioning Contractors of America (ACCA) benchmarks gross margins for HVAC contractors. Healthy residential service operations — diagnostics, refrigerant recharges, part replacements, annual tune-ups — target 45–55% gross margin on service and repair work. System replacements typically run lower (35–45%) because the equipment cost is a larger share of the ticket.

Plumbing residential service: The Plumbing-Heating-Cooling Contractors Association (PHCC) tracks financial performance for plumbing and mechanical contractors. Member data shows residential service work — drain cleaning, fixture replacements, water heater service, leak repairs — targeting 40–52% gross margin, with top-performing solo operators landing in the upper half of that range.

Electrical residential service: NECA's annual Financial Benchmarker report, published in partnership with the Construction Financial Management Association, is the most detailed dataset available for electrical contractors. Residential service work — panel troubleshooting, outlet and switch work, fan installations — shows 48–58% gross margin at profitable firms. Bid-based commercial and new construction work runs substantially lower (often 28–38%) because competition is tighter and material content is higher.

Target gross margin midpoints for residential service work by trade — from ACCA, PHCC, and NECA benchmarks

A few things to note from this data:

Service beats installation margins in every trade. The gap is real and consistent. On service work you're selling your time and diagnostic skill at a high ratio to materials; on installs the equipment cost dominates and competition often compresses the markup. This is why profitable service operations are so valuable — they compound differently than installation volume.

The spread within a trade is wider than the spread between trades. An HVAC contractor at 55% gross margin and one at 35% are not in the same business, even if they're in the same zip code and service the same brands. The difference is usually pricing discipline, parts markup, and technician efficiency — not market conditions.

Solo operators can hit the top of these ranges. Without a crew to manage and payroll to carry, a solo tech's loaded labor cost per job is more controllable. The challenge is that every hour you spend driving, doing paperwork, or chasing parts is an hour you're not billing — which drags effective margin below your theoretical rate.

What a good gross profit margin for a plumber actually looks like on a job

"40–52%" is abstract. Here's what it means in practice on a $350 drain clearing call — a common residential job.

Line itemAmount
Service revenue$350
Technician loaded labor (1.5 hr at $40/hr burdened)−$60
Consumables (cable, gloves, cleaners)−$15
Gross profit$275
Gross margin79%

That's an unusually high-margin job because the material content is almost nothing. Drain cleaning is labor-intensive and gross margins naturally run above the trade average.

Now compare a toilet replacement where you're supplying a $180 toilet plus wax ring and supply line:

Line itemAmount
Service revenue$485
Technician loaded labor (2 hr at $40/hr burdened)−$80
Parts and materials ($180 toilet + $25 supplies)−$205
Gross profit$200
Gross margin41%

That's right at the low end of the PHCC target range. If you sourced the toilet for $180 but only marked it up to retail (not above retail), you're leaving margin on the table. A 40–50% markup on materials is standard in residential plumbing service — which means your $180 cost toilet should bill at $252–$270 before labor.

The markup calculator at /tools/markup-calculator lets you set a target markup percentage and see what your parts need to sell for to hit that margin — useful when you're pricing a job on the fly.

What pulls your gross margin below target

These four patterns are responsible for most of the gap between where margins are and where they should be.

1. Parts marked up at cost, not above it. The most common mistake in residential service. You pay $80 for a capacitor and charge the customer $80. That's 0% materials margin — every dollar of gross profit has to come from labor alone. A 40–60% markup on parts is a normal and defensible practice in residential service work. The how-to on calculating contractor markup walks through how to set this up so it's consistent across your jobs.

2. Drive time and diagnostic time eating into billable hours. The U.S. Bureau of Labor Statistics Occupational Outlook Handbook reports a median wage of around $28 per hour for HVAC technicians as of May 2023 — before your burden (FICA, workers' comp, insurance). Once you load that wage, you're paying yourself $36–$42 per hour whether the hour produces revenue or not. If you're spending 30% of your workday driving and not billing for that time, your effective job margin shrinks automatically.

3. Free diagnostics that don't convert. A diagnostic call that turns into a "thanks, I'll call someone else" is a full hour of loaded cost with zero revenue. Setting and enforcing a diagnostic fee — even $75–$100 — isn't nickel-and-diming the customer; it's recovering the cost of the assessment. See HVAC service call pricing benchmarks for more on structuring the fee correctly.

4. Callbacks absorbing profitable hours. One callback on a $400 job — an hour of travel plus an hour on site — can drop your effective margin on that job by 25 percentage points. Tracking callback rate by job type is the fastest way to find out where your work is coming apart.

Takeaways

  • ACCA benchmarks HVAC residential service at 45–55% gross margin; plumbing service runs 40–52% per PHCC data; electrical residential service targets 48–58% per NECA's Financial Benchmarker.
  • Service and repair work generates higher gross margins than installation in every trade, because the ratio of skilled labor to materials is higher.
  • Parts markup and technician efficiency are the two levers most directly under your control. Fix parts markup first — it's a pricing change, not a process change.
  • A solo operator can hit the top of these ranges by keeping non-billable time low and applying consistent markup. Those advantages disappear if you're giving away diagnostics and charging parts at cost.
  • Calculate your own floor before using industry benchmarks: use this minimum hourly rate framework to confirm what you need to clear before comparing yourself to the averages.

Check your margin math before your next quote

Knowing your target is one thing. Consistently hitting it on every quote — whether it's a drain call, a panel swap, or a fan installation — requires a process that locks in your labor rate, parts markup, and minimum fee at quote time, not after you've already said a number out loud.

JobEstimator lets you set your cost rates, target margins, and parts markup once, then apply them to every job automatically. No spreadsheet math at the kitchen table after a long day.

Plans start at $39/mo with no annual contract. You can build your first quote in a few minutes and see exactly what your margin looks like before you send it.

Sources