Skip to main content

Predictive Analytics for Roofing Leads: A Practitioner's Playbook

Emily Crawford, Home Maintenance Editor··31 min readRoofing Lead Generation
On this page

Most roofers already do predictive analytics. They just do it in their head, one roof at a time, and they call it experience. A good estimator rolls down a street, clocks the build era, reads the granule loss on the sun-facing planes, remembers the hailstorm that crossed the area two springs ago, and decides which three houses are worth a knock. That whole calculation — taking inputs you can measure and turning them into a ranked guess about who's likely to buy — is predictive analytics. The only problem is it lives in one person's head, it doesn't scale past what that person can eyeball, and the moment you hand a list to a green canvasser, the prediction falls apart.

The pitch for predictive analytics in roofing is not that a computer can replace your best estimator's gut. It's that you can take the same read your best person does and run it across six hundred addresses at once, consistently, so a whole team works the right doors instead of grinding the whole street. Done well, it changes the unit economics of a canvassing day. Done as a buzzword, it's an expensive dashboard nobody opens. The difference is in the data you feed it, the signals you actually weight, and whether the output is something a rep can act on the same morning.

What follows is an operator's view: what predictive analytics means for a roofing sales team, the inputs that actually move the needle, how to score and rank leads, how to build the ranked door list, where the math earns its keep, and the traps that make a prediction wrong. Concrete workflows, worked numbers, and honest limits — written for the owner or sales manager who has to make a canvassing dollar go further, not for a data scientist.

What "predictive analytics" actually means for a roofing lead

Strip away the jargon and predictive analytics is one idea: use data you can collect to estimate the probability of a future outcome, then act on the highest-probability cases first. For roofing, the outcome you care about is "this address becomes a signed re-roof." The data is everything you can know about a property before anyone knocks — its likely roof age, the storms it has absorbed, its build era, its visible condition, and its history with your company. The prediction is a score that ranks addresses by how likely each is to convert.

That's it. It is not artificial intelligence in the science-fiction sense, it is not a crystal ball, and it does not promise that any single roof will sell. It promises something more useful and more honest: that if you knock the top of a well-scored list, you'll book more estimates per hour than if you knock blind. You will still be wrong on individual houses — that's expected and fine. A prediction is a probability, never a verdict.

It helps to separate three things people lump together:

  • Descriptive analytics tells you what happened. "We knocked 1,200 doors last quarter and booked 90 estimates." Useful for reporting, useless for tomorrow's route.
  • Diagnostic analytics tells you why. "Our close rate was triple in the storm-hit subdivision versus the calm one." Now you're learning something.
  • Predictive analytics tells you what's likely next, per address. "These 60 roofs are the most likely to be due and were hit hardest by the April hail — work them first." This is the one that changes a Tuesday.

The roofers who get value out of this don't chase the fanciest model. They get the inputs right, weight them sensibly, and turn the score into a routed list. The model is the easy part. The data and the discipline to act on it are the hard parts.

The outcome you're predicting, stated plainly

Be precise about what you're scoring, because vague goals produce vague lists. You are predicting the probability that a given address has a roof that is genuinely a replacement candidate and a homeowner who can be moved to an inspection right now. That breaks into two factors that both have to be true:

  1. Is the roof physically due? A new roof can't buy a re-roof no matter how good your pitch is. Age and storm exposure drive this.
  2. Is the timing right to engage? A roof that's due and just took a storm, with neighbors getting work done, converts far better than the same roof in a calm month.

Most lead-scoring failures come from optimizing only the first factor and ignoring the second, or vice versa. A roof that's 22 years old but in a sleepy market with no recent storm and no social proof is a real candidate but a slow conversation. A roof that's 12 years old in a freshly hailed neighborhood where three houses already have dumpsters out front is a faster yes. Good scoring holds both in view.

The inputs: what data actually predicts a roofing job

A prediction is only as good as what you feed it. Roofers have access to more property and weather data than they realize, and they also trust the wrong sources for the wrong things. Here's the straight read on each input, what it's good for, and where it lies to you.

Roof age — the single strongest signal, and the hardest to get right

Roof age is the backbone of any roofing lead prediction, because remaining roof life is a clock that ticks on every house whether you call or not. A 16-year-old architectural roof you bid four years ago is a 20-year-old roof now, and it sat through every storm since. Age is the input that most directly answers "can this house even buy a re-roof."

