Which Past Roofing Customers Need a New Roof Now: A Practical System for Mining Your Own Database
On this page
Every roofing company sitting on five years or more of invoices owns a buy-list it almost never works. The names are already in your accounting software, your CRM, your old job folders, and the shoebox of handwritten contracts your first office manager kept. These people already paid you once. They know your trucks, they have your magnet on the fridge, and a meaningful slice of them are sitting under a roof that is either aging out or got beaten up in a storm you can pin to a date. The question that actually moves revenue is narrow and answerable: out of everyone you have ever sold to, which past roofing customers need a new roof now?
Most shops never answer it. They re-buy the same cold lists, pay the same per-lead fees, and let a warm, trusting, pre-qualified audience go quiet. The reason is rarely laziness. It is that the data is messy, the timing math feels fuzzy, and nobody on the team owns the job of turning a 2,400-row export into a ranked list of doors to knock this month. The work below is the system I would hand a sales manager on day one: how to pull the data, how to score it, how to layer storm exposure on top, the exact thresholds that separate a hot reroof prospect from a repair-only call, what to say when you reach out, and the compliance lines you do not cross when storms and insurance enter the picture.
This is operational, not theoretical. By the end you will have a repeatable monthly motion that produces a list your crew can work, plus the honest limits of every signal so you do not over-promise.
Why your old customer list outperforms cold leads
Start with the economics, because they justify the effort. A cold storm lead bought from an aggregator competes against four or five other contractors who bought the same lead. The homeowner has no relationship with any of you. Close rates on shared cold leads commonly sit in the single digits to low teens. Your past customers are the inverse of that: a one-to-one relationship, a completed transaction, and a roof you personally installed or tore off, which means you know more about it than any data vendor ever will.
Three structural advantages stack up.
You know the exact install date. For any roof your company put on, you have the single most valuable data point in the entire reroof-timing question: the day the new shingles went down. No estimating a range from aerial imagery, no guessing from a county permit. You have an invoice with a date. That converts roof age from a fuzzy band into a hard number for the population you care about most.
You know the system you installed. Material, shingle line, underlayment, ventilation, the slope, the original tear-off condition, whether it was a layover or a full tear-off. That tells you the realistic service life and the failure modes to expect. A builder-grade three-tab you installed over an existing layer in 2009 is a very different timing prospect than an architectural shingle full tear-off you did in 2016.
You have permission and trust. These people opted into a relationship. A check-in from the company that did the work reads as service, not solicitation, as long as you frame it that way. That single fact lifts contact rates, appointment rates, and close rates above anything cold can deliver.
The punchline: the same dollar of effort spent mining your own database typically returns multiples of what it returns chasing strangers, because you are working warm, pre-qualified, and information-rich. The rest of the work is turning that raw advantage into a ranked, workable list.
The three timing signals that actually predict a reroof
Forget vanity fields. Three signals do almost all the predictive work for whether a past customer needs a new roof now. Everything else is a tiebreaker.
Signal 1: Roof age against realistic service life
Age is the backbone. But "age" only means something against the expected service life of what is actually up there, and you have to separate two populations:
- Roofs you installed. You know the install date and the material, so age is exact and service life is well-estimated.
- Roofs that were already on the house when you did other work (a repair, a gutter job, a skylight) and roofs of customers who only ever bought a non-roof service from you. Here the original roof's age is unknown to you and has to be estimated by other means.
Realistic service-life bands for asphalt shingle, the dominant residential material, look roughly like this in the field. These are planning ranges, not guarantees, and real-world climate, ventilation, and install quality move them:
| Shingle type | Typical real-world service life | When to start watching | Practical reroof window |
|---|---|---|---|
| 3-tab (builder grade) | 15-20 years | Year 12 | Years 15-22 |
| Architectural / dimensional | 22-30 years | Year 16 | Years 20-28 |
| Architectural over poor ventilation / hot climate | 16-22 years | Year 12 | Years 15-22 |
| Layover (installed over old layer) | Shave 20-30% off the above | Earlier | Earlier |
| Premium / designer asphalt | 25-30+ years | Year 20 | Years 25-32 |
Note the gap between the marketing "30-year shingle" and real-world service life. A so-called 30-year architectural shingle in a hot, poorly ventilated attic frequently fails functionally well before 30. Your own warranty-claim and callback history is the best calibration data you will ever get. If your 2008 architectural installs in a specific subdivision started generating granule-loss callbacks at year 17, that is gold; weight that neighborhood up.
Signal 2: Storm exposure since install
Age tells you a roof is wearing out. Storm exposure tells you a roof may have been forced out early. A roof that is only 11 years old is not normally a reroof candidate, but an 11-year-old roof that took 1.75-inch hail eight months ago might be. The interaction of the two signals is where the highest-value prospects live.
The physics that matter for asphalt shingle damage:
- Hail size and density. Functional damage to asphalt shingles generally starts appearing around 1 inch in diameter and becomes much more likely as size climbs toward 1.5-2+ inches. Below roughly 1 inch you are usually looking at cosmetic marks at most, not a failed roof. Older, more brittle shingles fail at smaller sizes than fresh ones.
- Wind. Sustained high wind and gusts lift, crease, and tear tabs; missing and creased shingles, exposed nail heads, and lifted ridge caps are the tells. Damage probability rises sharply once gusts move into the 50-70+ mph range, and aged or improperly nailed shingles let go earlier.
- Roof condition at time of storm. The same hailstone does more functional damage to a 16-year-old roof than to a 4-year-old one. Age and storm are multiplicative, not additive.
The operational move is to take every storm-affected address and ask two questions: how old was the roof when the storm hit, and how severe was the storm at that specific point. A severe-hail event over a neighborhood of your aging installs is the single richest targeting condition in residential roofing.
Signal 3: Warranty and lifecycle timing
The third signal is timing relative to your own warranty and the customer's likely repurchase moment.
- Workmanship warranty expiration. If you offered a 5- or 10-year workmanship warranty, the period right around and after expiration is a natural service touchpoint. A roof approaching the end of its labor warranty is a legitimate, non-pushy reason to reach out and offer an inspection.
- Original roof's manufacturer warranty. For roofs you installed, the material warranty timeline tells you when the manufacturer's coverage thins out and when failure becomes more likely.
- Repurchase lifecycle for non-roof customers. Someone who bought gutters or a repair from you eight years ago and had a 20-year-old roof at the time is now sitting under a roughly 28-year-old roof. That is a prime reroof window even though you never touched their shingles.
Stack the three signals and you get a score. Age sets the baseline. Storm exposure pulls specific addresses forward in time. Warranty and lifecycle timing flag the natural moments to make contact. Next, get the data clean enough to score.
Step 1: Pull and clean your customer history
You cannot rank what you cannot read. The first real work is assembling one clean table of every past customer with the fields that drive the score. This is unglamorous and it is where most database-mining efforts die, so treat it as a project with an owner and a deadline.
Where the data lives
Pull from every system that ever held a customer record:
- Accounting software (QuickBooks, Sage): invoices, dates, amounts, addresses. This is usually your most complete and date-accurate source.
- CRM (JobNimbus, AccuLynx, Leap, Roofr, or whatever you run): job type, material, notes, photos, sales rep.
- Old job folders and contracts: the pre-CRM era. Paper and PDFs. Worth digitizing the high-value years.
- Spreadsheets and email: the export from the office manager who tracked things their own way.
The target fields
Build one row per property with these columns. If a field is missing, leave it blank rather than guessing; you will fill gaps later with explicit estimates flagged as estimates.
| Field | Why it matters |
|---|---|
| Full property address (standardized) | The join key for everything, especially storm data |
| Customer name + current contact (phone, email) | You cannot work the list without reachable contacts |
| Job type (full reroof / repair / gutters / other) | Tells you whether you know the roof age |
| Install or service date | The core timing input |
| Material + shingle line installed | Sets realistic service life |
| Tear-off vs. layover | Adjusts service life down for layovers |
| Slope / stories / access notes | Affects pricing and crew planning |
| Workmanship warranty length | Flags the warranty-timing touchpoint |
| Original sales rep | Warm reintroduction; rep may still have rapport |
| Last contact date | Avoids re-touching someone you just spoke to |
Standardize the address
Address standardization is the step people skip, and it quietly breaks everything downstream. "123 N. Main St." and "123 North Main Street" and "123 Main" will not match a storm dataset or a dedupe pass unless they are normalized to one format. Run every address through a consistent format (USPS-style standardization is the practical target). This is what lets you later join your customers against storm footprints and against any external roof-age data by address.
Dedupe and flag the dead records
Merge duplicate properties, flag addresses that have clearly changed hands (the customer moved; the current occupant is a different relationship), and mark records with no reachable contact for a separate skip-trace or mail-only track. A customer who sold the house is not gone as a prospect: the roof is still aging, and the new owner is a fresh door. But you treat them differently, so flag them.
At the end of Step 1 you should have a single clean table. Even at 1,500 to 3,000 rows this is entirely manageable in a spreadsheet, and the cleaning typically takes a focused person a few days, not weeks.
Step 2: Score every past customer for reroof readiness
With a clean table, scoring is straightforward arithmetic. The goal is a single number per address that lets you sort the whole list from "call today" to "check back in three years." Here is a transparent model you can build in a spreadsheet and tune to your market. Use it as a starting point, then recalibrate against your own close data after a few months.
The base age score
For each property, compute roof age as of today, then score it against the expected service life of the installed material. The closer to (and past) the practical reroof window, the higher the score.
| Roof age vs. service-life window | Age points |
|---|---|
| More than 8 years before window opens | 0 |
| 4-8 years before window | 10 |
| Within 3 years of window opening | 25 |
| Inside the practical reroof window | 45 |
| Past the typical end of service life | 55 |
For a roof you installed, this is exact. For a roof whose age you estimated, carry an "age confidence" flag (high / medium / low) so you weight uncertain ages slightly down and verify them before a hard sales push.
The storm overlay
Add points for verified storm exposure since the install, scaled by severity and by how old the roof was when the storm hit.
| Storm condition since install | Storm points |
|---|---|
| No significant storm exposure | 0 |
| Wind event, gusts ~50-60 mph | 10 |
| Wind event, gusts 60+ mph, or hail ~1-1.25 in | 20 |
| Hail 1.25-1.75 in | 30 |
| Hail 1.75+ in, or multiple severe events | 40 |
| Severe storm AND roof was already 12+ years old at the time | add 10 |
The last row is the multiplier insight in practice: severe storm on an already-aging roof is the highest-value condition.
Warranty and recency modifiers
Small adjustments that improve timing and messaging.
| Condition | Points |
|---|---|
| Workmanship warranty expired in last 18 months | +8 |
| No contact in 5+ years (re-engagement opportunity) | +5 |
| Contacted in last 6 months | -15 (cool it; do not over-touch) |
| Property changed hands (new owner) | -5 and route to new-owner track |
Reading the score
Sum age + storm + modifiers. A practical banding:
- 70+ : Hot. Aging or past-window roof, often with storm exposure. Inspect now. These are your this-week doors.
- 45-69 : Warm. In or near the window, or younger with real storm exposure. Schedule inspections over the next 60-90 days.
- 25-44 : Watch. A few years out, or a repair-only profile. Nurture: newsletter, maintenance offer, annual check-in.
- Under 25 : Cold. Too new and no storm. Keep warm for referrals and reviews; revisit yearly.
A worked example
Three real-shaped records to show the model running.
Property A — You installed architectural shingles, full tear-off, in 2007. Today that roof is 19 years old, sitting right inside the 20-28 practical window. No major storms recorded. Age 45, storm 0, warranty long expired (+8). Score 53, Warm. A natural inspection-and-replace conversation driven purely by age.
Property B — You installed builder-grade 3-tab in 2011, now 15 years old, at the front edge of the 15-22 window for that product. A confirmed 1.75-inch hail event passed over the neighborhood last spring, and the roof was 14 at the time. Age 45, storm 40, plus the aged-roof storm bonus (+10). Score 95, Hot. This is the door you knock first: aging product, severe hail, your own install so the age is certain.
Property C — A gutter-only customer from 2016. At the time their roof looked about 15 years old to your crew (note in the file), so it is now roughly 25 and the age confidence is medium. A 60+ mph wind event last fall. Age 45 (estimated, flagged), storm 20, no contact in 5+ years (+5). Score 70, Hot — verify age first. Worth an inspection, but confirm the true roof condition before assuming a full replacement.
The value of an explicit model is not precision to the decimal. It is that it forces you to be honest about what you know, flags what you are guessing, and sorts thousands of records into a sequence your crew can actually work.
Step 3: Fill the roof-age gaps for non-roof customers
The model above is airtight for roofs you installed. The harder population is everyone whose roof you never touched: the gutter, repair, skylight, and siding customers, plus reroof customers who sold the house to someone whose roof you also do not know. For these you have a great contact and a missing core signal. You need a defensible roof-age estimate by address.
Three practical ways to close the gap, in order of effort:
1. Your own field notes. Your crews saw these roofs. Old job photos, estimate notes ("existing roof near end of life," "recent reroof, looks ~5 yrs"), and inspection reports often contain a usable age read. Mine your file attachments before anything else; you already paid to gather this.
2. Permit and assessor records. Many jurisdictions record reroof permits. A roofing permit pulled at an address in 2014 strongly implies a roof installed around then. County assessor data sometimes carries a roof or improvement year. This is public, free in many places, and accurate when it exists, with the caveat that not every reroof gets permitted, so absence of a permit is not absence of a roof.
3. Aerial-imagery roof-age estimation. This is where modern tooling earns its keep. Roof condition and approximate age can be estimated from high-resolution aerial and satellite imagery: granule loss, streaking, patching, color fade, and surface texture correlate with age and wear. The key honesty point: this produces a roof-age range (for example, "roughly 14-19 years"), not a birth certificate. Treated as a range and combined with permit data and your field notes, it is more than good enough to rank a list.
Where RoofPredict fits
This age-and-storm gap is the specific problem RoofPredict was built to handle at list scale. You hand it a list of addresses, including your past customers whose roofs you never installed, and it returns two things per address: a roof-age range estimated from aerial imagery, and storm exposure modeled per roof rather than per zip code, so you see which specific roofs sat under the hail core and which were on the edge. It enriches your own customer list with those two signals instead of selling you someone else's leads.
In the system here, that maps cleanly onto Step 2 and Step 3. For roofs you installed, your invoice date beats any estimate, so use your own data. For the non-roof and changed-hands population, RoofPredict fills the roof-age column with a flagged range and adds a per-roof storm score, which is exactly the input the model is missing. The result is that your entire database, beyond the part you personally reroofed, becomes scoreable.
The honest limits, because the model rules and your reputation both depend on them: a roof-age range is a range, not a date, and you should treat a young range with respect rather than assuming a replacement is due. Storm modeling outputs odds and exposure, not proof of damage; only an inspection confirms whether a specific roof was actually damaged. Used as a ranking and routing tool, it points your crew at the right doors. It does not replace getting on the roof. Anyone who tells you a data product proves damage from a desk is selling you something you should not buy.
Step 4: Layer storm history onto the timeline
Storm exposure is the signal that separates a generic age-based mailer from a sharply targeted campaign. Done right, it tells you more than the fact that a roof is old: it pins a specific, documentable weather event to it on a specific date. Get the storm data straight before it touches the score.
Sourcing storm data correctly
- Severe weather reports from the national Storm Prediction Center catalog hail and wind events with dates, locations, and sizes. This is the authoritative public record of what happened where.
- Local National Weather Service offices issue and archive severe thunderstorm and storm-damage information for their regions.
- Per-roof storm modeling (the kind RoofPredict provides) takes the broad event footprint and resolves it to the individual roof, which matters because hail is famously patchy. One street can take golf-ball hail while the next street over gets pea-sized.
The patchiness problem
The single biggest mistake in storm targeting is treating a zip code as uniformly hit. Hail swaths are narrow and erratic. A campaign that blasts an entire zip after a hail report wastes most of its spend on roofs the storm missed and burns credibility when you tell a homeowner they "had a hail event" and their roof is pristine. Resolving exposure to the individual roof is what makes the difference between a precise inspection list and a spray-and-pray mailer. This is exactly why per-roof modeling beats per-zip assumptions.
Joining storms to customers
With standardized addresses (Step 1) and dated storm events, the join is mechanical: for each customer property, find every significant storm since their roof's install date, and keep the worst one and the count. Feed severity and the roof's age-at-storm into the storm-points table from Step 2. A roof that has weathered three separate severe-hail seasons since you installed it tells a very different story than one that has seen calm skies for a decade.
Step 5: Work the list — outreach that converts warm into booked
A ranked list does nothing in a spreadsheet. The motion that turns scores into signed contracts is disciplined, sequenced outreach that leads with service, not a pitch. Here is the playbook by score band.
Hot (70+): personal, fast, inspection-led
These deserve a human, not a mailer. The original sales rep, if still around, makes the call, because the relationship is the asset.
The frame is a courtesy inspection, not a sales call:
"Hi, this is Maria from Summit Roofing. We installed your roof back in 2011, and our records show it is getting to the age where we like to come take a look and make sure everything is holding up, especially after the hail that came through last spring. There is no charge for the inspection. Would a morning or afternoon this week work better?"
What that script does: leads with the relationship, names a specific reason (age plus a real storm), offers value (free inspection), and closes for a specific time. It never promises a replacement, never mentions a payout, never says "free roof."
Sequence for hot leads: call, then if no answer, a text and a voicemail, then a personalized letter or postcard referencing the install year, then a second call a week later. Three to four touches across two weeks. Track every touch in the CRM against that row.
Warm (45-69): scheduled, lighter touch
A mix of a personalized mailer and a follow-up call. The mailer references their install year and offers a seasonal maintenance check or a roof-age inspection. The call follows a few days after the mailer lands. The frame is the same service-first courtesy: their roof is reaching an age where a look makes sense.
Watch (25-44) and Cold (under 25): nurture
Newsletter, maintenance-plan offers, annual "how is your roof" check-ins, and reviews-and-referral asks. The goal here is not to sell a roof today; it is to stay the obvious choice when the roof is genuinely due, and to harvest referrals while the relationship is warm. A customer who is too new to reroof is your best source of neighbor referrals.
Messaging guardrails for every band
- Lead with their existing roof and your prior relationship, never with a generic offer.
- Name a specific, true reason for reaching out (install age, warranty timing, a real storm).
- Offer an inspection, not a verdict. The inspection is where the sale is actually made.
- Respect contact preferences and do-not-call rules. A past customer relationship does not override every contact regulation; honor opt-outs and keep your texting compliant.
- Never lead with money, payouts, or insurance promises. More on why below.
The inspection: where the list becomes a sale
The ranked list gets you the appointment. The inspection earns the contract, and it is also where you generate the documentation that protects you and serves the homeowner honestly. Run it like a professional process, not a sales ambush.
A disciplined inspection workflow
- Confirm and prep. Pull the customer's file before you arrive: install date, material, warranty, any past callbacks. Walk in knowing their roof's history.
- Exterior and ground assessment. Photograph all elevations from the ground first. Note the slope, stories, and access.
- On-roof inspection (where safe and code-appropriate; follow fall-protection requirements). Document field shingles, ridges, valleys, flashing, penetrations, and accessories. For storm-exposed roofs, look specifically for hail bruising (soft spots, granule loss exposing the mat), wind creasing, and missing tabs.
- Photograph everything, methodically. Wide shots for context, close-ups for specifics, and a reference object or chalk circle for hail marks. Date-stamped, address-tagged photos. This is your evidence trail.
- Attic and interior where accessible: look for leaks, staining, decking issues, and ventilation problems that shorten roof life.
- Document findings in a written report. Plain-language condition summary, photos, and an itemized repair-or-replace estimate.
The estimate is your deliverable
For storm-damaged roofs especially, the professional deliverable is a thorough, accurate, line-item estimate of the work to repair or replace, aligned to standard estimating practice (Xactimate-style line items: tear-off, materials, labor, accessories, code-required upgrades). You document what you see and you write an honest estimate to do the work. You hand that documentation and estimate to the homeowner. That is the entire job, and it is genuinely valuable to the homeowner whether or not insurance is involved.
Storm-damaged past customers: capture the intent, stay on the right side of the line
When a past customer's roof was hit by a storm, the homeowner's first question is often about insurance. This is where roofing companies get themselves in legal trouble, and where you need bright, firm lines. The good news: you can be genuinely, substantially helpful while staying entirely on the right side of the law. The trick is to be clear about what your job is and is not.
What you absolutely may do
- Inspect the roof and document its condition thoroughly, with photos and notes.
- Identify and document storm-related damage you observe, factually.
- Write an accurate, detailed repair or replacement estimate for your scope of work, aligned to standard estimating line items.
- State facts about your scope to the carrier if asked, regarding the work you would perform.
- Hand the homeowner the documentation and estimate so they have what they need.
In this model, the homeowner files their own claim, and the insurer decides coverage. You are the documentation-and-estimate professional. That role is valuable, defensible, and entirely within bounds.
What you must never do (the do-not-say list)
This is unlicensed public adjusting in most states, and it is exactly the behavior that gets contractors fined and sued. Teach your reps this list explicitly:
- Do not negotiate, adjust, or "handle" the claim for the homeowner for a fee. That is public adjusting, and it requires a license you do not have.
- Do not interpret the policy or coverage. "That is covered" or "your policy will pay for this" is a coverage interpretation you are not licensed to make.
- Do not promise a specific payout, approval, or outcome. You cannot know what the carrier will do, and promising it is both false and illegal.
- Do not promise to waive, absorb, eat, or make the deductible disappear. Deductible rebating is illegal in many states and is insurance fraud. The homeowner owes their deductible.
- Do not advertise a "free roof." It implies the deductible vanishes and a guaranteed claim outcome. Both are prohibited.
- Do not represent the homeowner against the insurer. You document and estimate your scope; you do not advocate against the carrier on the homeowner's behalf.
Why this protects your business
State insurance departments (for example, the Texas Department of Insurance and your own state's DOI) and consumer-protection regulators actively pursue contractors who cross into adjusting or who run deductible-rebating and free-roof schemes. The penalties range from fines to license loss to criminal exposure. Staying on the document-and-estimate side is more than ethical; it is the durable business model. Contractors who built their growth on "we will get your claim approved and waive your deductible" tend to flame out under enforcement. Contractors who built it on "we document thoroughly and write an honest estimate" keep growing.
The practical script when a storm-customer asks about insurance:
"Here is what we do: we inspect, we document everything with photos, and we write you a detailed, accurate estimate for the repair. We give all of that to you. You file the claim with your insurer, and they decide what is covered. We are happy to share the facts about the work and our scope with your adjuster. What we cannot do is handle the claim for you or tell you what your policy covers, that has to come from you and your carrier."
That answer captures the homeowner's real need, delivers genuine value, and keeps you clean.
Building the monthly motion: making this repeatable
A one-time database pull produces a one-time bump. The compounding returns come from turning this into a standing monthly motion that an owner can run on autopilot. Here is the cadence.
The monthly cycle
Week 1 — Refresh and re-score. Add last month's completed jobs to the master table. Re-run the age calculation (every roof got a month older). Pull any new storm events from the past 30 days and join them to your customer addresses. Re-score the whole list. Roofs cross thresholds every month; some Watch roofs become Warm, and a storm can turn a quiet street Hot overnight.
Week 2 — Pull the work list. Export the new and newly-elevated Hot and Warm records. Assign Hot leads to reps (original rep first). Queue Warm mailers. Flag any storm-driven clusters for a concentrated neighborhood push.
Weeks 2-4 — Work the list. Calls, texts, mailers, inspections, estimates, per the outreach playbook. Log every touch and outcome in the CRM against the row.
End of month — Measure and recalibrate. Track contact rate, inspection-booked rate, and close rate by score band. This is the feedback loop that makes your model smarter. If your Hot band is closing at 30% and your Warm at 8%, your thresholds are working; if Hot is closing no better than Warm, your scoring needs tuning.
Metrics worth tracking
| Metric | What it tells you |
|---|---|
| Contact rate by band | Whether your contact data is current and your timing is right |
| Inspection-booked rate | Whether your outreach script and offer are landing |
| Inspection-to-close rate | Whether your scoring is finding genuinely due roofs |
| Revenue per 100 records worked | The bottom-line ROI of the whole motion |
| Storm-cluster close rate | Whether per-roof storm targeting beats your baseline |
After two or three cycles you will have enough closed-loop data to recalibrate the point values against your actual market. That recalibration is the difference between a generic model and one tuned to your shingles, your climate, and your customers.
Turning the score into routes, not merely a sorted list
A ranked spreadsheet still has to become a crew's day. The bridge between the two is geography. Two Hot records on the same street are worth far more per visit than two Hot records 40 minutes apart, because windshield time is your second-biggest cost after materials. Once you have scored the list, run a second pass that clusters Hot and Warm records by neighborhood so a rep can work a tight loop instead of crisscrossing the metro.
Storm clusters make this easy and powerful. When a severe hail swath crosses a neighborhood where you have a dozen aging installs, those addresses light up together. That is a route, a door-knock plan, and a yard-sign opportunity in one. Send a rep to the cluster, knock the past customers first because they open the door, and use those confirmed inspections to canvass the neighbors who saw your truck and your sign. One storm-driven cluster of past customers can anchor a week of production for a crew.
A simple density rule: prioritize any neighborhood with three or more Hot records over isolated Hot records elsewhere, even if the isolated ones score a few points higher. The math favors density. A rep who books four inspections on one street in a morning beats a rep who drives all day for two. Build that geographic pass into Week 2 of the monthly cycle, right after you pull the work list, so routing is part of the motion rather than an afterthought.
Segmenting by job type pays off
Within your Hot and Warm bands, segment by the original relationship, because the script and the expectation differ. Past full-reroof customers whose roofs you installed get the install-anniversary, warranty-timing message. Repair and non-roof customers get the courtesy-inspection message tied to age and storm. Customers whose property changed hands route to a new-owner track with a fresh introduction. Same list, three messages, each tuned to what the recipient actually remembers about you. That tuning lifts contact and appointment rates noticeably over a single generic script.
Common mistakes that wreck a database campaign
The ways this goes wrong are predictable. Avoid these and you are ahead of most of your competition.
Treating age as the only signal. Age alone produces a flat, predictable list and misses the highest-value prospects: younger roofs forced out early by storms. Age times storm is where the money is.
Blasting a whole zip after a storm. Hail is patchy. A per-zip blast wastes spend on missed roofs and destroys credibility when pristine roofs get a "you had storm damage" letter. Resolve to the roof.
Skipping address standardization. Unstandardized addresses silently fail to match storm data and create duplicate, conflicting records. The campaign quietly underperforms and nobody knows why.
Over-touching recent customers. Pitching a reroof to someone whose roof you installed three years ago reads as a cash grab and damages the relationship. Honor the recency penalty in the score.
Leading with insurance and money. "We will get your claim approved" and "free roof" messaging draws regulatory heat and attracts the worst customers. Lead with inspection and documentation; let the homeowner own the claim.
Treating estimated roof ages as facts. For roofs you did not install, the age is a range. Pushing a hard replacement sell on an unverified, possibly-young roof burns trust and produces no-sale inspections. Verify before you push.
Building the list once and never refreshing. The whole value is that roofs age and storms hit continuously. A static list goes stale in months. The monthly motion is the product, not the one-time pull.
No feedback loop. If you never track close rate by band, you never learn whether your scoring works, and you cannot improve it. Measure, then tune.
Putting it together
The answer to which past roofing customers need a new roof now is not a guess and it is not a mystery. It is a calculation you can run on data you already own. Pull your full customer history into one clean, standardized table. Score every property on three signals: roof age against realistic service life, verified storm exposure since install, and warranty-and-lifecycle timing. Fill the roof-age gaps for the customers whose roofs you never installed using your own field notes, permit records, and aerial-imagery age ranges. Layer per-roof storm history on top so you target the roofs the storm actually hit, not the whole zip. Then work the ranked list with service-first outreach, convert appointments into inspections, and turn inspections into honest, well-documented estimates, staying firmly on the document-and-estimate side of the insurance line.
Where your own records run out, list-enrichment data closes the gap. RoofPredict exists to return a roof-age range and a per-roof storm score for every address on your list, so the parts of your database you did not personally reroof become scoreable alongside the parts you did. Used honestly, as a ranking and routing tool rather than a damage oracle, it points your crew at the doors most likely to be due and lets the inspection do its job. A roof-age range is a range, a storm model is odds, and only the inspection confirms damage, but a ranked, storm-aware list of warm past customers is the most efficient buy-list in residential roofing, and it is sitting in your accounting software right now.
If you want to see which of your past customers are most likely due, start by pulling your customer list and scoring it on age, storm, and warranty timing, and enrich the gaps with roof-age-by-address and per-roof storm data at RoofPredict. Work the Hot band first, measure your close rate by band, and let the monthly motion compound.
FAQ
How do I figure out which past customers are due for a roof if I never installed their roof?
Use three sources in order of effort. First, mine your own field notes and job photos from whatever work you did at the address; crews often recorded a rough roof condition or age. Second, check public permit and county assessor records, which sometimes show a reroof permit year. Third, use aerial-imagery roof-age estimation, which returns an age range from visible wear like granule loss and streaking. Combine all three and treat the result as a range, then verify with an inspection before any hard replacement push.
What is the most important data point for reroof timing?
For roofs you installed, the exact install date is the single best input, because it converts roof age from an estimate into a hard number and you also know the material and its realistic service life. For roofs you did not install, the most valuable combination is an estimated roof-age range plus verified storm exposure since that roof went on, since a severe storm on an already-aging roof is the highest-value targeting condition.
How old does a roof need to be before it is worth pursuing a replacement?
It depends on the material. Builder-grade 3-tab asphalt typically enters its practical replacement window around 15 to 22 years, while architectural shingles run roughly 20 to 28 years, and layovers and hot, poorly ventilated roofs fail earlier. Start watching a few years before the window opens. A younger roof is still a strong candidate if it took a verified severe storm, because age and storm damage compound.
What hail size actually damages an asphalt shingle roof?
Functional damage to asphalt shingles generally starts appearing around 1 inch in diameter and becomes much more likely as size climbs toward 1.5 to 2 inches and above. Below roughly 1 inch you are usually looking at cosmetic marks rather than a failed roof. Older, more brittle shingles fail at smaller sizes than fresh ones, which is why a roof's age at the time of the storm matters as much as the hail size.
Can I tell a storm-damaged past customer that their insurance will cover a new roof?
No. Telling a homeowner their policy covers the work is a coverage interpretation that requires an adjuster or public-adjuster license you do not have. You may inspect, document damage with photos, and write an accurate repair estimate, then hand it to the homeowner. The homeowner files the claim and the insurer decides coverage. You can share facts about your scope with the adjuster, but you cannot handle the claim, interpret the policy, or promise an outcome.
Is advertising a free roof or waiving the deductible allowed?
No. Advertising a free roof implies the deductible disappears and a guaranteed claim outcome, both of which are prohibited. Promising to waive, absorb, or eat the deductible is deductible rebating, which is illegal in many states and treated as insurance fraud. The homeowner owes their deductible. Keep your messaging on inspection, documentation, and an honest estimate rather than money or guaranteed payouts.
How often should I re-score my customer database?
Monthly. Every roof ages a month each cycle, so some properties cross from a watch band into a warm or hot band, and a single new storm can turn a quiet neighborhood into a cluster of hot prospects overnight. A monthly refresh that adds new jobs, recomputes age, joins new storm events, and re-scores the whole list is the motion that produces compounding returns, rather than a one-time pull that goes stale within months.
Why mine my own customers instead of buying storm leads?
Bought storm leads are usually shared among several contractors, the homeowner has no relationship with you, and close rates tend to sit in the single digits to low teens. Past customers are the inverse: a completed transaction, existing trust, and a roof you often installed yourself so you know its exact age and system. The same effort spent on a warm, pre-qualified, information-rich list typically returns multiples of what chasing cold strangers returns.
How do I avoid annoying customers whose roofs I recently installed?
Build a recency penalty into your scoring so anyone you contacted in the last six months or installed for in the last few years drops down the list and out of the reroof outreach. Pitching a replacement to a near-new roof reads as a cash grab and damages the relationship. Instead, keep recent customers in a nurture track focused on maintenance check-ins, reviews, and neighbor referrals, which is where their real near-term value sits.
What should the deliverable be after I inspect a storm-damaged roof?
A written condition report with methodical, date-stamped, address-tagged photos, plus an itemized repair or replacement estimate aligned to standard estimating line items such as tear-off, materials, labor, accessories, and any code-required upgrades. You document what you observe and write an honest estimate for your scope, then hand it to the homeowner. That documentation is genuinely valuable to them whether or not insurance is involved, and it keeps you on the right side of the adjusting line.
The Roofline by RoofPredict
Stay Ahead of Roofing Market Changes
Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.
Sources
- National Roofing Contractors Association — nrca.net
- Insurance Institute for Business & Home Safety (IBHS) Hail Research — ibhs.org
- NOAA Storm Prediction Center Severe Weather Reports — spc.noaa.gov
- National Weather Service — weather.gov
- NOAA National Centers for Environmental Information Storm Events Database — ncdc.noaa.gov
- OSHA Fall Protection in Construction — osha.gov
- International Code Council / International Residential Code — iccsafe.org
- Texas Department of Insurance - Public Insurance Adjusters — tdi.texas.gov
- Federal Trade Commission - Consumer Advice — consumer.ftc.gov
- U.S. Census Bureau Building Permits Survey — census.gov
- U.S. Bureau of Labor Statistics - Roofers Occupational Outlook — bls.gov
- FEMA Hazard Mitigation - Wind and Hail — fema.gov
- USPS Postal Addressing Standards (Publication 28) — usps.com
- RoofPredict — roofpredict.com
Related Articles
Direct Mail ROI for Roofers: How to Make the Math Actually Work
Direct mail still prints money for roofing contractors who treat it like a measurable system instead of a gamble. Here is the cost math, the targeting, and the tracking that decide whether you profit or bleed.
How to Revive Aged Roofing Leads That Never Closed
Your old estimate file is a season of jobs hiding in plain sight. Here is the practitioner's system for reopening leads that went cold, in the right order, with the right reason to call.
EDDM vs Targeted Mail for Roofing: A Contractor's Real-World Cost and Response Breakdown
A practical, numbers-first breakdown of EDDM versus targeted (saturation-free, list-based) direct mail for roofing crews — where each one wins, where it bleeds cash, and how to stop mailing roofs that don't need you.