Most HVAC businesses running annual service agreements are leaving 30-50% of contracted recurring revenue uncollected. Here's how it happens and what the fix actually looks like.

He Wasn't Losing Jobs. He Was Losing Customers He Already Had.

An HVAC owner I worked with had been running Facebook ads for six months. Eight techs, established business, solid reviews. Revenue had plateaued and he had a theory: not enough new leads coming in.

We ran an assessment on his business. Leads weren't the problem.

He had 300 active annual maintenance customers. Each agreement covered two visits per year at $150 a visit. On paper, that's $90,000 in contracted revenue per year — work he had already sold, customers who had already agreed to pay.

He was collecting about $45,000 of it.

Not because customers were cancelling. Not because they were unhappy. Because when the first visit was done, the job closed out, the tech moved on, and nobody followed up to book the second one. Six months would pass. The maintenance window would open and close without a word from either side. The customer wasn't avoiding it. They just forgot. So did everyone else.

He had been spending $800 a month on Facebook ads trying to grow while $45,000 of already-contracted revenue was sitting idle in his job history.

The fix was not complicated.

In ServiceM8, when a maintenance job moves to Complete, you can trigger a follow-up message on a delay. Set it for five months out. A single text to the customer: "Hi [name], it's [Company] — your next maintenance visit is coming up. Ready to book? [link]"

No tech involvement. No one has to remember. It fires the same way on every job, every time, regardless of how busy the schedule is or how distracted the office is. The customer gets the message when the timing is right, not when someone happens to think of it.

His rebooking rate went from around 43% to over 80% in the following service cycle. He kept running the Facebook ads for a while — old habits — and turned them off about three months later. The revenue he was trying to buy was already inside his customer list.

If you're on ServiceM8 and want this automated at the billing layer — not just the follow-up message — Service Plan Pro automates HVAC maintenance plan scheduling and billing directly inside ServiceM8.

The part worth sitting with:

He spent six months and close to $5,000 solving a problem he didn't have. Not because he was careless. Because a leads problem and a retention problem look identical from the inside. Both feel like "we're not growing fast enough." The difference only shows up when someone maps the full picture — where customers come from, what happens after the job closes, where the drop-off actually is.

That's what most assessments surface. Not catastrophic failures or systems that are broken beyond repair. Revenue and time leaking through gaps that are invisible until you look at the whole operation end to end.

The business owner in this case wasn't missing anything obvious. He was making a reasonable guess about his constraint. The guess was wrong, and the wrong guess cost him about a year of compounding — a year of rebooking revenue he could have been collecting while also building the customer relationships that drive referrals.

A pattern worth knowing:

The businesses that grow fastest aren't usually the ones with the best marketing. They're the ones who figured out, early, where their actual leverage was — and stopped spending energy on the symptom.

Finding that leverage requires looking at the numbers that most owners don't track because they're buried in job history, not on the dashboard. Close rate by lead source. Return visit rate by service type. Average time between first job and second job. Average gap between invoice sent and invoice paid. These are the numbers that tell you whether you have a marketing problem, a retention problem, a cash flow problem, or a staffing problem — before you spend six months fixing the wrong one.

If you're running more than 10 jobs a week and you haven't looked at your rebooking rate, that's worth doing today. Pull your completed jobs from the last 12 months. For customers with annual agreements or recurring services, check how many came back for the second visit. If that number is below 70%, you're probably sitting on a retention problem you've been treating as a marketing problem.

That one number will tell you more about your actual growth constraint than any amount of ad spend.

If you want a structured look at where your business is actually losing ground — not a guess, not a theory, but a mapped view of the whole operation — book an AI Assessment here. A 45-minute conversation, a detailed report on where the friction is, and a follow-up call to walk through it. You'll know exactly where to focus.

Reply and tell me what you think the constraint in your business is right now. I'll tell you if I think it's actually what's holding you back.

Kevin Chan The Ops Shortcut by ChanAutomation www.chanautomation.com

Keep Reading