Skip to main content
Create A Legacy
Legacy Lab
·7 min read·

The HVAC Seasonal Trap: Why Most Contractors Lose 40% of Revenue in the Shoulder Months

HVAC contractors in DFW make 70% of their revenue in summer and winter. The shoulder months don't have to be dead. Here's the automation that keeps the pipeline full year-round.

Shawn Mahdavi· Founder, Create A Legacy

Every HVAC contractor in DFW knows the seasonal rhythm. May through September: can't keep techs on the road fast enough. December through February: emergency calls, system replacements, full schedules. October, November, March, April: the phone stops ringing.

The industry calls them "shoulder months." Most contractors call them "layoff season."

But here's what the top 10% of DFW HVAC operators know: the shoulder months aren't dead. They're dormant. And dormancy is fixable with the right automation.

The $200K gap hiding in your customer list

The average DFW HVAC contractor has 2,000-5,000 past customers in their system. Most of them haven't heard from the company since their last repair or install. They're not angry. They're not unhappy. They're just forgotten.

And forgotten customers don't call when the AC makes a weird noise. They Google "HVAC near me" and call whoever shows up first.

Let's run the math for a Carrollton contractor with 3,000 past customers:

MetricValue
Past customers3,000
Annual maintenance agreement penetration8% (240 customers)
Customers who need a system in next 3 years~20% (600 customers)
Customers who've been contacted in last 12 months~15% (450 customers)
Forgotten but viable customers2,550

At an average replacement ticket of $8,500 and a conversion rate of 12% on contacted customers, that's $260K of dormant replacement revenue sitting in the database. Before you spend another dollar on Google Ads.

The shoulder months aren't a demand problem. They're a reactivation problem.

Why manual reactivation fails

Every contractor I've talked to has tried some version of manual reactivation:

  • The postcard blast: Mailed in October. Cost: $1,200. Response: 3 calls. ROI: negative.
  • The email newsletter: Sent quarterly. Open rate: 8%. Unsubscribe rate: higher.
  • The "call past customers" initiative: Office manager spends two days calling 100 customers. Books 4 tune-ups. Never happens again because the office manager has 40 other jobs.

Manual reactivation fails for predictable reasons:

  1. Scale. Two thousand customers is too many for a human to contact personally.
  2. Timing. Postcards arrive when the AC is fine. Emails get buried. Calls happen at the wrong moment.
  3. Relevance. "Hey, it's been a while" isn't a compelling message. "Your system is 11 years old and the manufacturer just discontinued parts" is.
  4. Consistency. Without automation, reactivation is a project, not a system. Projects happen once. Systems run forever.

The four-season automation stack

Here's what we install for HVAC contractors across Plano, Frisco, and The Colony:

Spring (March-April): Pre-cooling prep

Target: Customers with systems 8+ years old, no maintenance agreement, last service 18+ months ago.

Sequence:

  • Day 1: "Your AC worked hard last summer. Before the first 95° day hits [city], here's a $49 tune-up special to make sure it's ready." + booking link
  • Day 5 (if no response): "Last summer we had 47 days over 95° in DFW. A $49 tune-up now beats a $400 emergency call in July." + urgency framing
  • Day 12: "Hi [name], just checking if you got our spring tune-up offer. We have 6 slots left this month. Want one?" + personal text

Goal: Convert dormant customers into active maintenance relationships before summer demand peaks.

Summer (May-September): Peak efficiency

Target: Active maintenance agreement holders, new installs from last 2 years, customers who called for repairs.

Sequence:

  • Post-service: Automated review request 24 hours after completed job
  • Mid-summer: "How's your AC holding up? If you've noticed any issues, we have same-day availability this week."
  • Late summer: "Your system is [X] years old. Most systems in DFW need replacement by year 12. Want us to run a quick assessment during your next filter change?"

Goal: Maximize review velocity, capture early replacement signals, reduce emergency call volume.

Fall (October-November): Heating prep + replacement push

Target: Same as spring, plus customers who declined replacement quotes in summer.

Sequence:

  • Day 1: "DFW winters are getting colder. Before the first freeze, make sure your heat is ready. $49 heating tune-up." + booking link
  • Day 5: "We replaced 23 systems last summer for customers who waited too long. Don't be #24. Book a heating check and we'll assess your full system."
  • Day 10: Personalized call from service manager for customers with quotes pending from summer

