Business Owner Interviews
HomeBusiness Owner InterviewsHow a Detroit HVAC Contractor Built a $2 Million Business

How a Detroit HVAC Contractor Built a $2 Million Business

By Andrae J. · · 5 min read · AI-assisted reporting, published under Growth Sparked editorial standards

# How a Detroit HVAC Contractor Built a $2 Million Business

The math that changed everything for this Detroit contractor was simple: an emergency repair call ran a 30-35% gross margin. A scheduled maintenance visit under a service agreement ran 65-70%. Same truck, same technician, same basic skill set — double the profitability, just because the work was planned instead of panicked. That single number is what pushed a one-man HVAC operation from $350,000 to over $2 million in annual revenue in eight years.

The owner-operator ceiling

Like most contractors in this business, he started as the guy who answered his own phone and drove to every job. For three years, revenue sat around $350,000 — a number that's less a business milestone than a wall. It's roughly the ceiling of what one skilled technician can personally bill, minus drive time, no-shows, and the hours spent on paperwork instead of tools.

Related reading

The fix wasn't hiring another technician. It was hiring a service manager — someone to own dispatch, scheduling, and the endless stream of customer callbacks. That move alone freed up 20-25 hours a week the owner had been spending on logistics instead of growth. Within a year, that reclaimed time supported two more technician hires, and revenue jumped to roughly $650,000.

The next unlock came from separating "fixing" from "selling." Technicians are trained to diagnose and repair; asking them to also pitch a full system replacement mid-call rarely works well for either task. So the business brought on a dedicated comfort advisor — a salesperson whose only job was closing replacement and agreement sales. Splitting those roles is a well-worn move in the trades, and here it pushed revenue to around $1.2 million with a team of nine.

The trajectory:

The GP agreement math that made it work

The single biggest lever wasn't marketing or hiring — it was restructuring what the business actually sold. A General Purpose (GP) service agreement is an annual plan: two seasonal tune-ups (AC and furnace), priority scheduling, repair discounts, and no overtime charges. It converts a homeowner's occasional emergency call into a predictable, scheduled relationship.

The margin gap explains why this matters so much. An emergency repair — someone's furnace dies on a Tuesday night in January — comes with overtime pay, rush parts sourcing, and a stressed customer. A maintenance visit is booked two weeks out, uses a standard parts kit, and often surfaces small repairs before they become emergencies. That's the difference between 30-35% and 65-70% margins on essentially similar work.

The business now holds over 1,200 active GP agreements generating more than $450,000 in annual recurring revenue. That recurring base does something less obvious than "adds revenue" — it lets the owner plan hiring and marketing spend months in advance instead of reacting to whatever the weather does.

Rollout followed three steps:

  1. Package tiers — Bronze, Silver, Gold at $199, $299, and $399 annually, each with clearly different benefits.
  2. Value-based sales training — technicians and advisors were coached to sell peace of mind and cost predictability, not just a discount.
  3. Systematic offering — every installation customer gets a GP pitch automatically; every repair over $500 triggers a formal proposal.

| Metric | Year 4 (pre-GP) | Year 8 (present) |

|---|---|---|

| Annual revenue | ~$650,000 | $2,000,000+ |

| Recurring revenue share | <5% | >40% of gross profit |

| Avg. customer lifetime value | ~$850 | ~$2,500 |

| Technician turnover | ~18% | <10% |

| Gross margin, service visits | 30-35% | 65-70% |

The trade-off worth naming: agreements are a slow burn. Selling 1,200 of them didn't happen in one good quarter — it took years of every technician and advisor treating every job as a chance to enroll a customer. Contractors chasing quick revenue often skip this because the payoff isn't visible for 12-18 months, even though it's the highest-leverage thing in the entire business.

What Detroit specifically demands

Metro Detroit isn't a generic mid-size market. It's a tight labor pool for technicians, brutal seasonal swings (frozen January mornings, humid July afternoons), and a customer base that ranges from Grosse Pointe estates to price-sensitive urban neighborhoods within the same 25-mile radius.