The trap is that you almost never know the real roof age, and the easy proxy lies to you. The county assessor's "year built" is the age of the house, not the roof. Re-roofs are frequently invisible in public records — a permit might exist, but plenty of roofs get replaced without one pulled, and county data lags reality by years. A 2001 house can sit under a 2018 roof. Build year is a useful baseline for a whole tract (it tells you the dominant age of original roofs in a subdivision), but it's unreliable for any single home.

So roof age in a real prediction is a range, not a date. The honest output is "this roof is roughly 18 to 22 years old," derived from aerial imagery, historical imagery, and visible weathering — not "this roof was installed on March 3, 2006." Anyone claiming to read an exact install year off a satellite photo is overstating what the data can do. The range is enough. It tells you whether a roof is a strong door, a maybe, or a skip.

What refines a roof-age estimate beyond build year:

  • Aerial tonal uniformity. A new roof is one even tone; an aging roof goes blotchy as granule loss spreads unevenly.
  • Patch contrast. A bright rectangle on a duller field means a repair or partial — a roof that's already had a problem.
  • Historical imagery. A roof that was clearly new in 2013 imagery and worn now gives you a real install window. This is one of the most underused age tools roofers have.
  • Plane-by-plane wear. South and west faces age faster; when sun-facing planes are visibly more worn, that asymmetry is an age fingerprint.

Storm exposure — the input that separates calm roofs from worn ones

Age tells you how long a roof has been up. Storm exposure tells you how hard those years were, and it's the input most roofers handle badly. Two roofs the same age are not the same roof if one sat through two significant hail events and the other had a quiet decade.

Hail is the dominant accelerant across much of the country. It bruises the shingle mat, knocks granules loose, and fractures the asphalt — sometimes invisibly from the ground for months until the damage opens up and leaks. Wind lifts and creases shingles and breaks seal strips, and a roof that's lost its seal ages fast from there. NOAA's Storm Events Database and the Storm Prediction Center track where significant hail and wind occurred, and the Insurance Institute for Business & Home Safety (IBHS) has done extensive research on how hail size and shingle type drive damage.

Here's the part that breaks most targeting: storm passage is not storm damage. A roofer hears "hail crossed the county" and knocks the whole county. But hail cores are narrow and erratic — one subdivision gets golf-ball impacts and roofs that are genuinely due, and the next subdivision a mile away got pea hail and nothing. A regional storm map tells you the storm passed through. It does not tell you which roofs it actually wore out.

The prediction you want is per roof: did this specific house, at this specific spot, take meaningful impact, and how does that stack with its age. Resolving a county-wide storm report down to which houses on which streets, then crossing it with each roof's age, is precisely the part that eats a sales manager's evenings and is easiest to get wrong by hand. It's also the part where a real predictive system earns its money.

Build era and housing stock

