The situation
The jobs were not being lost to competitors
An estimate in residential roofing is worth five figures and the buying window is short. Homeowners get two or three quotes, they get busy, and the quote they do not act on usually never comes back. This contractor knew that intuitively and was losing work anyway, because their follow-up depended on the sales lead remembering.
Thirty to forty open estimates were being tracked in his head and a notebook. Anything not chased inside the first week was, in practice, gone. Nobody could say which of those forty was worth a personal visit and which was worth a text, so the sales lead spent his hours on the wrong ones. The notebook also had no record of what had already been said, which is how homeowners ended up receiving the same follow-up twice.
Permit and insurance documents were a second, separate thread, usually chased by whoever remembered. So even the jobs that closed had a handoff problem: accepted on Tuesday, still waiting on paperwork when the crew was being scheduled.
We were not losing to the roofer down the road. We were losing to our own inbox. The register fixed that in about two weeks.
What we built
One register of every estimate, with a live age
We pulled six weeks of sent estimates out of email, reconciled them against job records, and put them into a single register where each one carries its value, age, last contact, and current status. The number nobody could previously produce — how many estimates are going quiet right now — became the first thing on the page.
Each quiet estimate gets a written follow-up on a cadence the owner set: day two, day seven, day twenty-one. The agent adapts the message to what the homeowner actually asked, which matters more than it sounds. A homeowner who asked about financing needs a financing answer, not a reminder. One who asked about a competing quote needs the differentiator they were worried about. Four of seven draft styles were rejected in the first three days for exactly this reason.
The morning brief then orders the register by job value, age, and how the last conversation went, so the sales lead spends his hour on the five estimates most likely to close rather than the forty least likely. Once an estimate is accepted, permit and insurance document chasing runs on the same register, which is what stopped the handoff from sold to scheduled depending on memory.
The build, in order
Twelve days. The register came first, deliberately, because everything else depends on knowing what is outstanding.
- 01
One register of every estimate, with a live age
Estimates going out were pulled from the email trail and job records into a single register where each one carries its value, age, last contact, and current status. The number nobody could produce before became the first thing on the page.
- 02
A follow-up sequence that respects the buying window
Each quiet estimate gets a written follow-up on a cadence the owner set: day two, day seven, day twenty-one. The agent adapts the message to what the homeowner actually asked — price, timeline, financing, or a competing quote.
- 03
Rank the list by what a phone call is worth
The morning brief orders the register by job value, age, and how the last conversation went, so the sales lead spends his hour on the five estimates most likely to close rather than the forty least likely.
- 04
Chase permits and insurance documents too
Once an estimate is accepted, the agent runs the permit and insurance-document chase on the same register, so the handoff from sold to scheduled stops depending on memory.
What changed
Measured against the baseline captured during setup, read from the same source before and after.
- Estimates with no contact in the first 7 days
- BeforeRoughly 40%AfterRoughly 10%
- Daily time the sales lead spent on follow-upAbout 45 hours a month returned across 20 working days.
- Before~3 hrs/day of scattered chasingAfter~45 min/day reviewing the ranked brief
- Permit or insurance documents outstanding at scheduling
- Before3–5 jobs per monthAfter0–1
- Recovered work attributed to the follow-up queueThe owner's own estimate, based on register history rather than a closed-lost poll.
- BeforeNot trackedAfterRoughly 1 in 4 accepted jobs
The money math. The sales lead went from about three hours a day to about forty-five minutes, which is roughly 135 minutes a day across 20 working days, or about 45 hours a month. At $42 an hour that is around $1,900 of sales time against a $500 monthly plan, before counting recovered jobs. At the owner's own conservative estimate of one recovered job in four and a five-figure average, the follow-up queue pays for the plan several times over in a good month and still holds up in a bad one.
Reading the result
The recovered-work figure is an estimate, and we say so
The hours recovered here are the least interesting number. What the owner actually noticed was that the sales lead stopped maintaining the notebook in the same week the register went live, and that the register was the thing he looked at in the morning rather than a list he was trying to reconstruct.
The recovered-work metric is deliberately soft, and this page says so. It is the owner's own read from register history, not a closed-lost poll, because nobody reliably calls back a roofing estimate they decided not to chase. We published it as roughly one in four accepted jobs with that caveat attached. A precise-looking number without a real source would be the single most fragile claim on this page.
The mechanism is worth understanding separately from the result. An estimate that has gone quiet is not a lost estimate; it is an unanswered one. What changed was not the selling. It was that silence now has a name, an age, and a rank, and the person who can act on it knows which five to act on.
How the rollout ran
Twelve days from kickoff, with most of the time spent reconciling records that did not agree.
- Day 1–4
Pulled six weeks of sent estimates from email, reconciled against job records, and fixed the value and status fields that were inconsistent.
- Day 5–9
Follow-up drafting ran for review only. Four of seven draft styles were rejected before the third day.
- Day 10
Approved sends opened for the day-two and day-seven touches.
- Day 12
Ranked morning brief live. The sales lead stopped maintaining the notebook the same week.
- Week 5
Permit and insurance chase added to the accepted-job half of the register.
Where it landed
What we would do differently
We would ship the permit and insurance chase in week two rather than week five. It was the most obviously valuable piece and it sat behind the sales workflow because it was technically a different half of the register.
We would also have run the first two weeks on a smaller batch. Rejected drafts were the most valuable part of setup, but they were also a tax on the sales lead's morning for about ten days. Framing that more explicitly as the cost of getting it right would have made it easier to absorb.
Where the agent acts, asks, and never goes
Price, financing, and scope stayed human throughout. Those are the conversations where a wrong answer costs a job and a reputation.
- Act
- Maintain the estimate register, draft and send approved follow-up touches, produce the ranked brief, and chase permit and insurance documents.
- Ask
- Anything that discusses price, financing, contract terms, or a change to scope, and every first contact with a new homeowner.
- Never
- Make a pricing concession, promise an install date, or answer an insurance coverage question.