Labor. The technician shortage is a national story, but in Detroit it means competing directly with the auto industry's skilled-trades pay scale. This contractor's answer was a real career ladder — maintenance tech to lead tech to field supervisor to management — paired with something rare in HVAC: guaranteed year-round hours. That guarantee is only possible because GP agreement revenue smooths out the slow shoulder seasons. Turnover dropped well below industry norms as a result.

Marketing. Generic pay-per-click ads got dropped in favor of sponsoring local high school sports in target suburbs like Royal Oak and Grosse Pointe, plus direct mail aimed specifically at neighborhoods with homes 15+ years old — the age where system replacements become likely. Review generation became a formal process rather than an afterthought, building over 350 five-star Google reviews.

Seasonal spikes. Rather than over-hiring for January and July peaks and carrying that payroll the rest of the year, the company keeps a "surge crew" — three to four part-time, pre-vetted technicians on call for the two brutal weeks a year when demand triples. It's funded by the predictable cash flow the agreements provide, which is really the same lever solving two different problems.

Building the management layer

Once the business had proven the GP model worked, the constraint shifted from "not enough revenue" to "not enough owner." The org chart was built deliberately, ahead of need rather than in reaction to burnout:

Businesses that build this middle layer before they're forced to tend to scale more smoothly than those that wait for a crisis. This owner hired managers when things were merely getting busy, not when they were falling apart — a distinction that sounds obvious in hindsight and is very hard to act on when cash is tight.

Underneath the org chart, three systems did the real work: job costing software that revealed emergency repairs were quietly unprofitable despite looking like big-ticket wins; a documented playbook covering everything from phone scripts to post-install checklists, which cut new-hire ramp time significantly; and standardized truck inventory so technicians spent less time driving back for parts.

Frequently asked questions

What's the first hire that actually unblocks growth?

A service manager or dispatcher, not another technician. Adding technicians without fixing dispatch and scheduling just gives the owner more people to manage manually.

How do you sell a maintenance agreement without sounding like an upsell?

Frame it as insurance, not a discount: for less than a dollar a day, a homeowner protects a $10,000 system from a catastrophic January breakdown. In Detroit specifically, the pre-winter furnace check is the strongest hook — nobody wants to find out their furnace failed on the coldest night of the year.

What share of revenue should come from agreements?

Aim for 20-30% of total revenue, but pay closer attention to gross profit share — high-performing shops often see 40-50% of gross profit come from agreement work, since it's the highest-margin activity in the business.

How do you manage cash flow through Michigan's seasonal swings?

Recurring agreement revenue provides a spring/fall baseline. Non-urgent work like duct cleaning gets scheduled into the shoulder seasons deliberately. And keep 6-8 weeks of operating expenses in reserve for the post-season lull — this isn't optional in a climate this seasonal.

Do you need dedicated software, or will spreadsheets work?

Past a certain size, spreadsheets actively cost money through missed renewals and administrative errors. A field service platform that handles dispatch, agreement renewal tracking (aim for 85%+ renewal rates), and financial reporting typically pays for itself in recovered billable hours alone.

---

One thing worth doing this week: pull your last 100 service calls and split them into two piles — customers on a maintenance agreement versus one-off emergency calls. Calculate the average gross margin for each pile separately. The gap is usually stark enough to make the case for building an agreement program better than any pitch deck could.

Methodology & Editorial Standards This article was generated with AI assistance and screened by an automated editorial gate that checks it against our publication standards before release. It was not reviewed line by line by a human editor. Figures are illustrative estimates unless a source is named in the text. Pricing, availability, and programme amounts change frequently — verify them before acting. Consult a qualified professional for your specific situation. Published 2026-03-10 · Screened by automated editorial gate
A

Written by

Andrae Washington is the founder of Growth Plug AI and editor-in-chief of GrowthSparked. A veteran entrepreneur based in Ann Arbor, Michigan, he writes about scaling local businesses, AI adoption, and the strategies that help owners build better companies without burning out.
Produced with AI assistance. Figures are illustrative estimates — verify current prices, programme amounts, and code requirements locally before acting on them.
Free weekly

Intelligence for the whole week.

Business, money, health, home — for the owner who manages all of it.