HVAC

Why a Big Replacement Year Can Make HVAC Buyers Nervous

An owner closed the best install year of his career and called his broker. The buyer didn't see a great year — he saw a one-time replacement spike. Here's how HVAC revenue durability gets graded, and what a spike costs in the multiple.

The owner had just finished the best install year of his life. A brutal July, an early heat wave in May, and a wave of 15-year-old condensers in his book that all chose the same summer to die. He swapped out more equipment in nine months than he had in the prior two combined. EBITDA was up almost a third on the year. He called his broker in October, ready to go to market.

The first serious buyer pulled the file, looked at the monthly trend for ninety seconds, and asked one question: "How much of last year repeats next year if nothing else changes?" That question is the whole story on HVAC revenue durability — and it's why a record replacement year often doesn't price the way the P&L looks. (The owner here is illustrative; the way a buyer reads a spike is not.)

A great year and a durable year aren't the same thing

The owner's instinct was right on the math and wrong on the multiple. He'd grown earnings. But growing earnings on a one-time wave of replacement work isn't the same kind of growth as adding contracted maintenance — and a buyer underwrites those two stories very differently.

A buyer is paying for cash flow they can defend in diligence. That means cash flow that survives:

  • A normal summer instead of a record one.
  • The replacement queue resetting after a wave of dying units gets handled.
  • A change of ownership where the new operator doesn't yet have the seller's relationships.

A replacement spike fails all three tests at once. It's weather-amplified, it's pulling future revenue forward, and the installs themselves were one-off jobs that don't repeat on their own. The dollars are real; the durability isn't.

What HVAC revenue durability means to a buyer

"Durability" sounds soft. It isn't — it's a specific read of your books that the offers.ai engine runs the same way a buyer's QoE team will.

The engine reads HVAC revenue durability through three lenses, all from your invoices:

  • Behavioral repeat. Every customer is bucketed by invoice count in the window: one-time (1 invoice), repeat (2+), and core repeat (5+). That tells you how much of last year's revenue came from customers who actually come back — versus customers who appeared once and may not appear again.
  • Contracted recurring. Scheduled, signed maintenance-agreement revenue — the stuff that renews on a calendar, not when a unit dies. The HVAC benchmark a buyer looks for is around 30% of revenue on maintenance agreements; stronger service-led shops sit above it.
  • Monthly trend. The engine compares your trailing twelve months to the prior twelve and frames the difference against the HVAC growth benchmark of about 4.7% a year. A 25–30% revenue lift over one season doesn't read as "growth" — it reads as a spike that needs explaining.

A replacement-heavy year usually shows the same pattern: a lot of one-time invoices, a thin contracted share, and a month-over-month line that walks up steeply for a few months and then sits there.

What the buyer sees when he opens your books

Set the story numbers aside and look at what the engine actually surfaces for an HVAC owner who just had a replacement spike. The fields below are the ones a buyer's analyst will reproduce in the first hour of diligence.

What the engine computesSourceWhat a buyer is grading
Share of revenue from one-time customers (1 invoice in the window)computeRevenueDurabilityHow much of last year doesn't repeat on its own
Share of revenue from repeat (2+) and core repeat (5+) customerscomputeRevenueDurabilityHow loyal the behavioral base is
Contracted maintenance-agreement % of revenuegetBenchmarks('hvac').recurringRevenuePctWhether you clear the ~30% HVAC benchmark
TTM vs prior-12 revenue and EBITDA growthcalculateTrendWhether the lift looks like ~4.7% normal growth or a spike
Customer concentration (largest, top-10, top-20)computeRevenueDurabilityWhether one commercial account is carrying the year

Field references are the actual repo functions; the read on your shop comes from your books, not a generic template.

A replacement-spike year almost always shows the same fingerprint on those fields: one-time share is up, contracted share is flat or down as a percentage, the trend is wildly above the 4.7% benchmark, and a couple of accounts that bought big-ticket replacements have climbed the concentration chart.

What a spike actually costs in the multiple

Here's the part owners under-weight. The earnings number goes up; the multiple can compress on the same file. HVAC trades in roughly a 3.0×–8.0× EBITDA band with a typical deal near 5.0×, computed by the offers.ai engine. Where you land inside that band is set largely by durability — the contracted share, the repeat behavior, and how much of last year you can credibly defend as repeatable.

Take a representative HVAC shop. Illustrative: ~$3.5M of revenue in a peak year (up from $2.7M the prior year), about $560K of EBITDA at a roughly 16% margin. The owner expects to be priced at the typical ~5.0× — call it ~$2.8M. The buyer opens the file and finds:

  • 71% of the year's revenue is install/replacement work; contracted maintenance is under 12% (benchmark: ~30%).
  • One-time customers — single-invoice in the window — are about 48% of revenue, up from the low 30s the prior year.
  • Top-three customer concentration moved from 18% to 29%, past the ~25% HVAC ceiling the engine flags.
  • TTM revenue growth is ~30% against a ~4.7% HVAC norm.

The buyer doesn't reject the deal. He re-rates it. Same earnings, lower multiple, because the durability score moved in the wrong direction. A typical re-rate on a file like this is a half-turn to a full turn off the multiple — the kind of move that closes a deal at 4.0×–4.5× instead of 5.0×.

