In this post
# How Much Should an HVAC Maintenance Agreement Cost?
There is no industry price, and anyone who gives you one has not seen your cost structure.
What there is: a method. Cost the delivery properly, decide the margin you need, solve for price, then sanity-check against your market. That order matters, because pricing from what the company down the road charges means inheriting their cost structure without knowing it.
Cost the delivery first
Six inputs. Five of them get missed.
1. Labour, burdened
Not the wage. A $28/hr technician costs $35–$38 once payroll taxes, workers' comp, liability insurance, PTO and benefits are on top — a 25–35% burden is common, and yours is calculable from last year's payroll.
Two visits at 1.25 hours each, at $38 burdened: $95.00
2. Parts and materials
Filters, condensate treatment, consumables. Modest per visit, real across the year.
Two visits at $14: $28.00
3. Travel
The cost nobody puts on a maintenance plan, because it never appears on a timesheet. Fuel, vehicle wear and the paid time getting there.
Two visits at $9: $18.00
4. Admin
Scheduling the visits, sending the reminders, taking the payment, making the renewal call. Small per member; meaningful across a few hundred.
$18.00 per member per year.
5. The discount you give up
The one almost everyone leaves out, and it is a real cost. If members get 15% off repairs and an average member spends $180 on repairs a year, you have agreed to give away $27.00.
It does not show up as cash leaving. It shows up as repair revenue that is lower than it would have been.
6. Everything together
| Labour — 2 × 1.25 hr × $38 | $95.00 |
| Parts and materials — 2 × $14 | $28.00 |
| Travel — 2 × $9 | $18.00 |
| Admin | $18.00 |
| Repair discount given up | $27.00 |
| Cost to deliver, per year | $186.00 |
Illustrative inputs. Substitute your own — the method is the point, not the numbers.
Then set the price from a margin
Not a markup. The two are different and the gap is larger than it looks.
At $299:
| Price | $299.00 |
| Cost | $186.00 |
| Gross profit | $113.00 |
| Gross margin — profit ÷ price | 37.8% |
| Markup — profit ÷ cost | 60.8% |
A contractor "running 60% on their maintenance plans" and budgeting for a 60% margin is actually running 37.8%. Twenty-three points, on every agreement, every year. The full markup vs margin maths →
To price from a target margin instead:
Price = Cost ÷ (1 − Target margin)
| Target margin | Price on $186 cost | Monthly |
|---|---|---|
| 40% | $310.00 | $25.83 |
| 45% | $338.18 | $28.18 |
| 50% | $372.00 | $31.00 |
| 55% | $413.33 | $34.44 |
| 60% | $465.00 | $38.75 |
| 65% | $531.43 | $44.29 |
Run your own numbers → Enter visits, labour, parts, travel, admin and discount, set a target margin, and it solves for price.
What margin should a plan carry?
Deliberately no single number, because the right answer depends on four things this article cannot see.
What the plan is for. A plan sold primarily to keep customers close and generate repair and replacement work can justify a thinner margin than one expected to stand alone. But "it's a loss leader" is only a strategy if you know what the loss is.
Your overhead structure. A company with a warehouse, six trucks and office staff needs more gross margin than an owner-operator to reach the same net.
Your repair conversion. If members reliably produce repair and replacement work, the plan's own margin matters less. If they do not, it has to stand alone.
Your market. There is a price above which customers will not buy, and no amount of correct arithmetic changes it.
The useful question is not "what does the industry charge" but "what does this plan cost me, and what margin does my price actually produce" — because most contractors cannot answer either.
Three pricing mistakes
Matching a competitor's price without their cost structure. They may include one visit where you include two. They may have a different labour rate, a tighter territory, or be losing money.
Treating unused visits as profit. In one year, a customer who never books is more profitable. Across the relationship it is the most expensive way to book a short-term gain, because a customer who paid for two visits and got one has a real reason to decline the renewal.
Discounting into the floor. Two visits for $149 may sell well and still lose money on every renewal — quietly, because the cash arrives up front and the cost arrives across the year.
Billing frequency
Monthly billing usually sells better than annual — $26 a month is an easier decision than $299 — but it is not free.
The trade-offs: card failures and the admin of chasing them, higher cancellation part-way through a term, and processing fees on twelve transactions instead of one. Some contractors price monthly slightly higher to cover it, which is reasonable as long as both options are shown honestly.
Annual in advance is the cheapest to administer and the best for cash flow. Offering both and letting the customer choose costs you a little and closes more.
What to do this week
- Take your best-selling plan.
- Cost one visit properly — burdened labour, materials, travel.
- Multiply by the visits included, add admin, add the discount you give up.
- Compare that to the price.
- Work out the margin:
(Price − Cost) ÷ Price.
If it is thinner than you assumed, you have found something worth knowing, and the fix is usually changing what is included rather than raising the price.
Related
- HVAC Maintenance Agreement Software →
- HVAC Markup vs Margin →
- How to Create an HVAC Maintenance Agreement →
Want your plan economics visible while you are building the plan rather than in a report next year? Talk to BDEVY →
hvac maintenance plan price hvac maintenance agreement software hvac maintenance software