Reactivating Estimates From 6–12 Months Ago
Your CRM holds a goldmine of quotes that went quiet half a year ago — customers who liked you, knew your price, and just needed time. The quarterly sweep that mines them, the seasonal re-open, and the "circumstances change" message.
System 3 from the Leveraged Owner Starter Pack
Eight months ago you quoted $6,200 for a sewer line replacement. The homeowner said they'd "think about it" — and the quote sank into your CRM like a stone. Last week their basement drain backed up again. They're not calling three new plumbers for fresh quotes. They're calling whoever reminds them first — and the plumber who quoted the job eight months ago, who already walked their property and already knows the scope, has an enormous head start. The only question is whether that plumber texts them or stays silent. The 6–12 month dead-quote mine is the long-game layer of the estimate follow-up pillar: systematic, seasonal, and almost entirely uncontested — because your competitors gave up on these leads months ago.
Why 6–12 months is the sweet spot
Under six months, you're still in the standard follow-up sequence's territory — the 5-text cadence and the stall diagnostic own that window. Past twelve months, numbers go stale and the relationship cools. The 6–12 month band is where the magic concentrates: the customer's circumstances have had time to change (the budget freed up, the old equipment finally failed, the other contractor disappointed them), but they still remember you — your face, your quote, your professionalism. You're not a cold contact. You're the familiar expert checking back in. And because virtually no contractor follows up at month eight, your text arrives in an empty inbox: no competing messages, no decision fatigue, just you.
The quarterly sweep (the system, not the scramble)
Don't do this once a year as a heroic effort. Run it quarterly — fifteen minutes, four times a year, forever. The sweep:
- Pull the slice. In your CRM, filter unclosed quotes aged 6–12 months. Exclude: anyone currently a customer for other work (they get the customer check-in, not the dead-quote text), anyone who asked not to be contacted, anyone with an unresolved complaint.
- Split by stall reason. If your CRM tracks why the quote died, split the list: price objections get the re-open message (new information, not a discount); timing stalls get the check-in (the layaway maturing); unknowns get the circumstances-change message (below). No stall data? Default everyone to the circumstances-change message — it's the most versatile.
- Send in the seasonal window. Time each quarterly sweep to your trade's season (below) — the seasonal anchor is what makes an 8-month-old quote feel timely instead of random.
- Log and disposition. Every sweep's results get logged: replied, re-quoted, booked, declined, no response. Non-responders stay in the pool for the next quarterly sweep until they age past 12 months, then graduate to the annual reactivation list.
The seasonal re-open (timing does the selling)
The highest-converting dead-quote message isn't about your quote — it's about the season. The customer's problem is seasonal; your text arrives when the season makes it urgent:
Hi [First Name], [Your Name] from [Business Name] — with [summer heat / winter / storm season] coming, I was thinking about the [AC replacement / furnace / roof] quote from [month]. A lot's changed since then on my end: [we're booking [season] installs in under a week / equipment pricing shifted / we've added financing options]. If it's still on your list, want me to refresh the numbers? No pressure — just didn't want the season to catch you off guard. Reply STOP to opt out. — [Business Name]
The bracketed "what's changed" is doing the persuasion: it gives the customer a face-saving reason to re-engage (new information, not "I caved on price") and an honest urgency anchor (the season). Per trade: HVAC sweeps in early spring (cooling) and early fall (heating); roofing sweeps ahead of storm season; plumbing sweeps before winter (freeze risk) and before the holiday guest season; electrical sweeps ahead of summer (AC load on old panels).
The "circumstances change" message (the versatile default)
When you don't know why the quote died, lead with the universal truth: life changes, and the thing that stopped the project may be gone.
Hi [First Name], [Your Name] from [Business Name]. It's been about [8] months since I quoted the [job description] — I know a lot can change in that time (budgets, plans, the old [unit/pipes/roof] getting worse). Just wanted to check: is it still something you're thinking about? Happy to refresh the quote if anything's changed on pricing — and if you've already got it handled, just let me know and I'll close the file. Reply STOP to opt out. — [Business Name]
"I'll close the file" is the breakup mechanism — the clean exit that makes replies honest. A meaningful share of responses to this message are some version of "actually, the situation changed and we need it now" — which is exactly the premise the message was built on. For price-stall quotes specifically, add one line before the close: "If price was the holdup, we've got [financing / a mid-tier option] now that we didn't have then." New information, not a discount — the distinction that protects your pricing integrity.
The follow-up for repliers (speed wins the mine)
The sweep's conversion lives or dies in the hour after a reply. Rules, set before the sweep goes out:
- Reply within minutes. A dead quote that re-engages is the hottest lead in your pipeline — they know you, they need the work, and the season is pressing. Treat it like a new emergency lead for response speed.
- Re-quote, don't re-send. Eight months changed material costs and your schedule. "Let me refresh the numbers — I'll [come by / send the updated quote] by [tomorrow]." The re-quote visit is also your highest-close-rate event: you're back in the home, the relationship is warm, and the need is current.
- Honor the spirit of the old price. If costs rose, explain factually without lecturing: "Materials are up about X% since [month], so the refreshed number is $[Y]." Customers accept honest changes; they resent surprise ones.
- Close the file on a no. "Already handled it" gets grace and a closed file — plus a move to the customer/reactivation list if they used someone else (they're still a homeowner with future needs, just not this job).
The math that justifies the habit
Example: a 2-truck plumbing shop runs the quarterly sweep on 60 dead quotes per quarter. Each sweep takes an hour (pull, split, send, log). Reply rate: roughly 1 in 8. Re-quote rate: half of repliers. Close rate on re-quotes: half. That's 60 → 7–8 replies → 3–4 re-quotes → 1–2 jobs per quarter — 4–8 jobs a year from quotes that were doing nothing, at zero ad spend. The sweep's real cost is the hour; the real return is the jobs your competitors abandoned. Track it per sweep in the log: replies, re-quotes, closes. When the numbers dip, the list needs cleaning (stale numbers, bad filters) — not the system needs abandoning.
Compliance: the standard rails
Dead-quote reactivation texts are follow-ups about quotes the customer requested — run them on the standard compliant rails: registered 10DLC business-texting registration number (about $15–$20, 1–7 day approval), opt-out language in the first text of each sweep, immediate suppression of every STOP, TCPA (federal telemarketing law) quiet hours (8am–9pm recipient's local time). Honor any "don't contact me" from the original quote process by excluding them from the sweep entirely. General information, not legal advice.
Related guides in this series
Dead-quote mining is the long-game layer of the estimate follow-up pillar — the 5-text sequence wins the first 21 days, the stall diagnostic and price-objection framework win the deliberation window, the quarterly sweep mines months 6–12, and the annual reactivation text catches whatever survives past a year. No quote ever truly dies; it just moves to the next layer.
Get System 1 free: the complete Missed-Call Safety Net
The full setup guide, all four copy-paste scripts (including the owner notification), the "Your Numbers" missed-call worksheet, and the step-by-step setup guide — free, no catch. Fix your missed calls this week.
Get the AI Automation Starter Pack — $27, one-time: https://leveragedowner.com/starter-pack/
The done-for-you version
This post is System 3 from the Leveraged Owner Starter Pack — the done-for-you version with the full step-by-step setup guide, every script, the worksheets, and click-by-click setup instructions for all 8 systems. The quarterly sweep filters, the seasonal re-open templates, and the sweep log are pre-built and ready to run.
Stats sourced as labeled: no statistics used in this post.