Scenario (illustrative, $560K EBITDA)MultipleIndicative value
What the owner expected (typical band)5.0×~$2.80M
What a buyer offers on a spike year4.3×~$2.41M
Delta~$390K

Multiple band computed by the offers.ai engine for HVAC; the dollar example is illustrative — your real numbers come from your books.

Now run the alternative. If the same business had spent the prior 12–18 months moving the recurring share toward the 30% benchmark instead of riding the replacement wave, the engine prices the maintenance-agreement conversion driver at +0.3×–0.5× — about $150K–$250K of value at the representative $500K-EBITDA shop. That's a lever that compounds in the other direction from the spike. The hard part for the owner isn't the math; it's that the lever takes 12–18 months to show up in the books, and a buyer can read the spike in ninety seconds.

How to read your own monthly trend before a buyer does

You don't need our software to start. Pull these from QuickBooks:

  • Monthly revenue, 24 months back. Plot it. A durable HVAC shop has a clear seasonal shape — summer cooling, winter heating — but its 12-month rolling average drifts up at single-digit percentages, not in step changes. If the last 12 months step up sharply and then flatten, that's the spike shape.
  • Invoice count per customer. How many customers had 1 invoice last year? 2+? 5+? The one-time bucket is what a buyer puts in the "won't repeat" pile by default. A spike year usually fattens it.
  • Install vs maintenance line items. If your job-cost codes or service lines can split installation/replacement from contracted maintenance, do the percentage. Compare it to the ~30% benchmark for the recurring share.
  • Top-customer share. Largest single customer, top-10 combined. If a big commercial account jumped during the spike year, you've also taken on concentration risk you didn't have before. (For more on how buyers price that gap, see the HVAC owner who mistook loyal customers for recurring revenue.)

Two outcomes are possible from that exercise. Either the year is more durable than it feels — recurring share grew, repeat behavior thickened, concentration held — and you can defend the multiple. Or it's a spike, and you've got 12–18 months to convert the wave of new customers into a contracted base before you go to market.

Common buyer red flags around a replacement spike

When the spike year shows on the file, the buyer's red-flag list reads like this:

  • Replacement queue pulled forward. A wave of aging units replaced this year is a wave of replacements you won't see again for ten to fifteen years. The buyer normalizes against the trailing baseline, not the peak.
  • Weather did it, not the sales motion. A hot summer is weather. The buyer underwrites the company as if next year is average — because over a hold period it will be.
  • One-time share climbed. New customers who bought a unit and disappeared aren't a base; they're a list. They show up in the one-time bucket and stay there unless you convert them.
  • Concentration moved the wrong way. Big-ticket replacement jobs often skew toward a few commercial accounts. Past the ~25% top-customer ceiling, the buyer takes a haircut for the risk that one of them leaves.
  • Margins compressed under the rush. Hiring three techs in eight months to cover the load usually shows up in gross margin slipping a few points below the ~35% HVAC benchmark. The buyer normalizes the margin to the benchmark, and EBITDA quietly comes down on their model.

The takeaway

A great install year is real money in your pocket — keep it. It's just not the same thing as a durable business, and the multiple is priced on durability, not on this year's peak. If your last twelve months look like a spike — heavy one-time share, thin contracted base, a concentration line that climbed — sell the spike into a story you've already built, not as the story. The 12–18 months before you go to market are where the multiple is actually decided: move the recurring share toward the 30% HVAC benchmark, hold your margin, keep concentration under 25%, and the same earnings price at a turn or more above where the spike alone clears.

This is the gap offers.ai surfaces from your real books — the repeat/one-time split, the contracted-maintenance share, the monthly trend against the HVAC benchmark, and the value drivers that move your multiple — before a buyer rebuilds it for you. See it on the HVAC overview, or run the free diagnostic. (If the record-year question shows up across every trade you're comparing, read the cross-trade version: why your best revenue year might not raise your valuation.)


Sources

  1. HVAC EBITDA multiple band (3.0×–8.0×, typical ~5.0×), recurring-revenue benchmark (~30%), gross-margin benchmark (~35%), top-customer ceiling (~25%), HVAC YoY growth norm (~4.7%), and the maintenance-agreement value-driver lift (+0.3×–0.5× at a representative $500K-EBITDA shop) — computed by the offers.ai engine (getBlendedMultiple, getBenchmarks, getValueDriverImpacts). Engine values verified 2026-06-15.
  2. Customer classification (one-time = 1 invoice; repeat = 2+; core repeat = 5+), customer-concentration measures (largest / top-10 / top-20), and TTM-vs-prior-12 revenue/EBITDA trend — computeRevenueDurability in src/lib/diagnostic/revenueDurability.ts and calculateTrend in src/lib/diagnostic/trend.ts.
  3. BizBuySell Insight Report (quarterly) — main-street sale multiples and the consistent premium for contracted/recurring service revenue in trade-business sales. https://www.bizbuysell.com/insight-report/
  4. IBBA & M&A Source — Market Pulse Report — multiples by deal-size band, where contracted recurring revenue and customer-diversification scores are the most-cited multiple drivers. https://www.ibba.org/resources/market-pulse/
See what a buyer would pay for your HVAC business. Free preview · no signup · read-only QuickBooks.
Get your free preview