Goal: Convert summer quote decliners, book heating tune-ups, identify replacement candidates before winter emergency rush.

Winter (December-February): Emergency capture + IAQ upsell

Target: All active customers, plus emergency callers.

Sequence:

  • Post-emergency repair: "Glad we got your heat back on. While we were there, we noticed your indoor air quality could be better. Here's 20% off a whole-home air purifier this month."
  • Mid-winter: "Cabin fever is real. Stale indoor air doesn't help. Ask us about ventilation upgrades on your next service call."
  • Pre-spring: "Spring allergies start in February in DFW. Get ahead of it with a MERV-13 filter upgrade."

Goal: Maximize ticket size on emergency calls, introduce IAQ as revenue stream, pre-sell spring maintenance.

Year-round: The forgotten customer machine

This is the layer that matters most. A perpetual sequence that:

  1. Segments the full customer database by: last service date, system age, service history, neighborhood, home value, maintenance agreement status
  2. Enrolls dormant customers into relevant seasonal sequences automatically
  3. Removes customers who respond or book (no annoying duplicate messages)
  4. Surfaces high-value opportunities to the office manager (e.g., "3,200 sq ft home, 14-year-old system, no maintenance agreement — this is a $12K replacement waiting to happen")
  5. Reports on reactivation revenue by month, source, and campaign

The "forgotten customer machine" runs 24/7. It doesn't take vacations. It doesn't get busy with other tasks. It just keeps enrolling, messaging, and surfacing opportunities.

Why this works in DFW specifically

DFW's climate is uniquely suited to HVAC automation:

  • Extreme temperature swings: 100° summers, 20° winters. Systems break predictably. The contractor who contacts the customer before the breakdown wins the replacement.
  • Rapid growth: Frisco, McKinney, The Colony are adding thousands of new homes annually. New homeowners don't have an HVAC relationship yet. The first one to establish it usually keeps it.
  • Affluent market: DFW homeowners have the budget for premium systems, IAQ upgrades, and maintenance agreements. They just need to be asked systematically.
  • Competitive density: There are 200+ HVAC contractors in Collin County alone. The ones with systematic follow-up outbid the ones running on memory.

What the top 10% do differently

The DFW HVAC operators who don't lay off techs in October do three things:

  1. They treat the database as an asset, not a history book. Every customer who ever paid them is a future revenue source with predictable lifetime value. The ROI on reactivation is 5-10x the ROI on new lead generation.

  2. They sell maintenance agreements, not tune-ups. A $199 maintenance agreement produces $199 in immediate revenue + a guaranteed annual visit + replacement pipeline visibility + customer lock-in. The automation sequences sell agreements, not one-off services.

  3. They measure reactivation revenue separately. They know how much revenue came from "new leads" vs. "reactivated past customers." When they see that 40% of summer revenue came from spring reactivation, they double down on the spring sequence.

What to do Monday morning

Three actions. Takes two hours total:

  1. Export your customer database. Sort by last service date. Count how many customers haven't been contacted in 12+ months. Multiply by 12% (conservative reactivation conversion). Multiply by your average ticket. Stare at that number. That's your shoulder month revenue.

  2. Check your current "reactivation" process. Is it a project that happens once a year? Or a system that runs every week? Be honest. If it's a project, it's not working.

  3. Pick one season. Don't try to build four sequences at once. Pick spring (since it's almost here) and build ONE sequence: "AC tune-up offer for dormant customers 8+ year systems." Three touches over 14 days. Test it on 100 customers. Measure results. Iterate. Then build the next season.

The next step

If you want to see what your specific HVAC automation stack would look like — including the exact customer segments, the message copy, and the CRM configuration — take the AI Opportunity Score. It's built for home services and estimates your reactivation revenue opportunity in about 60 seconds.

If you already know your database is a goldmine you're not mining, book a strategy call. We'll look at your customer list, your current follow-up process, and your peak/off-peak revenue split, then build the exact seasonal automation to keep your pipeline full year-round.

The DFW HVAC contractors who never worry about shoulder months aren't luckier. They're automated.

Quiet. Useful. Rarely.

Subscribe to the Lab

A short note when the next teardown drops.