The dominant build year of a neighborhood is a cheap, reliable baseline. A subdivision built in 2004–2007 with original architectural roofs is now in the 18–22 year window — prime. A 2020 build is a skip unless a serious storm hit it. Census housing data and county assessor records make this easy to pull at the tract level. Use it to pick where to work, then refine per roof. Build era alone over-targets (it can't see re-roofs) but it's a sound first filter that costs nothing.

Visible condition

What the roof actually looks like — granule loss, curling, rusted flashing, existing patches — is the ground-truth check on the age and exposure estimates. It can be read from aerial and street-level imagery to a degree, and confirmed on the ladder. Condition catches the cases the other inputs miss: the roof that looks rough but has years left (often just algae streaking, which is cosmetic), and the clean-looking roof that's brittle and unsealed underneath.

Your own customer history — the most underrated input

The data you already own is the cheapest and often the most predictive. Old estimates that didn't close, repair customers from five years ago, homeowners whose roofs you measured but who "weren't ready yet" — every one of those records has an address, a phone number, and a prior roof read. Advance the clock on it and a chunk of "too new" roofs from years ago have crossed into the window. Cross it against storm history since your last contact and you've got warm, specific reasons to call. We'll come back to this, because it's the highest-ROI list in the building.

A source-by-source reference

Source What it predicts well Where it misleads
County assessor / GIS Build era, parcel footprint, tract age baseline "Year built" is the house, not the roof; re-roofs invisible
Permit records Sometimes a re-roof date Many re-roofs pull no permit; data lags reality
Aerial / satellite imagery Roof-age range, tonal wear, patches, install window Gives a range, never an exact date; can't see under tile
NOAA Storm Events / SPC Where significant hail and wind occurred Reports are coarse; "in the county" isn't "on this roof"
IBHS hail research How hail size and shingle type drive damage General research, not a per-address read
Street-level imagery Material ID, ground condition without driving Often outdated by a few years
Your own CRM Prior roof reads, sunk acquisition cost, warm contacts Notes age at last contact; advance the clock and re-verify

The pattern across all of it: public records are good for build era and storm regions, imagery is good for condition and aging, your CRM is good for warm intent, and none alone resolves to a confident per-roof prediction. The skill — and the work — is combining them.

How a roofing lead score actually gets built

A score is just a way of stacking the inputs into one number you can sort on. You don't need a data science degree to build one that beats knocking blind. You need to weight the signals that matter and be disciplined about removing the roofs that can't buy. Here's a transparent scoring frame you can run on a spreadsheet or hand to a tool.

A worked lead-scoring model

Score each address on three pillars, then combine. The weights below are a sensible starting point — tune them to your market.

Pillar 1 — Roof-age odds (weight: 40%). How far through its expected life the roof likely is.

Estimated roof age (range) Points
Under 8 years 0
8–13 years 1
14–17 years 2
18–22 years 4
23+ years 5

Pillar 2 — Storm-exposure odds (weight: 40%). What this specific roof actually absorbed, per-roof not regional.

Storm exposure Points
No significant events on record 0
Minor hail/wind, marginal impact 1
One significant event, likely real impact 3
Multiple events or one severe core hit 5

Pillar 3 — Condition and intent (weight: 20%). Visible wear plus timing/relationship signals.

Condition / intent signal Points
Looks newer, no relationship 0
Mid-life wear, cold address 2
Heavy visible wear, or prior contact with you 4
Heavy wear + warm relationship + recent storm 5

Normalize each pillar to its weight and sum to a 0–100 score. A roof at 20 years (4/5 age), one significant hail event (3/5 exposure), and mid-life visible wear on a cold door (2/5 condition) scores roughly: (4/5 × 40) + (3/5 × 40) + (2/5 × 20) = 32 + 24 + 8 = 64. A 24-year roof (5/5) that took a severe core hit (5/5) with heavy wear and prior contact (4/5) scores (40) + (40) + (16) = 96 — top of the list. A 6-year roof with no storm and no relationship scores 0 and comes off the list entirely.

The exact numbers matter less than the discipline: every address gets the same read, the strong doors float to the top, and the roofs that physically can't buy get culled. That consistency is the entire point. A green canvasser working a 64-and-up list sounds like your best estimator, because the list already did the estimator's thinking.

Why the weights look the way they do

Age and storm exposure carry 80% of the weight together for a reason: they determine whether the roof is physically a candidate, and no amount of sales skill sells a re-roof to a house that doesn't need one. Condition and intent get 20% because they sharpen the order and the timing but can't override physics. If your market is hail-driven (Texas, Oklahoma, Colorado, the High Plains), push storm exposure to 50% and age to 30% — in those markets roofs get replaced because of hail, so a 9-year roof that took a severe event is a stronger door than a 20-year roof that's seen only calm weather. In a low-hail, high-UV market (the desert Southwest), do the reverse and let age lead.

Calibrate the age clock to your region

The same shingle does not age the same everywhere, so your age pillar needs a regional anchor before you trust it:

  • High-UV, high-heat (Southwest, Texas, inland California): intense sun drives faster granule loss; a 3-tab cooked at 13–15 years that might last 18 elsewhere. Bump age scores up.
  • Hail alley (TX, OK, KS, NE, CO, the Plains): storm exposure is the dominant clock; age and hail history are tightly linked. Lead with exposure.
  • High-wind / coastal (Gulf, Atlantic, open plains): seal failure dominates; roofs that lost their seal age fast afterward, and older roofs are often genuinely under-built versus current wind codes — an honest selling point.
  • Wet, mild, shaded (Pacific Northwest, parts of the Southeast): UV aging is slow but moss, algae, and rot do the work; don't let mild-climate color under-age these roofs.
  • Cold / snow-load (Upper Midwest, Northeast, Mountain West): freeze-thaw and ice damming concentrate failures at eaves and valleys; weight edge-line wear.

A storm team that lands in an unfamiliar market and applies its home-market aging curve will misjudge half the street. Anchor the clock to the local climate first, then score per roof.

Don't over-engineer the model

There's a temptation, once a roofer gets the analytics bug, to keep bolting on inputs — credit-tract income, length of homeownership, square footage, roof complexity — chasing a few more points of accuracy. Resist most of it. The three pillars above carry the vast majority of the predictive signal, and every extra input you add is another field that can be wrong, stale, or expensive to source. A simple model you actually run beats a sophisticated one that sits unused because it's too fiddly to update. Start with age, exposure, and condition; only add an input once you've measured that it actually improves your close rate. Most don't.

One addition that does earn its place in some markets is roof complexity, but for pricing and crew planning rather than prediction. A steep, cut-up roof with multiple valleys, dormers, and penetrations is a bigger, more profitable job than a simple gable — and a different inspection. That's worth noting on the list so the rep and the estimator know what they're walking into, but it's a downstream field, not a reason to knock or skip. Whether the homeowner buys is driven by age and storm exposure; how much the job is worth is driven by complexity.

From score to a door list your crew can actually work

A score sitting in a spreadsheet books nothing. The output that matters is a routed list — the right doors, in geographic order, in a rep's hand the same morning. Here's the workflow that turns analytics into a canvassing day.

The build-the-list workflow

  1. Pick the area by build era. Choose a neighborhood or set of streets where the housing stock puts roofs in the replacement window. This is your cheapest, broadest filter — start where roofs are old.
  2. Set the age baseline. Pull the dominant build year for the tract from assessor data. This anchors your age expectation before you look at any single roof.
  3. Refine roof age per address. Use aerial and historical imagery to move from "the tract is ~20 years old" to a per-roof range, and flag the homes that already re-roofed so you can remove them. Knocking a homeowner who re-roofed last year is the fastest way to look like you didn't do your homework.
  4. Layer in storm exposure per roof. Cross the addresses against hail and wind history, resolved as tightly to specific streets as you can. Roofs that are both aging and storm-hit jump to the top.
  5. Score and rank. Run the model. Sort descending. Set a cutoff — say, work everything 60-and-up first.
  6. Route geographically. Order the top tier so the rep isn't crisscrossing the subdivision. A good list is ranked and efficient.
  7. Walk and verify. The list gets the rep to the right door; the ladder confirms what's actually up there. The prediction is for prioritizing, never for promising a homeowner anything before inspection.

A worked example, end to end

A 220-home subdivision built in 2005, architectural shingles, and a hailstorm crossed the north edge eight months ago.

  • Blind approach: knock all 220 over a couple of weekends, book maybe 8–12 estimates, burn out a rep.
  • Age baseline: ~20-year-old original roofs — the tract is already in the window.
  • Remove re-roofs: imagery flags ~40 homes with newer, uniform roofs. Cross them off. Down to 180.
  • Storm overlay: the hail core hit the northern ~60 homes hard; the southern 120 got grazed. Tier the north 60 as top priority — hail plus age stacked.
  • Condition screen: within that 60, a dozen show heavy granule loss, curling, or existing patches. Those 12 are the A-list.
  • Score and route: the 12 A-list doors score 85+, the rest of the north 60 land 60–80, the aging-but-unstormed south is 40–60. Route the 60 in order.

Now the rep starts the day on 12 A-list doors, then 48 strong storm-and-age doors, then the remainder if there's time. Same neighborhood, completely different day. Estimate rate climbs because nearly every door is a genuine candidate, and the rep stays sharp because they're getting real conversations instead of "we just replaced it."

The math: what prediction does to your cost per booked estimate

The case for predictive analytics is money, not elegance. The doors-per-day a canvasser can physically knock doesn't change much — what changes is the quality of every door, and that ripples straight through to cost per acquisition.

A canvasser-day comparison

Knocking blind Knocking a scored list
Doors worked per rep-day 120 120
Share that are real roof candidates ~25% ~70%
Productive conversations Low High
Estimates booked per day 3–5 8–12
Re-roofs can't-buy doors wasted ~90 ~36

The doors are the same. The wasted ones drop by more than half. Put it in dollars: if a rep-day costs you, say, payroll plus gas, and a blind day yields 4 estimates while a scored day yields 9, your cost per booked estimate falls by more than half on the same spend. Stack that across a season and a team, and the analytics paid for itself many times over before you count a single closed job.

Where the savings actually come from

Three places, and it's worth naming them so you know what you're buying:

  1. Culled dead doors. A re-roof is worth thousands of dollars; spending payroll and gas to reach roofs that physically can't buy one is pure leakage. Removing them is the biggest single win.
  2. Better timing. Working storm-hit, age-out roofs while the event is fresh converts at a higher rate than the same roofs cold. Scoring that surfaces both factors books more per conversation.
  3. Rep retention. This one's a hidden profit center. Green reps quit when every door is a rejection. Reps who knock doors that convert make money and stay, and you stop paying to recruit and train a churning canvass team. Morale is not a soft factor — it's payroll you don't have to spend twice.

Compared to buying leads

It's worth being clear about what this is and isn't, because "predictive analytics for roofing leads" gets confused with lead-buying. A lead service sells you a homeowner's contact info — often the same lead resold to several competitors, so you're paying per lead to race other roofers to a homeowner who's already fielding five calls. Predictive analytics on your own target area is the opposite model: you're not buying a customer, you're sharpening the outbound you already do. You still knock, inspect, and earn the job — you're just not wasting the day on roofs that can't become one. The cost is fixed (the data and the tooling), not per-lead, and the doors are yours, not shared. For a contractor doing the math on cost per acquisition, that distinction is the whole argument.

Re-mining the list you already own

Before spending a dollar finding new doors, look at the doors you already paid to find. This is the highest-ROI application of prediction in the building, because the acquisition cost is already sunk and the data is already in your system.

The logic is simple. Roof age is a clock that keeps ticking on every house in your book whether you call or not. The 16-year-old roof you bid a minor repair on four years ago is a 20-year-old roof now — and it sat through every storm since. The homeowner who got three bids in 2021 and went with the cheapest patch is exactly the person whose roof is now genuinely due. You don't have to find them. You have their address, their phone, and notes on their roof.

A re-engagement workflow

  1. Pull every record with an address and a rough roof read. Old estimates, declined bids, repair tickets, maintenance calls. If you noted apparent age or material at the time, better still.
  2. Advance the clock. Add the years that have passed. A roof you pegged at 14 in 2019 is around 21 now. That alone re-sorts your list — a chunk of "too new" roofs have crossed into the window.
  3. Cross against storm history. Which addresses sat under hail or high wind since you last talked to them? An aging roof that's also taken a storm since your last contact is a warm, specific reason to reach back out.
  4. Score the callbacks. Aging-plus-storm records to the top, aging-only next. These are people who already know your name and already have a roof you've laid eyes on.
  5. Reach out with a real reason. "We measured your roof back in 2021 — it'd be in the range now where it's worth another look, and your area took hail last spring. Want me to come back out?" That's specific and honest, not a generic check-in.

The economics here are the best you'll ever see: no list to buy, no cold canvass, no ad spend — just a phone call to someone already in your system. A season of jobs can be sitting in a CRM nobody's touched since the estimate didn't close. The roofs aged into the window on their own; prediction just tells you which records to call first.

Where RoofPredict fits in this workflow

Everything above, you can do by hand. Plenty of good roofers do — they drive neighborhoods, eyeball roofs, pull county build years, and cross-reference NOAA hail reports on a second monitor. It works. It's also slow, it doesn't scale past what one person can eyeball, and the hardest layer — resolving storm exposure per roof and crossing it with age across hundreds of addresses — is exactly the part that takes the longest and is easiest to get wrong.

That's the gap RoofPredict is built for. Point it at an area and it reads each roof from aerial imagery and gives you a roof-age range per address — not a guess at an exact install date, a defensible range like "roughly 18 to 22 years" — and it models the storms each roof has actually taken. Not a regional hail map that says the storm passed through, but a per-roof read: did this house, at this spot, take meaningful hail and wind, and how does that stack with its age. Then it ranks the addresses so your crew knocks the roofs the storm actually wore out and the roofs aging out, and skips the new ones.

In practice it collapses the build-the-list workflow into a list you can hand a canvasser the same morning: re-roofs already filtered out, storm-hit-and-aging roofs already on top, in route order. The reps who walk in with the age range and dated storm history show up informed instead of empty-handed.

The honest limits, because a tight trade compares notes:

  • It gives a range, never an exact roof birthday. Imagery can't see an install receipt. The range is enough to prioritize; it isn't a certificate.
  • The ranking is odds, not proof. It tells you which doors are worth your time. The ladder still confirms what's actually up there.
  • It's storm history and modeling, not a forecast you wave at a homeowner as evidence. What fell, fell; what hasn't, hasn't.
  • It documents conditions and storm exposure so a roofer shows up prepared — it does not file, handle, or decide an insurance claim. The roofer documents what they find and writes the estimate, the insurer decides coverage, and the homeowner owns the claim.

Used that way — a ranked starting point, not a promise — it does the slow part of the prediction for you so your people spend the day on the right doors instead of building the list.

Turning a high score into a conversation a homeowner trusts

A ranked list gets your rep to the right door. What happens at the door decides whether the prediction becomes a job — and this is where good targeting gets wasted by a bad opener. The credibility of the whole approach rests on leading with specifics and an inspection, never a verdict.

The weak opener is generic: "Hi, we're doing roofs in the neighborhood, want a free inspection?" It sounds like every door-knocker the homeowner has slammed the door on. The strong opener uses what the prediction gave you — age range and storm history — to sound like someone who did their homework:

"Hi, I'm with [company]. We've been working roofs in this neighborhood — a lot of these went up around the same time in the early 2000s, so they're reaching the age where they're worth a look. And this area took hail last spring. I'm not here to tell you anything's wrong with your roof — I'd just like to take a look and show you what I find, good or bad. Takes ten minutes."

Why it works: it's specific (the homeowner recognizes the build era and the storm), it's honest (no verdict before the inspection), it's low-pressure, and it positions the rep as informed rather than pushy. A homeowner can feel the difference between someone reading their actual roof and someone running a script.

Then the rep documents what's really there. If the roof is genuinely worn or storm-hit, the photos carry the conversation — you don't have to oversell because the evidence does the talking. If the roof has years left, you say so. The homeowner who hears "honestly, you've got a few good years yet, here's what to watch for" remembers you, refers you, and calls when it is time. Honesty on the doors you walk away from is the cheapest marketing in the trade.

A few rules that keep it credible:

  • Lead with the inspection, close on the findings. Never quote or diagnose from the curb. The prediction is why you knocked; the inspection is what you sell from.
  • Show, don't tell. Dated photos of real damage beat any pitch.
  • Be straight about claims. If you find storm damage, you document the conditions and write an honest estimate. You don't tell the homeowner their claim will be approved, you don't talk about their deductible, and you don't position yourself as their claims handler. The homeowner files with their carrier; the insurer decides coverage; you're the contractor who documented the damage and can do the work. Crossing that line isn't just bad ethics — in many states it's a legal problem for roofers.
  • Respect the no. A homeowner whose roof you correctly read as fine, and didn't pressure, is a future customer and a referral source.

The mistakes that make a prediction wrong

Knowing the method isn't enough; the edge cases are where money and reputation leak. Here's what experienced operators watch for.

Trusting build year as roof age

The costliest assumption, so it's worth repeating. The assessor's "year built" is the house's age, not the roof's. A 2002 house with a 2019 roof is a skip that build-year data would tell you to knock. Use build year as a tract baseline, never as the roof age for a specific home, and always screen for re-roofs separately.

Confusing storm passage with storm damage

The regional-map mistake, because it wastes the most labor. "The storm came through here" is not "this roof took damage." Hail swaths are narrow and uneven. Scoring everyone under a county-wide alert the same means most of your doors are roofs that didn't actually get hit, and a few are homeowners you'll be tempted to oversell. Resolve to the roof, not the region.

Reading algae streaks as age

The most common false positive in a condition read. Those black vertical streaks (Gloeocapsa magma) are cosmetic algae, not wear. A heavily streaked roof can have years of life left. Don't let a model — or a rep — score a streaked-but-healthy roof as "shot." Homeowners pitched a replacement for what a wash would fix tell their neighbors.

Mistaking a patch for a finished problem

That bright rectangle in imagery might mean the homeowner already fixed the issue — or band-aided a leak on a roof that's overdue everywhere else. The first is a skip; the second is a strong door. You can't always tell from the air, so flag patches as "investigate," not auto-sort.

Over-trusting a single score

A score is a starting point, not gospel. Treating an 80 as a guaranteed sale, or a 40 as worthless, ignores that the model is working with incomplete data. The discipline is to work the list in priority order and keep your eyes open — a 50-scored roof you drive past that's visibly falling apart still earns a knock. The score routes your attention; it doesn't replace it.

Overselling on the prediction itself

The biggest reputational risk. A prediction — or a high lead score — is a reason to knock and inspect, never a reason to tell a homeowner their roof is failing before you've walked it. Lead with the inspection, document what's real, and let the facts carry the conversation. That's how you predict aggressively and still sleep at night.

Letting the data go stale

A scored list has a shelf life. Roofs age, storms hit, neighborhoods re-roof. A target list you built last spring has drifted — some doors aged in, some got worked by a competitor, some re-roofed. Refresh the inputs on a cadence, especially after every significant storm, or you're working yesterday's prediction.

Building the habit: making prediction a system, not a person

The last piece is consistency, and it's the one that decides whether predictive analytics actually changes your business or just becomes a tool nobody uses. The best estimators can read a roof in five seconds — but that read lives in one person's head, and it doesn't scale to a crew of green canvassers or a list of 600 addresses across four subdivisions. The whole point of turning prediction into a system — a scoring model, a build-era baseline, an imagery screen, a storm overlay, a ranked route — is that a new hire can run it and sound like a vet, and a sales manager can point a team at the right doors without driving every street personally.

A few habits that make it stick:

  • Score before you route, every time. No "let's just go work that subdivision." The list earns the day.
  • Cull harder than you target. The discipline isn't finding good doors — it's removing the ones that can't buy, so every crew hour goes to a real candidate. A rookie's list is everything; a vet's list is short and high-odds.
  • Close the loop. Track which scored doors converted and feed it back. If your 80-plus doors close at triple the rate of your 50s, your model works; if they don't, your weights are off. This is how a prediction gets sharper over time instead of staying a guess.
  • Refresh after storms. A significant hail or wind event resets the storm-exposure layer for a whole area. Re-score promptly while the event is fresh and intent is high.
  • Let software do the slow part. Reading age and storm exposure roof-by-roof across hundreds of addresses is precisely the work that doesn't scale by hand and is easiest to do inconsistently. Whether you build the list yourself on a Sunday night or hand the area to a tool that ranks it, the principle is identical.

Predictive analytics for roofing leads isn't about being right on every house. It's about being right often enough that every knock has a real chance — stacking roof age, storm exposure, condition, and your own customer history into a ranked read, removing the roofs that can't buy, and putting the storm-worn and age-out roofs in front of your crew first. Do that consistently and the math takes care of itself: fewer wasted miles, more estimates per day, reps who stay because they're winning, and a pipeline you own instead of one you rent from a lead site or wait on a storm to deliver.

FAQ

What does predictive analytics actually mean for a roofing company?

It means using data you can collect about a property — its likely roof age, the storms it has absorbed, its build era, visible condition, and its history with your company — to estimate how likely each address is to become a signed re-roof, then working the highest-probability doors first. It's not a crystal ball and it won't promise any single roof will sell. It promises something more useful: if you knock the top of a well-scored list, you book more estimates per hour than knocking blind. A prediction is a probability, never a verdict.

Is predictive analytics the same as buying roofing leads?

No, they're opposite models. A lead service sells you a homeowner's contact info, often the same lead resold to several competitors, so you pay per lead to race other roofers to someone already fielding five calls. Predictive analytics on your own target area sharpens the outbound you already do — it ranks the roofs in an area you're going to work by how likely each is to be due, so your crew knocks the right houses first. You still knock, inspect, and earn the job. The cost is fixed, not per-lead, and the doors are yours, not shared.

What data actually predicts whether a roof will sell?

The strongest signals are roof age (a range, not an exact date), storm exposure resolved per roof rather than per region, build era of the neighborhood, visible condition, and your own customer history. Age and storm exposure carry most of the weight because they determine whether the roof is physically a replacement candidate — no pitch sells a re-roof to a house that doesn't need one. Condition and timing sharpen the order. Public records are good for build era and storm regions, imagery for condition and aging, and your CRM for warm intent; none alone is enough.

Why can't I just use the county's 'year built' to score roof age?

Because year built is the age of the house, not the roof. Re-roofs are frequently invisible in public records — permits aren't always pulled, and county data lags reality by years. A 2002 house can sit under a 2019 roof. Build year is a useful baseline for a whole tract because it tells you the dominant age of original roofs, but it's unreliable for any single home. Always screen for re-roofs separately, using aerial imagery, before you decide a specific roof is due.

How do I build a lead score without a data scientist?

Score each address on three pillars and combine them on a spreadsheet: roof-age odds (weight it heaviest), storm-exposure odds resolved per roof, and condition plus timing. Assign points within each pillar, normalize to the weights, and sum to a 0-100 score. Set a cutoff and work everything above it first, in geographic route order. The exact numbers matter less than the discipline that every address gets the same read and the roofs that can't buy get culled. Tune the weights to your market — push storm exposure higher in hail country, age higher in high-UV markets.

How do I tell which roofs a storm actually damaged versus which it just passed over?

Resolve to the roof, not the region. A county-wide storm alert tells you weather passed through, but hail swaths are narrow and erratic — one street gets damaging impacts, the next gets nothing. NOAA's Storm Events Database and the Storm Prediction Center show where significant hail and wind occurred, and IBHS research links hail size and shingle type to damage, but crossing that down to specific streets and then against each roof's age is the hard part. The reliable read is per-roof exposure: did this house, at this spot, take meaningful impact, and how does that stack with its age.

How accurate are roof-age estimates from aerial imagery?

Accurate enough to prioritize, not to certify. Imagery reads weathering, tonal uniformity, granule-loss patterns, and patch contrast to place a roof in a range — for example, roughly 18 to 22 years old — and historical imagery can pin an install window if the roof was clearly new in an older photo and worn now. What it can't do is read an exact install date; no satellite sees a receipt. Use the range to decide whether a roof is a strong door, a maybe, or a skip, then confirm on the ladder.

What's the cheapest place to apply predictive analytics in my business?

Your own CRM. Old estimates that didn't close, repair customers from years ago, and homeowners whose roofs you measured but who weren't ready — every record has an address, a phone number, and a prior roof read, and the acquisition cost is already sunk. Advance the clock on those roof ages, cross them against storms since your last contact, and a chunk have aged into the replacement window with a warm, specific reason to call back. A season of jobs can be sitting in a database nobody's touched since the estimate fell through.

Can I tell a homeowner their roof needs replacing based on a high lead score?

No. A high score or a prediction is a reason to knock and inspect, never a verdict to hand a homeowner before you've walked the roof. Frame it honestly: roofs in the neighborhood are reaching the age worth a look, the area took hail recently, and you'd like to inspect and show what you find. Document what's actually there, write an honest estimate, and let the facts carry the conversation. If you find storm damage you document conditions and write an estimate — you don't approve the claim, promise coverage, or discuss the deductible. The homeowner files, the insurer decides, the homeowner owns the claim.

How often do I need to refresh a scored target list?

A scored list has a shelf life. Roofs age, storms hit, and neighborhoods re-roof, so a list you built last spring has drifted — some doors aged in, some got worked by a competitor, some re-roofed. Refresh the inputs on a cadence, and especially after every significant hail or wind event, because a storm resets the exposure layer for a whole area and the freshly-hit, age-out roofs are your highest-intent doors while the event is recent. Working a stale list means working yesterday's prediction.

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.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. NRCA - National Roofing Contractors Associationnrca.net
  2. IBHS - Insurance Institute for Business & Home Safety (Hail Research)ibhs.org
  3. NOAA National Severe Storms Laboratory - Severe Weather 101: Hailnssl.noaa.gov
  4. NOAA Storm Prediction Centerspc.noaa.gov
  5. NOAA Storm Events Databasencdc.noaa.gov
  6. National Weather Serviceweather.gov
  7. U.S. Census Bureau - American Housing Surveycensus.gov
  8. Bureau of Labor Statistics - Roofers Occupational Outlookbls.gov
  9. ICC - International Residential Code (Roof Assemblies, Chapter 9)codes.iccsafe.org
  10. OSHA - Fall Protection in Residential Constructionosha.gov
  11. FTC - Business Guidance on Advertising and Marketingftc.gov
  12. Texas Department of Insurance - Storm and Roof Damage Claimstdi.texas.gov
  13. Asphalt Roofing Manufacturers Association (ARMA)asphaltroofing.org
  14. RoofPredictroofpredict.com

Related Articles