The Best Way to Find Storm-Damaged Roofs Without Buying Leads
On this page
A bought storm lead has already been sold four times before it hits your phone. By the time you call, the homeowner has heard the same pitch from three other crews, two of them out-of-town chasers who showed up the morning after the hail. You are the fourth voice, paying $40 to $120 for the privilege of sounding exactly like everyone else. That is not a pipeline. That is an auction where the prize is a tired, suspicious homeowner.
There is a better way, and it does not require a credit card. The homes the storm actually wore out are sitting on a map you can read yourself. The hail fell where it fell, the wind came from one direction, and the roofs in its path are a known, finite list of addresses. Finding them is a skill, not a subscription. Once you can read where a storm hit, which roofs were old enough to give way, and how to document the damage in a way that holds up, you stop renting access to homeowners and start owning the work.
This is the playbook a sharp storm-restoration crew runs. It covers where the public data lives and how to read it, how to narrow a whole ZIP down to the streets that matter, how to canvass without burning your reputation, how to document damage so the homeowner's file is airtight, and where the legal lines sit so you never cross into territory that gets your license pulled. It also covers what software can compress for you and, just as honestly, what it cannot.
Why bought storm leads quietly drain a roofing company
Start with the math, because the math is the whole argument.
A shared storm lead from a lead aggregator typically runs $40 to $120 in residential roofing, and "shared" means three to five contractors get the same name. Your realistic close rate on a four-times-sold lead is low, often single digits, because the homeowner is annoyed by the third call before yours connects. Even at a generous 8 percent close on $75 leads, you are spending roughly $940 in lead cost per signed job before you account for a single hour of sales labor. Exclusive leads cost more, $150 to $400 each, and the exclusivity is only as good as the aggregator's word.
Now compare that to a list you build yourself. The hail swath is public. The aerial imagery is public or cheap. Your own past-customer book is free and already in your CRM. The cost of finding a storm-worn roof yourself is your time plus a little tooling, and unlike a lead fee, that cost does not repeat for every single door.
The deeper problem with bought leads is not even the price. It is what they do to your sales motion. When you pay per lead, every conversation carries the weight of a sunk cost, so reps push harder, sound more desperate, and chase homeowners who were never going to buy. When you generate the door yourself off real storm and age signals, you walk up already knowing this roof had a reason to fail. The conversation is calmer, more honest, and it closes better. Contractors who shift from buying leads to working their own storm map almost always report the same two things: lower cost per acquisition and reps who stop quitting.
There is one more cost nobody puts on the invoice: the out-of-town swarm. Storm chasers buy the same leads you do, work them aggressively, and leave town. They train homeowners in your market to distrust anyone who knocks after a storm. Every shared lead you buy funds that ecosystem. Building your own target list is how you show up as the local who was already here, not the fifth caller in a phone tree.
Put real numbers on it
Run your own version of this table with your actual close rates, because the gap is usually wider than owners expect once they look.
| Shared bought lead | Exclusive bought lead | Self-generated storm target | |
|---|---|---|---|
| Cost per contact | $40 to $120 | $150 to $400 | Data tooling + canvasser time |
| Exclusivity | Sold to 3 to 5 crews | Vendor's word only | Yours alone |
| Homeowner temperature | Cold and pitch-fatigued | Cold | Warm if from CRM, neutral if canvassed |
| Repeats per job? | Yes, every lead | Yes, every lead | No, the asset compounds |
| Builds an owned asset? | No | No | Yes, logged territory and CRM |
The per-contact cost is only the visible line. The invisible lines, exclusivity, homeowner temperature, and whether you own anything afterward, are where self-generated targeting pulls decisively ahead. A bought lead is rented access to a homeowner who five other crews are also calling. A self-generated target is a homeowner only you know to call, for a reason only you documented.
What "storm-damaged" actually means before you go looking
Before you can find damaged roofs, you have to know what does and does not damage a roof, because the homeowner's roof failing is the result of two things meeting: a storm with enough energy, and a roof old enough to give way to it. Miss either half and you waste a day.
Hail: size, density, and the roof underneath
Hail damage to asphalt shingles is mechanical. A stone hits the shingle, fractures the mat, and knocks granules loose at the impact point. Lose granules, and the asphalt underneath is exposed to UV and accelerates toward failure. The bruise may not leak for years, which is exactly why homeowners do not call you on their own.
The threshold matters. Soft, newer shingles can show functional damage from hail around 1 inch in diameter, roughly a quarter. Older, brittle shingles can bruise at smaller sizes because the mat has already lost flexibility. Hail under three-quarters of an inch rarely does functional roof damage on a healthy shingle, though it can ding soft metals like gutters, fascia, and vents, which is a useful tell. The Insurance Institute for Business and Home Safety publishes the impact-energy research behind these thresholds, and it is worth reading so you can speak to it honestly.
Density and dwell time matter as much as size. A brief shower of marginal hail does less than a sustained pounding of the same size. This is why two houses a mile apart in the same "hail event" can have completely different roofs. The swath is not uniform.
Wind: direction, gusts, and the leeward edge
Wind damage is directional. A straight-line wind event or a thunderstorm gust front lifts shingles on the windward slopes and the edges, breaks seals, and can crease or tear tabs. The damage concentrates on rakes, ridges, and the slope facing the wind. The National Weather Service treats damaging straight-line wind as starting around 58 mph (50 knots), and shingle manufacturers rate products to wind speeds you can look up. A roof rated for 110 mph that saw an 80 mph gust front may still have seal failures along the edges even if no tabs are visibly gone, and seal failure is real, documentable damage.
The practical point: a wind event and a hail event leave different fingerprints, and you document them differently. Confusing the two in front of an adjuster makes you look green.
Age: the multiplier on everything
A storm that barely marks a five-year-old roof can finish a twenty-year-old one. Asphalt shingles lose volatile oils and flexibility as they age, so the same impact that bounces off a young roof shatters an old mat. This is why roof age is not a side detail. It is the multiplier that decides whether a given storm produced a roof worth your time. A neighborhood of new construction inside a hail swath is mostly a waste of canvassing hours. A 1990s subdivision under the same swath is a season of work.
This is the core insight that separates a sharp crew from a lead-buyer: storm energy times roof age equals opportunity. You need both signals on the same map.
The free and low-cost data sources that replace bought leads
Here is where the addresses actually come from. None of this requires a lead vendor.
National Weather Service and the Storm Prediction Center
The NWS issues storm reports and warnings, and the Storm Prediction Center (SPC) maintains a public storm reports archive with daily logs of hail and wind reports, including reported hail sizes and locations. After a storm, the SPC storm reports page gives you a same-day picture of where large hail and damaging wind were reported, with coordinates. This is your first cut: did a real, damaging-energy storm pass through, and roughly where.
The limitation is honest: storm reports are point observations from spotters, not a continuous map. A reported 1.75-inch hail stone at one intersection tells you the swath was nearby, not that every roof for a mile saw the same stone. Use it to confirm an event and anchor a search area, then narrow with better tools.
NOAA radar and the dual-pol hail signatures
NOAA's radar archive, available through the National Centers for Environmental Information, lets you replay a storm. Modern dual-polarization radar produces products that estimate hail size and the maximum expected size of hail (MESH) across the storm's path. A MESH grid turns "hail was reported somewhere" into "this corridor saw estimated 1.5-to-2-inch hail." That corridor, laid over a parcel map, is the spine of your target list.
Radar-estimated hail is a model, not ground truth. It tells you odds, not proof. It can over- or under-call in spots, and it cannot see what the hail actually did to a specific shingle. Treat it as the strongest available signal for where to look, then verify on the ground.
County parcel and assessor data
Nearly every county publishes parcel data: owner of record, year built, and often roof or structure attributes, through a GIS portal. Year built is not roof age, because re-roofs are invisible to the assessor, but in a subdivision built in 1998 that never re-roofed, year built is a strong proxy for an aging roof. Cross a hail corridor with parcels built fifteen-plus years ago and you have a high-probability list before you knock a single door.
The Census Bureau's American Community Survey publishes median year-built and owner-occupancy by block group, which is useful for ranking whole neighborhoods when you are deciding where to start.
Aerial and satellite imagery
Free aerial imagery from mapping services, and higher-resolution paid imagery, lets you eyeball roofs before you drive. You can spot tarps, visible damage, roof color and wear, complexity, and rough size. You cannot reliably age a roof from a single low-resolution image by eye, and you cannot confirm hail bruising from the air, but you can rule out obviously new roofs and prioritize older-looking ones.
Your own CRM and past estimates
This is the source nobody buys and everybody underuses. Every estimate you ever lost, every repair customer from five years ago, every door your crew knocked last season sits in your CRM. When a storm crosses a ZIP where you already have history, that history is a warm list the chasers cannot touch. Filter your CRM by the storm-affected ZIPs and you have free, exclusive, relationship-backed targets. More on running this below, because it is the highest-ROI move on the page.
A step-by-step workflow to find storm-damaged roofs yourself
Here is the repeatable motion, start to finish. Run it every time a storm crosses your service area.
Step 1: Confirm the event and pull the boundary
Within 24 to 48 hours of a storm, pull the SPC storm reports for that date and your region. Confirm hail size reports of 1 inch or larger, or wind reports of 58 mph or higher. Note the rough corridor. If the only reports are pea-sized hail and 40 mph wind, stand down; there is no roof-damaging event to work, and chasing it just trains your market to distrust you.
Then pull the radar replay or a MESH product for that storm to draw the actual swath, which the spotter points only hint at. Sketch or export the corridor boundary. This is your search polygon.
Step 2: Intersect the swath with old-enough roofs
Load the parcel data for the corridor. Filter to:
- Owner-occupied (owners re-roof; absentee landlords often defer, and the conversation is different).
- Year built fifteen-plus years ago as a roof-age proxy, knowing re-roofs are invisible here.
- Single-family, asphalt-shingle if your assessor codes roof type.
The intersection of swath and aging roofs is your A-list. Everything outside the swath is cold. Everything inside the swath but recently built is mostly a pass.
Step 3: Rank the streets before the houses
Resist the urge to scatter your crew across the whole polygon. Hail and wind concentrate. Within your corridor, the heaviest sub-bands and the windward slopes produce the densest damage. Rank streets by overlap of high MESH and old roofs, and work the densest blocks first. A canvasser who knocks ten qualified doors in a row stays motivated. One who knocks two qualified and eight new-construction doors quits by Thursday.
Step 4: Eyeball the imagery before the windshield
Pull aerial imagery on your top blocks. Flag tarps, visible missing shingles, and obviously old roofs. Deprioritize the houses with a clearly fresh roof. This is a five-minute desk task that saves an hour of driving.
Step 5: Verify from the ground, then the roof
Now you drive. From the street and driveway you confirm the tells: dented gutters, dinged downspouts, damaged soft metals on vents and AC fins, spatter marks on horizontal surfaces, and granule accumulation at downspout outlets. Soft-metal damage is the honest proxy for hail energy at that specific house, and it is visible without a ladder. If the gutters and AC fins are pristine, the roof probably is too.
When a homeowner agrees to an inspection, you go up and document properly, which is the next section.
Step 6: Log everything back to your CRM
Every door, every no-answer, every "come back in spring" goes back into the CRM with the storm date attached. The storm you work today builds the warm list for the storm three years from now. A lead vendor's list evaporates the day you stop paying. Your own logged territory compounds.
Worked example: a hail event drops 1.75-inch hail through a corridor that clips three subdivisions. Subdivision A is 2019 construction. Subdivisions B and C are 1996 and 2001. Parcel filter gives you roughly 600 owner-occupied homes in B and C inside the heavy MESH band. Imagery review trims 80 with obviously new roofs. You are left with about 520 qualified doors, ranked by block. That is a multi-week, fully exclusive canvass that cost you data tooling and a morning, not $40 a name.
Edge cases the workflow has to handle
The clean version above breaks on a few real-world situations. Plan for them.
The re-roofed subdivision. A 1995 subdivision that got a wave of insurance re-roofs after a hail event in 2012 will read as "old" in parcel data but may have eleven-year-old roofs that handled the latest storm fine. The tell is on the imagery and the ground: uniform, similar-age shingles across a block usually means a past storm already re-roofed it. Score it lower, and check whether the new storm exceeded what the post-2012 roofs can take.
The HOA with a single roof color. Some HOAs mandate one shingle and re-roof on a schedule. The whole neighborhood ages together, which is good for you when they are due and a waste when they just turned over. Year built will mislead you here; imagery and a couple of porch conversations tell the truth fast.
The fringe of the swath. Half your polygon will sit in the gradient where energy dropped off. Do not work it the same as the core. Knock the core first, prove the damage is real and dense there, and only push to the fringe if the core runs dry. Promising fringe homeowners the same outcome as core homeowners is how you end up with inspections that find nothing and a reputation for crying wolf.
Metal, tile, and flat roofs. The hail-size thresholds above are for asphalt shingles. Metal dents but rarely loses function at sizes that destroy asphalt; tile cracks; modified-bitumen flat roofs bruise differently. If your market has a lot of non-asphalt roofs, build separate judgment for them rather than applying the shingle table blindly.
Rental and absentee-owned homes. Parcel data flags owner-occupancy. Absentee-owned roofs still take damage, but the decision-maker is not behind the door, the conversation is about the owner's economics, not a family's home, and the timeline is slower. Sort these into a separate, lower-urgency list rather than mixing them with owner-occupied doors.
Reading hail and wind data like a pro
The step-by-step above assumes you can read the data. Here is the deeper skill.
Hail size to roof-damage probability
Use this as a working field reference, calibrated against IBHS impact research and your own roof-age judgment. These are probabilities, not guarantees, because shingle age and condition move every line.
| Reported / estimated hail | New, healthy shingle | Aged or brittle shingle | Soft metals (gutters, vents) |
|---|---|---|---|
| Under 0.75 in (pea to dime) | Cosmetic at most | Possible granule loss | Light dings possible |
| 0.75 to 1 in (dime to quarter) | Marginal, usually cosmetic | Functional damage likely | Visible dents |
| 1 to 1.5 in (quarter to ping-pong) | Functional damage likely | Functional damage very likely | Clear denting |
| 1.5 to 2 in (ping-pong to egg) | Functional damage very likely | Severe | Heavy denting, splits |
| Over 2 in (egg and up) | Severe, often obvious | Severe, replacement likely | Punctures possible |
The takeaway: in the 1-to-1.5-inch band, roof age is the deciding variable. That is your sweet spot for targeting, because the storm did real work but the damage is not so obvious that the homeowner already called someone.
Wind speed to expected damage
| Sustained / gust wind | Likely roof effect |
|---|---|
| Under 45 mph | Generally none on a sound roof |
| 45 to 58 mph | Seal stress on older roofs, edge lifting possible |
| 58 to 74 mph (damaging) | Seal failures, tab lifting, isolated missing shingles |
| 74 mph and up (hurricane-force gust) | Missing shingles, creasing, structural edge damage |
Seal failure is the quiet one. After a strong wind event, shingles can look intact from the ground but have lost their adhesive bond, which is documentable damage that compromises the roof. You confirm it by gently checking seal bond during inspection, not by yanking tabs.
Pairing the two signals into a single priority score
The pros do not work hail and wind as separate lists. They combine the storm signal with roof age into one rough priority number per address, then sort. You can do this on a spreadsheet before any software is involved. A workable home-grown scoring scheme looks like this:
- Storm energy points (0 to 40): scale by estimated hail size and wind speed at that location. Center of a 2-inch swath scores high; fringe of a 1-inch swath scores low.
- Roof-age points (0 to 40): scale by estimated roof age. A roof pushing the end of its service life scores high; new construction scores near zero.
- Access and fit points (0 to 20): owner-occupied, single-family, asphalt, reasonable roof complexity for your crew.
Sum it, sort descending, and work top down. The exact weights matter less than the discipline of forcing every address onto one ranked list instead of letting reps cherry-pick by gut. A ranked list is also what keeps a green canvasser productive, because the next-best door is always obvious.
The weakness in the home-grown version is the roof-age input. Year built is a blunt proxy, and eyeballing imagery is slow and inconsistent across a big polygon. That is the single hardest input to get right by hand, and it is exactly where a per-roof age estimate earns its keep.
Reading a swath map without fooling yourself
Three habits separate pros from people who get embarrassed in front of adjusters:
- Treat radar hail estimates as odds, not facts. MESH says the corridor probably saw large hail. The roof confirms it. Never tell a homeowner their roof "definitely has hail damage" off a radar map. Say the data shows the storm likely brought damaging hail, and you would like to verify on the roof.
- Respect the gradient. Within one swath, energy drops off fast. The edge of the corridor may have seen half the hail size of the center. Do not promise the same outcome to a homeowner on the fringe.
- Date everything. Pull the exact storm date and event from the NWS record. "Hail on or about" with a real date and a real reported size is documentation. "There was a big storm a while back" is nothing.
Canvassing the right doors without burning your reputation
A good target list still fails if the door knock is bad. Storm canvassing has earned a reputation problem, mostly from chasers, and you fight that on every porch.
Lead with the local, factual reason you are there
Do not open with "free roof" or "your insurance will pay." Open with the truth: there was a documented storm on a specific date, you are a local company inspecting roofs in the neighborhood, and you noticed signs worth a look. Specificity earns trust. "There was 1.5-inch hail reported here on the 14th, and I am seeing dinged gutters on this block" is a real reason. "You may qualify for a free roof" is a chaser's line and a legal problem, covered below.
The two-call structure
First contact is short: introduce, state the storm date, offer a no-pressure inspection, leave something physical (a card and a one-page note with the storm date and your license number). Second contact is the inspection itself, scheduled, on time, documented. Splitting it lowers the porch pressure and raises trust.
Document the no, along with the yes
Half your value is in the maybes. "Not now" with a reason and a callback date is a future job. Log it. The crew that treats every no as final re-knocks the same cold doors next season. The crew that logs the maybes builds a compounding book.
Soft-metal proof on the porch
When you can show a homeowner the dents in their own gutter or the dings on their AC fins, the conversation changes. You are not selling fear, you are pointing at physical evidence on their property. That is the most honest, most effective canvassing tool there is, and it costs nothing.
Keep your green reps out of the ditch
A new canvasser fails when the script asks them to overpromise. Give them the factual frame, the storm date, and the soft-metal tell, and a green rep sounds competent on day one. Give them a quota and a "free roof" pitch and they either crash or get you in trouble. The targeting fixes the churn: reps who knock qualified doors close jobs, make money, and stay.
A canvassing day that actually produces
Walk through how a productive storm canvass day is structured, because the difference between a good day and a wasted one is mostly planning, not talent.
- Morning brief, ten minutes. Hand each rep a ranked block, not a ZIP. Print the storm date, the reported hail size for that corridor, and your license number. Confirm everyone can say the factual opener cold.
- Work in a tight pattern. One rep, one contiguous block, every door, no skipping. Skipping around feels efficient and is not; it wastes walking time and leaves gaps you never re-knock.
- Two-minute first contacts. The first knock is short by design: name, company, storm date, offer to inspect, leave the card and note. Do not try to close an inspection on a cold porch through a storm door.
- Photograph soft-metal evidence as you go. When a homeowner is curious, a phone photo of their own dented gutter or AC fin moves them faster than any script.
- Log every door before the next one. Yes, no, not-home, and maybe with a reason. A rep who logs at the door has clean data by dinner; a rep who reconstructs it from memory at 6 p.m. has fiction.
- Afternoon re-knock on not-homes. Different people are home at different hours. The same block re-knocked at 5:30 p.m. catches the half you missed at 2 p.m.
- End-of-day handoff. Booked inspections go on the schedule with the storm date attached. Maybes get a callback date. Nos with reasons feed next season's list.
A rep running this on a ranked block of qualified doors will book inspections steadily. The same rep turned loose on a random ZIP with a quota will knock new construction, hear no all day, and quit. The targeting is what makes the human side work.
Documenting storm damage the right way, and the legal line you do not cross
This is where roofers get themselves in real trouble, so read it carefully. Your job in a storm claim is to inspect, document, and write an accurate estimate to repair the roof. The homeowner files the claim. The insurer decides coverage. You stay entirely on the documentation and estimate side. That is the safer path, and in most states it is also the law.
What you may do
You may climb the roof, inspect it, and document what you find. You may photograph and measure damage. You may write a detailed, accurate repair estimate aligned to standard estimating practice (the kind of line-item estimate adjusters work from). You may hand that documentation and estimate to the homeowner. You may state facts about the scope of the work your company would perform and what you observed. You may explain to a homeowner, in plain terms, what storm damage looks like and that they have the right to file a claim with their own carrier.
What you may not do
You may not, for a fee, negotiate, adjust, or "handle" the homeowner's claim with their insurer. That is public adjusting, and it requires a separate license in most states. You may not interpret the homeowner's policy or tell them what is or is not covered. You may not promise a specific payout, approval, or settlement amount. You may not say anything about the deductible being waived, absorbed, covered, or "taken care of" (that is insurance fraud in many states and a fast way to lose your license). You may not advertise a "free roof." You may not represent the homeowner against their insurer.
This is not hypothetical caution. In Stonewater Roofing v. Texas Department of Insurance (2024), Texas courts upheld that even self-labeling as an insurance or claims "specialist" and performing claims-handling activities without a public-adjuster license violates the law. Several states have similar enforcement. Your own state's Department of Insurance (in Texas, the TDI) publishes the public-adjuster licensing rules; read them.
The do-not-say list, taught plainly
Keep this where your reps can see it. None of these belong in a pitch, on a yard sign, or on a porch:
- "We will get your claim approved."
- "We handle / manage / negotiate the claim for you."
- "You qualify for a free roof."
- "We will cover / waive / eat your deductible."
- "Your insurance will definitely pay."
- "We will fight the adjuster and maximize your settlement."
- "We are insurance / claims specialists."
Replace every one with documentation language: "We will inspect and document the damage thoroughly, write you an accurate repair estimate, and you decide whether to file with your carrier."
A documentation checklist that holds up
When you inspect, capture all of this so the homeowner's file is complete and your estimate is defensible:
- Full address and inspection date, with the storm date and event reference from the NWS record.
- Wide context photos of each elevation showing the whole roof and surroundings.
- Soft-metal evidence: dated photos of dented gutters, downspouts, vents, AC fins, and any spatter marks. This corroborates hail energy independent of the shingles.
- Roof-surface photos with a reference object (chalk circle, coin, or a damage-gauge tool) next to each impact, showing fracture and granule loss.
- Slope-by-slope coverage so the orientation of wind damage is clear (which slopes lifted, which edges creased).
- Test-square documentation where appropriate: a marked 10-by-10-foot square with hits counted, the standard adjusters recognize.
- Measurements for an accurate quantity takeoff (squares, ridge, hip, valley, penetrations).
- An itemized repair estimate built on those measurements and the documented damage, with materials and labor lined out.
- A clear handoff note stating that the homeowner files with their own carrier and the carrier decides coverage.
Give the homeowner a clean package. You are not arguing coverage. You are handing them facts so complete that the conversation with their own adjuster is straightforward. That is the safe frame, and it happens to be the one that builds the most trust.
Inspecting safely is part of the job
None of the documentation above matters if your crew gets hurt getting it. OSHA fall-protection rules apply to residential roofing work, and the post-storm rush is exactly when crews cut corners on harnesses and ladder setup. A roof that just took hail or wind may have loose or lifted material that gives way underfoot. Set a documented inspection standard: stable ladder placement, fall protection per OSHA on steeper or higher roofs, and a no-go rule for wet or frosted surfaces. A rep on the ground using soft-metal evidence and binoculars beats a rep in the hospital, and the soft-metal tells get you most of the way to a qualified yes before anyone climbs.
Mining your own CRM is the highest-return move
The data sources earlier all point outward, to public storm and parcel records. The single most valuable list after a storm points inward, to your own customer book, and almost nobody runs it properly. It deserves its own playbook.
Think about what is already in your CRM. Every estimate you wrote and lost. Every repair customer from three, five, seven years ago whose roof is now that much older. Every homeowner who said "not this year." Every door your crew logged last season. When a storm crosses a ZIP where you have that history, those records are warmer than any lead a vendor will ever sell you, because the homeowner already knows your name and you already have a reason to call beyond a cold pitch.
The post-storm CRM filter
Run this within days of a confirmed event:
- Filter by the affected ZIPs and the swath. Pull every contact whose address sits inside the storm corridor you drew in Step 1.
- Sort lost estimates by age. A roof you quoted four years ago and lost is four years older now, and a storm just crossed it. That is a strong, specific reason to call: "We looked at your roof in 2022, there was a documented hail event over your block last week, and I would like to come back out."
- Sort past repair and replacement customers by install date. Past customers are referral and re-roof sources. Even if their roof is fine, they know neighbors whose roofs are not, and a storm is the natural reason to reconnect.
- Pull the logged maybes. Every "come back in spring" with a callback date that has passed is a follow-up you already earned.
Why this beats every bought list
The CRM list is exclusive: no aggregator can sell it, no chaser can touch it. It is warm: the homeowner has prior contact with your brand. It is free: contacting your own records costs a phone call. And it is durable: it grows every time you log a door, so the storm you work today seeds the list for the storm three years out. The contrast with a bought lead is total. A bought lead is a one-time, shared, cold, repeating cost. A mined CRM contact is a repeatable, exclusive, warm, owned asset.
The reason crews skip this is friction. Filtering a CRM to a storm swath, cross-referencing install dates, and judging which roofs are now old enough to be due is tedious by hand, so it gets postponed until the storm is cold. That friction is the gap worth closing, and it is where enrichment tooling earns its place.
Where RoofPredict fits, and where it does not
Everything above you can do by hand. The honest question is how many hours it takes per storm, and whether your crew will actually run the full motion every time or cut corners the third week in. That is the gap a tool closes.
RoofPredict scores the roofs in your area by two signals at once: a roof-age range estimated from aerial imagery, and the storms each individual roof has actually taken, modeled per address rather than read off a general hail map. The difference matters. A hail map tells you where it hailed. RoofPredict models the hail and wind on each specific roof and pairs that with how old the roof already was, so the output is a ranked list of the addresses where a real storm met a roof old enough to give way. That is the same swath-times-age intersection from the workflow above, run for every house, without you drawing polygons by hand.
It also enriches your own list. Hand it your CRM or a mailing list and it appends roof-age range and storm signal to each address, so the past-customer and lost-estimate mining that is your highest-ROI move stops being a manual filter and becomes a ranked call sheet. That is the part most crews never get around to doing by hand.
The honest limits, because a trade compares notes: roof age comes back as a range, not an exact date, because re-roofs are not visible in public records and imagery only gets you so close. The storm model gives you odds a roof was worn out, not proof it has a leak. Neither the age range nor the storm score replaces the ladder. You still inspect, you still document, and you still let the homeowner file and the carrier decide. What it removes is the desk work and the guesswork in deciding which doors are worth the ladder in the first place, so your crew spends its hours on qualified roofs instead of driving past new construction.
Use it to rank, not to promise. It tells you which roofs are due and which the storm likely wore out. The roof confirms the rest.
A 30-day plan to stop buying storm leads
If you are paying for shared leads today, here is how to wind it down without a gap in your pipeline.
Week 1 — Build the muscle on a past storm. Pick a storm from the last year that crossed your service area. Pull the SPC reports and radar for it. Draw the swath. Intersect it with parcel data for old-enough roofs. You now have a target list for an event that already happened, which means you can validate your method against jobs you already won or lost in that area.
Week 2 — Mine your own book. Filter your CRM to the ZIPs the storm hit. Pull every lost estimate and past customer in the swath. This is your warmest, most exclusive list, and it costs nothing. Start calling. Track close rate against your bought-lead close rate.
Week 3 — Canvass a ranked block. Take the densest block from your week-1 list and canvass it with the factual, storm-date-anchored script and the soft-metal proof. Document every door, yes, no, and maybe. Measure cost per inspection booked.
Week 4 — Compare and cut. Put your self-generated cost per signed job next to your bought-lead cost per signed job. Include the soft costs: rep morale, exclusivity, repeat value of the logged territory. For almost every crew, the self-generated number wins on cost and wins bigger on durability. Cut your shared-lead spend by half and redirect it into data tooling and canvasser pay.
Keep one thing in view the whole time: a bought lead is a cost that repeats forever and an asset you never own. A storm map you learn to read, a CRM you mine, and a territory you log are assets that compound. The crews that own their next jobs are not paying more than the crews that rent them. They are paying less, and they keep what they build.
The short version
The best way to find storm-damaged roofs without buying leads is to read the storm and the roof age yourself, then knock the right doors with facts instead of pressure. Confirm a real, damaging event from public NWS and radar data. Intersect the swath with roofs old enough to have failed, using parcel and imagery data. Rank the streets, verify from the ground with soft-metal tells, and inspect and document properly. Mine your own CRM for warm, exclusive targets the chasers cannot reach. And stay strictly on the documentation-and-estimate side of any insurance claim, because the homeowner files and the carrier decides, and the contractors who respect that line are the ones still in business in five years.
Do that, and the storm stops being something you wait on and pay for, and starts being a list of addresses you already know how to read.
FAQ
Can I really find storm-damaged roofs without paying for leads?
Yes. The information you need is public or already yours. The National Weather Service and Storm Prediction Center publish hail and wind reports, NOAA publishes radar that estimates hail size and swath, county assessors publish parcel data with year built, and your own CRM holds past customers and lost estimates. Cross a confirmed storm swath with roofs old enough to fail, verify on the ground, and you have an exclusive target list that did not cost a per-lead fee.
How big does hail have to be to actually damage a roof?
On a healthy asphalt shingle, functional damage usually starts around 1 inch in diameter, about quarter-sized, per impact-energy research from IBHS. On older, brittle shingles, smaller hail can bruise the mat because it has lost flexibility. Hail under three-quarters of an inch rarely damages a sound roof but can dent soft metals like gutters and vents, which is a useful tell. Roof age is the deciding variable in the 1-to-1.5-inch band.
How do I read a hail swath or radar map for targeting?
Start with SPC storm reports to confirm a damaging event happened and roughly where. Then use NOAA radar or a maximum-expected-hail-size product to draw the actual corridor, since spotter reports are only points. Treat radar hail estimates as odds, not proof, respect the fast drop-off in energy at the swath edges, and always pull the exact storm date so your documentation references a real event.
Why is roof age so important when finding storm damage?
The same storm that barely marks a new roof can finish an old one. Asphalt shingles lose oils and flexibility with age, so an aged mat shatters where a young one bounces. Opportunity is storm energy times roof age. A new subdivision inside a hail swath is mostly wasted canvassing; a 1990s subdivision under the same swath is a season of work. You need both signals on the same map.
What can a roofer legally say about a homeowner's insurance claim?
You may inspect, document damage, write an accurate repair estimate, and hand it to the homeowner, and you may state facts about your scope of work. You may not, for a fee, negotiate or handle the claim, interpret the policy or coverage, promise a payout or approval, say anything about the deductible being waived or covered, advertise a free roof, or represent the homeowner against their insurer. The homeowner files and the carrier decides. Check your state Department of Insurance for public-adjuster rules.
Is it illegal to advertise a free roof or cover the deductible?
In many states, yes. Promising to waive, absorb, or cover a homeowner's deductible is treated as insurance fraud, and advertising a free roof tied to a claim invites the same scrutiny. Self-labeling as a claims or insurance specialist and handling claims without a public-adjuster license has been ruled unlawful, as in the Stonewater Roofing case in Texas. Stick to documentation and estimate language and you stay clear.
How should I document storm damage so the homeowner's file holds up?
Capture the address, inspection date, and the storm date and event from the NWS record. Photograph each elevation for context, then soft-metal damage on gutters, vents, and AC fins, then roof-surface impacts with a reference object showing granule loss. Document slope by slope, mark a test square where appropriate, take measurements for an accurate takeoff, and build an itemized repair estimate. Add a note that the homeowner files with their own carrier.
How is mining my own CRM better than buying leads?
Your CRM holds past customers and lost estimates that are exclusive to you, already trust your brand, and cost nothing to contact. When a storm crosses a ZIP where you have history, filtering your CRM to those addresses produces a warm list no chaser and no aggregator can sell. It is consistently the highest-return move after a storm, and unlike a bought lead, it does not disappear when you stop paying a vendor.
What does RoofPredict do that I cannot do by hand?
By hand you can intersect a swath with old roofs, but it takes hours per storm and crews cut corners. RoofPredict scores every roof in your area by an age range from aerial imagery and the storms each address actually took, modeled per roof rather than read off a general hail map, and returns a ranked list of due roofs. It also appends age and storm signal to your own CRM or mailing list. Roof age is a range, the storm score is odds not proof, and it never replaces the ladder or the homeowner filing the claim.
How do I tell the difference between hail and wind damage?
Hail damage is mechanical and scattered: fractured shingle mats and granule loss at impact points, plus dents in soft metals like gutters and vents. Wind damage is directional: lifted, creased, or missing shingles concentrated on windward slopes, rakes, and ridges, plus broken adhesive seals that look intact from the ground. Confirm the event type from the storm record, since the NWS treats damaging straight-line wind as roughly 58 mph and up, and document each fingerprint separately.
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
- Storm Prediction Center Storm Reports — spc.noaa.gov
- National Weather Service Severe Weather Definitions — weather.gov
- NOAA National Centers for Environmental Information Radar Data — ncei.noaa.gov
- IBHS Hail Research and Impact Studies — ibhs.org
- NOAA National Severe Storms Laboratory: Severe Weather 101 - Hail — nssl.noaa.gov
- NRCA - National Roofing Contractors Association — nrca.net
- OSHA Fall Protection in Construction — osha.gov
- U.S. Census Bureau American Community Survey — census.gov
- International Residential Code (ICC) — iccsafe.org
- FTC Business Guidance on Truthful Advertising — ftc.gov
- Texas Department of Insurance: Public Insurance Adjusters — tdi.texas.gov
- Stonewater Roofing, Ltd. Co. v. Texas Department of Insurance — txcourts.gov
- Bureau of Labor Statistics: Roofers Occupational Outlook — bls.gov
- RoofPredict — roofpredict.com
Related Articles
Page-Cited Documentation for Roof Insurance Estimates: A Contractor's Field-to-Estimate System
How roofing contractors build estimates where every line carries its own proof — numbered photos, code sections, manufacturer instructions, and the carrier's own pages — while staying strictly on the documentation side of the line.
How to Request a Factual Roof Reinspection Without Overstepping
The reinspection gets granted on the strength of your documentation, not your opinion. Here is the contractor-safe way to ask for one, what to put in the packet, and the line that separates documenting from adjusting.
How to Improve Your Roofing Supplement Approval Rate
Supplement approvals are won on documentation and code citations, not arguments. Here is the contractor's system for getting more of yours approved the first time.