Roofing - Revenue recovery - 7 min read
Unsold Roofing Estimates: A Follow-Up Playbook for Roofers
Thirty estimates went quiet last year. A playbook to pick which ones deserve a second call, give each one an owner - and find out why they went quiet before reaching for a discount.

The estimate that went quiet
Somewhere in your files sits a stack of estimates you wrote, sent, and never heard back about. Some were three months ago. One might be two years old. The homeowner was nice, the inspection went fine, and then - quiet.
They are not dead. An unsold roofing estimate is not automatically a lost job. A homeowner may be waiting on an insurance decision, comparing timing, or simply got busy and let it slide. The mistake is not having a quiet stack. It is treating every old estimate the same: one bulk email, one discount, one guess.
Before writing a single follow-up, pull the estimates that did not turn into signed work. Not a perfect spreadsheet - just enough to stop reopening an estimate cold, with no context.
What to pull for each one
The minimum a real follow-up needs:
- Homeowner name and the contact details they actually use.
- Property ZIP and whether it is in your routes.
- Estimate date, last contact date, and what was quoted.
- Reason for delay, insurance context, or payment context - when it was actually captured. If nobody wrote down why it went quiet, do not invent it now.
- A clear do-not-contact or opt-out flag.
Sort the list before you contact anyone
Do not start with the oldest estimate by default. Oldest is not a reason to call - it is just a date. Start with the estimates that have a specific, honest reason to revisit: an insurance update, a timing window the homeowner stated out loud, or a question that was left hanging at the inspection.
Keep the low-context ones separate. A light check-in is fine when the homeowner never asked to be left alone. It is not a reason to escalate outreach or fire off a bulk campaign.
- Active reason to revisit - a real, documented trigger. "Adjuster closed the claim." "They said spring." Somebody wrote it down.
- Strong fit, incomplete decision - timing, scope, or a question that never got answered.
- Low context - one light check-in, then a clear close-out if nothing comes back.
- Do not reopen - opted out, outside your service area, poor fit, or already clearly lost. Respect it and move on.

Give every estimate one owner and one next action
Old estimates usually die in the handoff. The estimator thinks the office followed up. The office thinks the estimator owns it. The homeowner hears nothing from either one.
For each estimate you choose to revisit: one person, one date, one channel the homeowner agreed to, and one outcome field. A useful outcome reads like plain life: conversation started, timing changed, lost to competitor, no fit, do not contact, or still open.
Use a follow-up that is specific and easy to answer
The best first follow-up does not force the homeowner into a sales call. It gives them a clear reason to reply, built from notes you already have.
"When we looked at the roof, you mentioned timing was the main question. Are you still planning to revisit this season, or should I close the estimate out for now?"
For an insurance-related estimate - only when your notes support it: "Has there been any update from your carrier or adjuster that would be useful to review together?"
Both give the homeowner something to answer. Neither invents urgency, and neither assumes price was the problem.
Do not lead with a discount
Discounting before you understand the stall teaches your crew that every quiet estimate needs a lower price - and it teaches the homeowner that your first number was not real.
First learn whether the issue is timing, insurance, financing, scope, trust, or a competitor. A homeowner waiting on their adjuster does not need a discount. A homeowner who did not understand the scope needs a clearer explanation. Price can be part of a later conversation. It should never be the opening move.
Review the list weekly, not once a year
Add newly stalled estimates while the inspection details are fresh. Review the small group with a real reason to revisit, record the response in plain language, and remove opted-out or clearly closed ones the same day.
Over time, those notes show you where the process loses momentum: an unclear insurance handoff, appointments outside the service area, or an intake form that never captured what the homeowner needed. The quiet stack stops being a guilt pile and becomes a map of what to fix.
Where Kaldwick fits
Kaldwick helps contractors capture owned quote requests and keep a readable record of the homeowner context, owner, last action, and next action. To put a dollar figure on what these unsold estimates are costing you, run the math in the real monthly cost of a slow roofing estimate, or use the free quiet estimates calculator.
It is not a promise that every old estimate can be recovered. It is a way to avoid losing context before an estimate becomes old in the first place.
Frequently asked questions
How long should a roofing company keep an unsigned estimate open?
Only while there is a documented reason and a useful next action. Close it clearly when there is no fit, the homeowner opted out, or the job went elsewhere. An estimate kept open with no reason is just clutter.
Should we text every homeowner with an old roofing estimate?
No. Use only the channels the homeowner agreed to, respect opt-outs, and skip the bulk sends. A small relevant list beats an indiscriminate campaign every time.
What should we ask when an estimate went quiet?
An easy question tied to your notes: timing, insurance status, scope clarity, or whether they want the file closed. Never invent urgency. Never assume price was the objection.
How many should I work at once?
A handful. Work the active-reason bucket first, a few at a time, with an owner and a date on each. A focused hour on six real candidates beats a day of blasting forty cold ones.