The reason your past customers hire someone else is almost never that they were unhappy. It is that you contacted them on a schedule that had nothing to do with when they needed anything.
Here is the answer up front: repeat business runs on the clock of the thing you installed, not on your marketing calendar. A water heater is a six to twelve year clock. A garage door opener is ten to fifteen. A 3-tab asphalt roof is twenty. Pull those dates out of your job history, put them in a field, and let them fire. That single change beats every quarterly newsletter you will ever write.
The one number that decides everything: your recurrence interval
Before you write a single message, work out how often your work actually needs doing again. Every piece of generic retention advice on the internet assumes the answer is "soon." For most trades it is not.
InterNACHI publishes a standard estimated life expectancy chart for homes that home inspectors use to age a property. Read it as a marketing calendar instead and it tells you, per trade, when your past customer becomes a live opportunity again.
| Component | Service life (years) | What the second job actually is |
|---|---|---|
| Toilet tank components | 5 | Small service call, high frequency |
| Carbon monoxide detectors | 5 | Replacement, easy add-on |
| Sump pump | 7 | Replacement before a wet basement |
| Water heater (conventional) | 6 to 12 | Replacement, often urgent |
| Exterior paint | 7 to 10 | Full repeat of the original job |
| Air conditioner (central) | 7 to 15 | Replacement, high ticket |
| Garage door opener | 10 to 15 | Replacement, then the door later |
| Heat pump | 10 to 15 | Replacement, high ticket |
| Faucets and spray hose | 15 to 20 | Service or upgrade |
| Asphalt driveway | 15 to 20 | Full repeat |
| Furnace | 15 to 25 | Replacement, high ticket |
| Wood fencing | 20 | Full repeat |
| Asphalt shingles (3-tab) | 20 | Full repeat, once |
| Garage doors | 20 to 25 | Full repeat, once |
| Asphalt (architectural) | 30 | Effectively never, for you |
Source: InterNACHI's Standard Estimated Life Expectancy Chart for Homes.
Now the uncomfortable part. If you install architectural shingles, the customer you roofed in 2024 will need you again in 2054. No follow-up cadence, loyalty discount or seasonal email changes that. A retention article that tells a roofer to target a 70% repeat rate is selling arithmetic that does not exist.
Watch out
The trades most aggressively sold "customer retention" software are frequently the ones with the longest recurrence intervals. Roofing, window replacement and full HVAC changeouts have the highest ticket and the lowest natural repeat frequency. That combination is exactly what makes the pitch appealing and the results disappointing.
Four recurrence tiers, four different mechanisms
Once you know your interval, the right mechanism is basically determined. Pick the wrong one and you will work hard at something structurally incapable of paying off.
Tier 1, sub-annual (cleaning, lawn, pest, pool, snow). Your work repeats inside a year. The mechanism is a subscription or a route: recurring scheduling, auto-renew, and pricing that assumes the relationship continues. Reactivation here means noticing a cancelled route stop within one cycle, not a campaign.
Tier 2, annual (HVAC tune-ups, chimney, gas safety, alarm monitoring, backflow testing, septic). The mechanism is a maintenance agreement. The customer has a recurring need, they just do not track it. You do.
Tier 3, five to fifteen years (water heaters, openers, sump pumps, driveways, exterior paint, HVAC equipment). This is where the asset clock does the work. You are not staying top of mind for a decade with newsletters. You are setting a date on the file and hitting it. A message that says "your water heater turns nine this March, here is what usually goes first" outperforms everything else you could send that quarter, because it is the only message that is about them.
Tier 4, fifteen years and up (roofs, windows, garage doors, siding, fences). You will not get a second job from most of these customers. Stop pretending otherwise and mine the two things that do pay: referrals, and adjacent work you are already qualified to do. The roofer who installed in 2024 will not need a roof, but they will need gutters (20 to 40 years for aluminum, so also once) and, more usefully, they know six neighbours with roofs the same age as theirs, because subdivisions get built at the same time.
That last point is the one operators miss. In a tract subdivision, recurrence interval and street address are correlated. If you replaced a 1999 build's furnace this year, the identical furnace is failing in every house on that street. Your past customer list is a map, not just a contact list.
Your list has an expiry date, and most owners do not know it
This is the part no US retention article covers, and it decides what you are legally allowed to send.
Canada's Anti-Spam Legislation gives you implied consent to send commercial electronic messages to people you have an existing business relationship with. That consent is not permanent. The Act defines the relationship as arising from the purchase or lease of a product, goods, a service, land or an interest in land "within the two-year period immediately before the day on which the message was sent." An inquiry that never became a job gives you six months.
Read that against your shoebox of past jobs. If you last invoiced someone in 2022, your implied consent under CASL is gone. You need express consent, or you need a channel CASL does not cover, such as a phone call or a piece of physical mail.
Two practical consequences:
- Every transaction resets the clock. A repair visit in year four of a ten-year water heater buys you two more years of implied consent, which happens to bridge you to the replacement conversation. Small paid service calls are not just revenue, they are consent renewal.
- Collect express consent while you are on site. A single checkbox on the job completion form ("send me service reminders for this equipment") converts a two-year timer into consent that does not expire until they withdraw it. It costs nothing and it is the highest-leverage line on your paperwork.
For US operators, the equivalent trap is the FCC's TCPA consent revocation rule, effective April 11, 2025. Consumers can revoke consent by any reasonable means, you must honour it within ten days, and you get exactly one confirmatory text containing no marketing content. If they do not reply to that confirmation, their silence counts as revoking consent for all automated commercial calls and texts. A reactivation blast sent from a platform that only recognises the literal word STOP is not compliant.
Most of this is a data problem, not a marketing problem. Pavado builds custom CRM systems for trades that store the asset alongside the customer, fire the reminder on the install date, and track consent so you know which part of your list you can legally email today.
Store the asset, not just the customer
Everyone tells you to "use your CRM." Nobody tells you what fields to put in it, which is why the advice never survives contact with a Tuesday.
An HVAC contractor on r/hvacadvice, u/Yanosh457, described what a workable record looks like when explaining how to structure a service agreement: list all equipment covered by serial number or unit number, list what you will do to them, and list at what interval. That is the schema. Applied to your whole customer base rather than just agreement holders, it looks like this:
| Field | Why it exists |
|---|---|
| Equipment make, model, serial | Lets you recall, warranty-claim and quote accurately without a site visit |
| Install or last-service date | The trigger. Everything else is decoration without it |
| Expected service life | Set from the InterNACHI chart at install, adjusted by what you saw |
| Next-due date | Computed, not typed. This is what the automation reads |
| Warranty expiry | The single most credible reason to make contact |
| Quoted but not done | The fastest revenue in the whole database |
| Consent status and date | CASL two-year timer, or express consent on file |
| Referral given | Tells you who to call first, and who to thank |
The "quoted but not done" field deserves its own paragraph. Every shop has a pile of estimates the customer approved in principle and never scheduled: the second bathroom, the panel upgrade they deferred, the unit they patched instead of replacing. Those are not cold leads. They are documented, priced, already-wanted work sitting in a folder. If you do nothing else in this article, pull that list. We wrote separately about how to follow up on a quote without being pushy, and the same cadence applies to estimates that went cold months ago.
Another operator in the same thread, u/JodyB83, flagged the failure mode: "The biggest thing is having a system in place that keeps track of when their visits are. You don't want to collect money, then never do the work." Selling recurring commitments you cannot administer is worse than not selling them.
What maintenance agreements actually earn
For Tier 2 trades this is the highest-retention instrument available, and the honest version of the pitch is more useful than the marketed one.
u/Upset_Analyst5518, describing typical structures on r/hvacadvice, laid out plans running one, three or five years with a lowered diagnostic fee, 10 to 20% off parts and a credit toward a new unit, priced so longer terms are cheaper per year: roughly $190 for two visits on a one-year plan, about $300 for a three-year plan. The selling moment they described is worth stealing: introduce the agreement while you are already writing a $700 diagnostic and repair, because the 15% member discount saves the customer money on today's invoice. The plan effectively pays for itself before they have signed it.
Then the candid part: "Service agreements aren't necessarily money makers but the rapport is worth it."
That is the correct way to think about it. The plan fee is close to break-even once you have paid a technician to make two visits. The return is that you are the default vendor for the next failure, and that two annual visits on the equipment surface repairs nobody would have called you about. An owner in the same subreddit, u/Mediocre_Fee_4784, described running handshake maintenance plans with customers who had been loyal for five to twenty years and wanting to formalise them, which is the right instinct: the relationship already existed, it was just undocumented and therefore unsellable and untransferable.
If you are Tier 3 or Tier 4, do not force this. A roofer selling an "annual roof maintenance plan" to a homeowner with a five-year-old roof is selling a visit that finds nothing. An annual inspection offer after a major storm is a different and much better product.
Segment before you send, or do not bother
The single most common mistake is blasting one message to the whole list. A commenter on r/smallbusiness, u/Difficult-Beyond5764, put the fix concisely: split the list into recent customers and lapsed ones, because "a customer who came in last week and one who hasn't shown up in eight months need completely different messages, and the second group is where the actual money is." Their other recommendation was to make the lapsed message look like a person wrote it, plain text, no branded template, no coupon in the subject line, because every inbox is already full of branded blocks.
Adapted for a trade, the four segments that matter:
- Active, under 12 months. They know you. This group gets service reminders and review requests, not offers.
- Lapsed, 12 to 24 months. Still inside CASL implied consent. This is your reactivation group. One plain message referencing the specific work you did.
- Aged out, over 24 months. Outside implied consent for email. Phone, mail, or a re-permission ask through a channel you have express consent on.
- Quoted, never booked. Highest intent in the database regardless of age. Call these, do not email them.
And set expectations honestly. u/Fortestingporpoises, describing texting inactive clients with big discounts, said: "It may work for 1 out of 100 but that's something." That is the realistic shape of a cold blast to an aged list. Eight hundred contacts is not eight hundred jobs. It is a handful of jobs, which is still an excellent return for an afternoon of work, but only if you budgeted an afternoon rather than a retainer.
Expect the first send to an old list to be ugly in one specific way. As u/Acrobatic_Car9413 noted on the same thread, "at first you will likely find a lot of folks unsubscribing because the list is so old and many people move." Bounces and unsubscribes on send one are the list cleaning itself, not a verdict on the strategy.
Measure booked jobs, not opens
Whatever you send, do not judge it by open rate. Stripo's 2026 B2B benchmark study, built on roughly 15 billion emails across 939 companies and 46 industries, found that 49.29% of every tracked open is Apple Mail Privacy Protection fetching the tracking pixel on a schedule of Apple's choosing, not a human reading anything. The same study puts true human open rates at 15 to 25% while dashboards report 35 to 55%.
A commenter on r/smallbusiness, u/highwaymarketingco, described the workaround for a local business better than most analytics vendors do: put one redeemable thing in every send, a code word or an offer that only ever goes out by email, and count how many people mention it. For a trade that translates to a distinct booking link or a phrase the office asks about on the phone. Then the only metric you need is jobs booked in the 14 days after the send, attributed to the send.
If you have never done this, our guide to tracking where your leads come from covers the attribution plumbing.
By the numbers
Jobber's 2026 Home Service Trends Report surveyed 1,050 US home service business owners in December 2025 (±3 percentage points at 90% confidence). 59% named referrals and repeat work as their top source of leads. The same survey found 74% of these businesses have no FAQ section on their site, 65% do not show business hours and 43% do not clearly list their service areas. The channel they rely on most is the one they invest in least.
A 30-day run you can actually finish
Not a strategy. A list of things to do, in order, that ends with jobs on the board.
Week 1, build the file. Export every job from the last five years into one sheet: name, address, phone, email, job date, what you installed, and whether you have consent on record. Add a column for expected service life from the InterNACHI chart. Add a computed next-due date. This is tedious and it is the whole job.
Week 2, work the three warm lists. Call everyone in "quoted, never booked." Call everyone whose equipment is inside two years of its expected end of life. Call every customer whose warranty expires in the next 90 days. These are phone calls, not emails, and they are the highest-yield hours in the month.
Week 3, send one plain message to the 12 to 24 month segment. Reference the actual job. No template, no discount in the subject line, one specific reason to reply. Include a redeemable phrase so you can count it.
Week 4, close the loop so this never becomes a project again. Put install date, serial, warranty end and next-due into whatever system you use, add a consent checkbox to the job completion form, and set the reminder to fire automatically. If your current tool has no field to put an install date in, that is your answer about whether the tool fits the work. Our signs you have outgrown your CRM post covers when to stop patching around it.
The objection worth taking seriously
Not every shop should do this, and pretending otherwise is dishonest.
On r/Plumbing, u/Furrealyo observed that "there are way more customers than there are plumbers so a lot of plumbers just don't care about repeat business." Another commenter, u/thekid13100, described working for a shop running roughly 100% margins: "He rarely had repeat customers but he got enough money off them the first time that it didn't matter. Terrible way to do business but he's been going for 15 years now."
They are describing something real. In a market with excess demand and a high enough average ticket, a single-transaction model works. It is not the business most owners want to run, and it is fragile the moment demand softens or a competitor with a database starts calling your customers on their equipment's clock. But it does work, and if you are turning down jobs today, retention is not your binding constraint. Capacity is, and keeping the crew busy in the slow season is a different problem with different answers.
The case for building the file anyway is that it is the only marketing asset you own outright. Ad platforms change, lead sellers resell your leads, Google reshuffles the map pack. A list of 900 households, with the make and model of the equipment in each one and the date it goes bad, is yours. It compounds with every job you finish, it costs nothing to maintain once the fields exist, and it is the single largest line item in what your business is worth when you eventually sell it.
Most owners already have the raw material. It is sitting in invoices, in a filing cabinet, in a phone's text history. The work is not acquiring it. The work is putting a date next to it.
