← Back to all posts

HVAC vs Plumbing vs Electrical: How Financial Patterns Differ by Trade

A healthy plumbing business looks nothing like a healthy HVAC business financially. Here's how margins, seasonality, and business value differ across the five major home services trades.

On this page

A healthy plumbing business and a healthy HVAC business look nothing alike financially. Same revenue, same number of trucks, same owner working 60-hour weeks. Completely different cost structures, seasonal patterns, and risk profiles.

Most financial advice for contractors treats "home services" as one category. Your bookkeeper compares you to "other small businesses." Your accountant benchmarks you against "construction companies." The generic dashboards lump every trade together into meaningless averages.

The result? A plumber with a 55% gross margin thinks they're doing fine (they're not; they should be at 60%+). An HVAC company with a 52% gross margin thinks something is wrong (it's not; that's healthy for their trade). A general contractor panicking about a 40% gross margin is actually outperforming their peers. (If you're not sure whether your margins are healthy, here's how to know if you're charging enough.)

Here's how the five major home services trades actually compare.

The Margin Gap: Why "Other Contractors" Is a Meaningless Benchmark

The single biggest mistake in contractor financial analysis is comparing across trades. A plumber and a general contractor operate in fundamentally different economic realities, even when they're working on the same house.

Gross Margin by Trade

Trade Healthy Gross Margin Struggling Why the Difference
Plumbing 60-62% Below 50% High labor skill, lower material cost relative to ticket
HVAC 50-55% Below 40% Equipment-heavy installs compress margins
Electrical 50-55% Below 40% Similar to HVAC; code compliance adds value
Roofing 40-50% Below 30% Materials are a larger share of total job cost
General Contracting 35-45% Below 25% Material-heavy, subcontractor costs eat into gross

Net Margin by Trade

Trade Healthy Net Margin Struggling Industry Leaders
Plumbing 20-35% 2-8% 30%+ with strong service mix
HVAC 12-20% 5-8% 20%+ with maintenance contracts
Electrical 15-20% 5-10% 20%+ with commercial mix
Roofing 10-20% 3-8% 18%+ with insurance claim expertise
General Contracting 8-15% 2-5% 15%+ with tight project management

Look at the spread. A plumber netting 20% is at the low end of "healthy." An HVAC company netting 20% is an industry leader. A general contractor netting 15% is exceptional.

Why plumbers have the highest margins: The value is almost entirely in the skill, not the materials. A $400 service call might involve $30 in parts. HVAC and electrical involve significant equipment costs that dilute margins. A $12,000 HVAC replacement might include $5,000-7,000 in equipment with thin margins on the pass-through. General contractors face the toughest environment because subcontractors and materials each take their own cut.

Seasonal Patterns: From Stable to Chaotic

Seasonality is where trades diverge most dramatically. Understanding your trade's pattern is the difference between "something is wrong" and "this is November."

HVAC: The Dual-Peak Trade

Month Demand Level What's Driving It
Jan-Feb HIGH Furnace emergencies, heating repairs
Mar-Apr MODERATE (danger zone) Spring tune-ups; revenue dips between seasons
May-Jun RISING AC installations ramp up
Jul-Aug PEAK Emergency AC repairs, highest demand
Sep-Oct MODERATE (danger zone) Heating prep; another revenue dip
Nov-Dec HIGH Furnace season begins

The danger zones: March-April and September-October are shoulder months where HVAC companies without maintenance contracts feel the pain. Companies with strong recurring revenue barely notice.

Plumbing: The Most Stable Trade

Month Demand Level What's Driving It
Jan-Feb HIGH Frozen/burst pipes, water heater failures
Mar-Apr MODERATE-HIGH Spring thaw, sump pump season
May-Jun MODERATE Steady service work
Jul-Aug MODERATE Sewer line issues, water heater demand
Sep-Oct MODERATE Pre-winter prep
Nov-Dec RISING Winterization, holiday drain clogs

Emergency work doesn't wait for a season. The baseline never drops below "moderate."

Electrical: The Most Predictable Trade

Month Demand Level What's Driving It
Jan-Feb STEADY Baseline service work
Mar-Apr SLIGHT RISE Home improvement season, panel upgrades
May-Jun MODERATE RISE Renovation projects, outdoor electrical
Jul-Aug MODERATE RISE Generator installs, EV charger installs
Sep-Oct STEADY Continued project work
Nov-Dec SLIGHT RISE Holiday lighting, outlet additions

Electrical demand is driven by code requirements, safety, and technology adoption (EV chargers, solar, smart home) rather than weather emergencies. A 15% revenue drop for an electrician is almost never "just seasonal." It's a real signal.

General Contracting: The Most Seasonal Trade

Month Demand Level What's Driving It
Jan-Feb LOW Weather limits outdoor work
Mar-Apr RISING Renovation season begins
May-Jun HIGH Prime building season
Jul-Aug PEAK Highest activity, full crews
Sep-Oct MODERATE-HIGH Fall push before winter
Nov-Dec LOW 35% drop between Oct and Nov

Roofing: The Most Weather-Event-Driven Trade

Month Demand Level What's Driving It
Jan-Feb LOW Too cold/wet; emergency tarps only
Mar-Apr RISING Post-winter inspections, insurance claims
May-Jun PEAK Prime roofing season
Jul-Aug PEAK Hail season drives massive demand spikes
Sep-Oct HIGH Fall push before winter
Nov-Dec LOW-MODERATE Slows in north; south stays active

The hailstorm effect: A single major hailstorm can create 6+ months of backlog overnight. No other trade is this event-driven.

Seasonal Volatility Summary

Trade Volatility Peak-to-Trough Swing Predictability
Electrical Low 10-15% Highest
Plumbing Low-Moderate 15-25% High
HVAC Moderate-High 25-40% Moderate
Roofing High 30-50%+ Low
General Contracting Highest 35-50% Moderate

Seasonal Revenue Patterns by Trade

Revenue Mix: Same Revenue, Different Business

Two plumbing companies can both do $3 million annually and have completely different financial profiles.

Average Ticket by Trade

Trade Service/Repair Install/Replace Large Project
Plumbing $250-500 $2,000-8,000 $8,000-15,000 (repipe)
HVAC $150-400 $5,000-15,000 $15,000-25,000
Electrical $200-500 $1,000-5,000 $5,000-15,000
Roofing $300-800 $5,000-25,000 $25,000+
General Contracting N/A $2,000-20,000 $20,000-100,000+

The Revenue Mix Effect (Two $3M Plumbers)

Metric Company A (70% Service) Company B (50/50 Service/Install)
Gross Margin 62% 52%
Average Ticket $380 $1,200
Jobs Per Month ~660 ~210
Trucks Needed 8-10 4-6
Cash Flow Steady weekly Lumpy (large deposits)
Seasonal Sensitivity Low Moderate

Same revenue. Completely different operations and risk profiles.

The HVAC Recurring Revenue Benchmark

Maintenance Revenue % What It Means
0-10% Reactive only; feast-or-famine cash flow
10-20% Some stability, still weather-dependent
25-35% Industry leader; predictable base, smoothed seasonality
35%+ Exceptional; near-immunity to seasonal swings

The Business Value Multiplier

If you ever plan to sell your business, the valuation multiples across trades are dramatically different. And one factor dominates everything else.

Valuation by Trade

Trade Typical EBITDA Multiple What Drives the Premium
HVAC (with maintenance contracts) 5-8x EBITDA Recurring revenue, predictable cash flow
HVAC (without maintenance contracts) 2-4x EBITDA Seasonal, weather-dependent, no recurring base
Plumbing 2.9-5x EBITDA Steady demand, limited recurring revenue
Electrical 3-5x EBITDA Predictable, growing (EV/solar), code-driven
Roofing 2-4x EBITDA Event-driven, hard to predict
General Contracting 2-3.5x EBITDA Project-based, seasonal, owner-dependent

The Maintenance Contract Premium

HVAC companies with maintenance contracts sell for 5-8x EBITDA. Without them: 2-4x. On a business earning $500,000 in EBITDA, the difference is staggering. (For a full breakdown of what drives these multiples and how to position your business at the top of the range, see What Your Business Is Actually Worth.)

Scenario Multiple Business Value
HVAC, no maintenance contracts 2-4x $1,000,000-2,000,000
HVAC, strong maintenance program 5-8x $2,500,000-4,000,000
Difference $1,500,000-2,000,000

Maintenance contracts are worth $1.5-2 million in business value on a $500K EBITDA company. Buyers pay the premium because recurring revenue survives an ownership transition. The customers are locked in. The cash flow is forecastable. Confidence commands a premium.

Recurring Revenue Opportunity by Trade

Trade Recurring Revenue Opportunity Valuation Impact
HVAC Maintenance contracts 2-3x multiple increase
Plumbing Annual inspections, flush programs 0.5-1x increase
Electrical Safety inspections, surge protection plans 0.5-1x increase
Roofing Annual inspections, gutter maintenance 0.5-1x increase
GC Property manager retainers 0.5-1.5x increase

What "Something Is Wrong" Looks Like in Each Trade

Because each trade has different norms, the warning signs are different too.

Signal Plumbing HVAC Electrical Roofing GC
Revenue down 20% MoM Investigate immediately Normal in shoulder months Investigate immediately Normal Nov-Jan Normal in Nov
Gross margin below 50% Problem (should be 60%+) OK if install-heavy OK if install-heavy Normal Normal (35-45% is healthy)
Average ticket declining Losing install work Losing replacements to competitors Losing commercial work More repairs vs. replacements Taking smaller projects
AR aging over 45 days Unusual (plumbing is mostly COD) Common for installs Common for commercial Normal (insurance claims) Very common (long terms)
Cash below 1 month expenses Risky but survivable Dangerous (shoulder months) Moderate risk Very dangerous Critical

Key Differentiators by Trade

Trade Primary Competitive Advantage Financial Indicator to Watch
Plumbing Emergency response time Service call volume trends
HVAC Maintenance contracts Recurring revenue as % of total
Electrical Code compliance, safety Commercial vs. residential mix
Roofing Insurance claim expertise, storm response AR aging on insurance jobs
General Contracting Project management, timeline reliability Customer concentration risk

Why Generic Financial Advice Fails Contractors

Generic Advice Reality for Plumbers Reality for HVAC Reality for GCs
"Gross margin should be 50%+" Too low. Should be 60%+. Correct. Too high. 35-45% is healthy.
"Revenue is down, something is wrong" Probably true (stable trade) Depends on the month Depends on the month
"Your AR is too high" Probably true (mostly COD) Depends on install mix Maybe not (30-60 day terms are normal)
"3 months cash reserve" Reasonable Should be higher Minimum. 4-5 months is safer.

The difference between generic and trade-specific analysis:

Scenario Generic Analysis Trade-Specific Analysis
HVAC revenue drops 28% in March "Revenue declined. Investigate." "Normal shoulder-month dip. Your maintenance revenue held at $18K (22% of total). Leaders are at 25-35%."
Plumber's gross margin is 54% "Margins look healthy." "You're 6-8 points below benchmark. At your revenue, that's $45K-60K in annual profit left on the table."
Roofer has $80K in AR over 30 days "Collections need attention." "30-45 day AR is normal on insurance jobs. But $30K over 60 days needs adjuster follow-up."
GC nets 10% in August "Decent margin." "You're outperforming the GC average during peak season. Maintain this through November and you're top-tier."

Stop comparing yourself to "other contractors." Start comparing yourself to the best operators in your trade.


Streett Reports delivers trade-specific insights, not generic small business advice. Your weekly report uses benchmarks for YOUR trade, seasonal patterns for YOUR market, and anomaly detection calibrated to what "normal" looks like for plumbers, HVAC techs, electricians, roofers, or general contractors specifically.

Your first report is free, no credit card required.

Get Your Free Report →

See a sample for your trade: Plumbing | HVAC | Electrical | Roofing | General Contracting

See what this looks like for YOUR business

Connect your QuickBooks in 30 seconds. Your first report is free.

Get Your Free Report →