How to Target Hail Damage by ZIP Code: A Field Playbook for Roofing Contractors
On this page
Every storm-restoration roofer has lived the same painful afternoon. A hailstorm rolls through on a Tuesday. By Thursday, you have a map app open, a list of ZIP codes pulled from a weather report, and a crew of door-knockers standing in your parking lot waiting to be pointed somewhere. You point them at a ZIP code because it is the unit of geography you actually have data for. Three hours later they come back with two inspections booked and a lot of "we already signed with somebody." The ZIP code was real. The hail was real. But the way you targeted it left most of the money on the table.
Targeting hail damage by ZIP code is the right instinct and the wrong resolution. A ZIP code is a postal delivery convenience that can cover 30 square miles and 12,000 roofs. A hail swath does not respect postal boundaries. It cuts a diagonal ribbon a few miles wide across parts of three ZIP codes, hammers one subdivision, and leaves the cul-de-sac half a mile north completely untouched. If you treat the ZIP as the target, you send crews to thousands of doors where there is nothing to find, and you skip the streets that took golf-ball stones because they happened to sit in a different postal zone.
What follows is the working playbook the sharper storm teams use: how to read the official storm data, how to convert a hail report into an actual damage footprint, how to score neighborhoods inside a ZIP so you knock the right 600 doors instead of the wrong 6,000, how to build routes a crew can actually run, and how to layer in roof-age and per-roof storm modeling so you stop knocking 20-year-old shingles that ignored a pea-sized storm and start knocking the roofs that were already due. There are worked examples, the math behind hail size and damage thresholds, the legal lines you cannot cross, and the operational mistakes that quietly bleed margin out of a storm response.
Why the ZIP Code Is the Wrong Unit (and Why You Still Need It)
Start with the contradiction, because understanding it is what separates teams that print money after a storm from teams that burn diesel.
The ZIP code is the wrong targeting unit. The U.S. Postal Service designed ZIP codes to route mail efficiently, not to describe weather, property, or risk. A single five-digit ZIP can span urban and rural land, multiple municipalities, and tens of thousands of structures. Hail does not fall on ZIP codes. It falls in swaths driven by the storm's updraft, motion vector, and the freezing level in the atmosphere. So when you target "the whole ZIP," you are guaranteeing that a large share of your door-knocks land on undamaged roofs.
But the ZIP code is still the right operational unit for a few stubborn reasons. It is how your CRM segments territory. It is how you assign reps. It is how you pull permits and check past job density. It is how most homeowners describe where they live. And it is the level at which a lot of canvassing and mapping tools let you filter. So you do not throw ZIP codes away. You use them as the coarse container and then do the real work inside them: cutting the ZIP down to the streets the storm actually touched.
The mental model that works: the ZIP code tells you where to deploy; the hail swath tells you where to knock; the roof itself tells you whether it was due. Three layers, three resolutions. Most contractors only use the first one and wonder why their close rates are mediocre.
Step One: Read the Storm Data Like an Adjuster, Not a TV Viewer
Before you draw a single route, you need to know with reasonable confidence where hail of a damaging size actually fell. The TV meteorologist's "severe storms moved through the metro" is useless at the street level. You need the primary sources.
The NOAA Storm Prediction Center (SPC) storm reports
The SPC publishes daily storm reports compiling hail, wind, and tornado reports submitted by spotters, law enforcement, trained observers, and the public. Each hail report carries a location, a time, and a size estimate in inches. This is your raw material. A report of 1.75-inch hail (golf ball) at a specific lat/long at 4:47 PM is the kind of pin you build a swath around.
Know the limits, though. SPC reports are point reports. They under-sample rural areas where nobody is around to report, and they over-sample along highways and populated corridors. A blank spot on the map does not mean no hail fell there; it may mean nobody reported it. Treat the reports as evidence of where hail was, not proof of where it was not.
NWS Local Storm Reports (LSRs) and warnings
The local National Weather Service forecast offices issue Local Storm Reports and severe thunderstorm warnings with estimated hail size. Warnings are issued for the storm cell ahead of impact and often include a "radar indicated" hail size. These are predictive and probabilistic. They are good for knowing a cell could have dropped large hail along its path, but a warning is not confirmation that damaging hail reached the ground at any given address.
MESH and radar-derived hail size
The more advanced layer is radar-derived hail estimation. The Maximum Estimated Size of Hail (MESH) is an algorithm that infers hail size from dual-polarization radar data. Several commercial storm-data providers package MESH into swath maps and per-address "hail size at this location" reports. MESH is genuinely useful because it gives you continuous coverage instead of scattered point reports, so it fills in the rural gaps and shows you the shape of the swath.
But MESH is an estimate derived from what the radar saw aloft, not a measurement of what hit the ground. It can over-read in some storms and under-read in others, and it does not know about melting, wind drift, or the difference between a roof that shrugged off 1-inch hail and one that lost granules. Use MESH to define the swath shape and prioritize, never as a substitute for an on-roof inspection.
The size thresholds that actually matter for shingles
Not all hail damages roofs, and this is where a lot of inexperienced canvassers waste weeks. Pea- and marble-sized hail almost never functionally damages asphalt shingles. The damage threshold for typical 3-tab and architectural asphalt shingles generally begins around the 1-inch (quarter-size) range and climbs sharply from there, though it depends heavily on shingle age, brittleness, impact angle, and whether the storm carried wind.
Here is a working reference table the field crews can memorize:
| Common name | Diameter | Roof-damage potential (asphalt) |
|---|---|---|
| Pea | 0.25 in | Essentially none |
| Marble / mothball | 0.50 in | Cosmetic at most; soft metals may mark |
| Penny / dime | 0.75 in | Low; older brittle shingles may bruise |
| Quarter | 1.00 in | Threshold; functional damage becomes possible |
| Half dollar | 1.25 in | Moderate; bruising and granule loss likely on aged roofs |
| Golf ball | 1.75 in | High; functional damage common across shingle ages |
| Hen egg | 2.00 in | High; widespread bruising and mat fracture |
| Tennis ball | 2.50 in | Severe; near-universal functional damage |
| Baseball | 2.75 in | Severe; structural mat fractures, possible deck impact |
The practical takeaway: a storm that produced mostly half-inch hail with isolated quarters is a low-yield storm for asphalt roofs, even if the TV said "large hail." A storm that produced a coherent golf-ball-to-egg swath is a high-yield event, and your job is to find the exact ribbon where those stones fell. Targeting effort should scale with hail size. A 1.75-inch swath deserves a full canvassing push; a 1-inch fringe deserves a light, inspection-first approach because half your conversations will be with roofs that show old or marginal damage.
Interpolating between point reports when MESH isn't available
If you do not have a MESH product, you can still build a serviceable swath from SPC and LSR point reports plus the radar loop. Plot every hail report with its size as a labeled pin. Then pull the archived radar reflectivity loop for the storm window and watch the core track across the map. The hail reports will cluster along the path of the most intense reflectivity, often where the storm showed a strong reflectivity gradient or a hook. Draw your swath outline to connect the larger-size reports along that radar track, and treat the area between two large-hail pins along the same core path as probably-hit even if no one reported from there. This is interpolation, not measurement, so be conservative: weight confirmed large-hail pins heavily and treat the in-between zones as candidates to confirm with early scouting inspections rather than full deployments.
A useful field shortcut: send one or two scouts ahead of the canvass crews to do quick visual checks (gutters, downspout screens, soft-metal vents, AC condenser fins, window screens, and any exposed wood) on a handful of homes across the suspected swath. Dented soft metals and shredded screens are fast, reliable tells that damaging hail reached the ground at that location, and they let you confirm or correct your drawn swath before you commit thirty reps to it. Soft metals dent at smaller sizes than shingles bruise, so dented gutters with clean shingles can mean a marginal storm, while battered gutters plus granule piles at the downspouts means you are in the real footprint.
Reading the radar archive for storm motion and the wind field
The storm's motion vector tells you which way the swath runs and which roof slopes took the worst of it. Pull the archived radar and note the direction the core traveled and roughly how fast. Fast movers (say, 45-plus mph) tend to drive hail at a steeper horizontal angle, which pushes the ground footprint downwind and concentrates damage hard on the windward slopes. Slow movers dump more total ice in one place but with less drift. Knowing this before you deploy lets you pre-decide which side of each street to prioritize and warn reps which roof faces to inspect first.
Step Two: Turn Hail Reports Into a Damage Footprint
You now have point reports, warnings, and ideally a MESH swath. The next job is to convert that into a footprint you can hand to crews. This is where the craft lives.
Plot the swath, not the ZIP
Pull the SPC/LSR hail points and the MESH swath for the storm date and overlay them on a map that shows streets and parcels. The swath usually looks like a diagonal corridor, often running roughly with the storm motion, frequently southwest-to-northeast in much of the central and southern U.S. but it varies entirely by the day's wind field. Trace the outline of the area with 1-inch-plus hail. That outline, not the ZIP boundaries, is your primary target shape.
Now drop the ZIP boundaries on top. You will almost always see the swath clip the corners of several ZIPs. This immediately tells you which parts of which ZIPs to work and which parts to ignore. A ZIP that is 80% outside the swath is a ZIP you barely touch even though a naive "hail hit ZIP 75002" list would have sent crews across the whole thing.
Account for hail drift and the wind component
Hail rarely falls straight down in a severe storm. Strong horizontal winds drive stones at an angle, which means the functional damage footprint can shift downwind of where the radar core tracked, and it means damage concentrates on the windward roof slopes. Two consequences for targeting:
First, the ground footprint may be offset from the radar swath, sometimes by a noticeable margin in fast-moving, high-wind storms. Do not treat the MESH centerline as gospel; widen your interest zone on the downwind edge.
Second, when crews inspect, the windward slopes (typically the side facing the storm's approach) will show the heaviest impacts. A roof can look clean from the street on the leeward side and be hammered on the windward side. Train reps to factor this into how they pitch and inspect, and factor it into which side of a street you prioritize when the storm came from a consistent direction.
Layer in storm history
A neighborhood's targetability depends on more than the most recent storm. A roof that already absorbed a 1.25-inch hit two years ago and then took another 1-inch hit last week may show damage that pushes it over the line, while a roof that was replaced 18 months ago after the prior storm is a dead door. Repeat-hit corridors, the areas that take hail every couple of years, are simultaneously the best and the most picked-over markets. They are full of damaged roofs and full of competitors and homeowners who have been knocked a dozen times.
Step Three: Score Neighborhoods Inside the ZIP
Once you have the swath, you still have too many doors. A mid-sized swath can contain 8,000 roofs. You do not have the crew to knock all of them well, and you should not want to. You want to rank the streets so your best reps hit the highest-probability doors first while the storm is fresh and before the competition saturates.
Build a simple neighborhood score. You do not need a data science team; a spreadsheet and a few inputs get you most of the way.
The factors that actually predict yield
Hail size at the location. From MESH or interpolated from point reports. Weight this heavily. A street under 1.75-inch hail outranks a street under 1.1-inch hail every time.
Roof age / replacement likelihood. Older roofs damage more easily and are far more likely to convert to a full replacement rather than a repair-or-nothing inspection. A 16-to-22-year-old asphalt roof that took 1.25-inch hail is a much stronger door than a 4-year-old roof that took the same stones. This is the single most under-used factor in storm targeting, and it is the one most teams cannot see because they have no roof-age data. More on solving that below.
Roofing material. Asphalt shingle neighborhoods convert differently than tile, metal, or wood-shake areas. Asphalt is your bread and butter for hail. Know your material mix before you deploy, because a tile-heavy subdivision is a different sales motion and a different crew skill set.
Home value and ownership. Owner-occupied, mid-market neighborhoods generally convert better than very high-end (often property-managed or self-pay-resistant) or very low-end (often rentals, absentee landlords). This is a generalization; know your local market.
Competitive saturation. How many yard signs, how many permits already pulled, how many "we already signed" responses your early scouts hit. The first 72 hours after a storm, saturation is low and climbing fast.
Permit / past-job density. If you have pulled 40 permits in a subdivision over three years, you know the material mix, the build era (hence roof age), and you may have referral leverage.
A worked scoring example
Suppose a golf-ball swath clipped parts of three ZIPs. You break the swath into 14 named subdivisions and score each 1-5 on four factors, then weight them.
| Subdivision | Hail size (x3) | Roof age (x2) | Material fit (x2) | Saturation-inverse (x1) | Weighted score |
|---|---|---|---|---|---|
| Stonebridge | 5 (15) | 4 (8) | 5 (10) | 4 (4) | 37 |
| Oak Meadows | 4 (12) | 5 (10) | 5 (10) | 5 (5) | 37 |
| Highland Park | 5 (15) | 2 (4) | 4 (8) | 3 (3) | 30 |
| Cedar Crossing | 3 (9) | 5 (10) | 5 (10) | 4 (4) | 33 |
| Riverwalk | 2 (6) | 3 (6) | 2 (4) | 5 (5) | 21 |
Stonebridge and Oak Meadows tie at the top but for different reasons. Stonebridge took the biggest hail; Oak Meadows took slightly less but is an older, low-saturation, all-asphalt build that will convert hard. Both go to your A-team on day one. Highland Park took huge hail but is a newer build, so a meaningful share of those roofs are too young to show much, which is why its score drops despite the 5 on hail size. Riverwalk barely caught the swath edge and is a tile-and-metal mix; it gets a light inspection-only pass, not a full canvass.
This is the entire point of scoring: it stops you from treating every door in the swath as equal. Highland Park looks like the obvious target if all you have is a hail map. The roof-age layer is what reveals Oak Meadows as the better use of your best closers.
Why the weights are what they are
The weights in that table (hail size x3, roof age x2, material x2, saturation-inverse x1) are not arbitrary. Hail size gets the highest weight because if the hail was not large enough to damage shingles, nothing else matters; a perfect older all-asphalt neighborhood that only caught 0.75-inch hail is still mostly dead doors. Roof age and material each get a double weight because they are strong, independent predictors of whether a damaged roof converts to a full replacement rather than a marginal repair. Saturation gets a single weight because it changes hour by hour and you can partly beat it with speed, whereas you cannot change a roof's age or the hail it took. Tune these weights to your own close-rate data over a few storms; if your post-mortems show newer roofs converting better than expected in your market, lift the hail weight and trim the age weight. The scoring model is a starting hypothesis you sharpen with results, not a fixed formula.
Getting roof age and material without a tool
If you are doing this on public data alone, three sources approximate roof age and material at the neighborhood level. County assessor and parcel data usually carry the year the home was built, which, combined with knowledge of when that subdivision last took a hailstorm or a re-roof wave, gives a rough roof-age band. Your own permit-pull history tells you exactly which homes you or competitors re-roofed and when. And a slow drive-through with a trained eye reads material (asphalt versus tile versus metal) and rough roof condition (curling, granule loss, patched areas) street by street. None of this is as fast or as precise as per-roof age estimation from imagery, but a disciplined team can assemble a workable neighborhood score from it in an afternoon.
Step Four: Use Roof-Age and Per-Roof Storm Data to Find the Roofs That Are Due
This is the layer almost nobody operationalizes well, and it is where a tool like RoofPredict earns its place in the workflow. Everything above gets you to the right neighborhood. The last mile is figuring out which specific roofs on a given street were most likely pushed over the edge, so your reps spend their limited door-knocking hours on the houses most likely to convert.
Two independent things make a roof convert after hail: how hard the storm hit that specific roof, and how worn the roof already was when the storm arrived. A brand-new roof can shrug off hail that destroys a 20-year-old roof three doors down. So the highest-value targets are roofs where a real storm load met an already-aging roof.
What per-roof modeling adds
RoofPredict works at the individual-roof level rather than the ZIP or subdivision level. It estimates a roof-age range per address from aerial imagery, so instead of guessing "this subdivision is probably 18 years old," you get a per-roof age band that flags the houses most likely to be aging out. It also models storm physics per roof, layering the storm's hail and wind load onto each specific structure rather than painting a whole ZIP with one brush. The result is a ranking of which doors on a street are most likely due, combining "this roof was already getting old" with "this roof took a real hit."
In practice that means a rep walking Oak Meadows is not knocking all 240 houses in street order. They are knocking the 90 the model flags as oldest-and-hardest-hit first, while the storm is fresh and the homeowner is receptive. That is the difference between a rep booking 4 inspections in an afternoon and booking 9.
The honest limits
Be clear about what this kind of data does and does not do, because overselling it internally leads to sloppy fieldwork.
Roof age is a range, not a birth certificate. Aerial-imagery age estimation gives you a band (for example, "roughly 14 to 19 years") and flags relative oldness, not the exact install date. It is for prioritization, not for telling a homeowner their precise roof age.
Storm modeling produces odds, not proof. Per-roof storm physics tells you which roofs most likely took a damaging load. It is a targeting signal. It is not evidence of damage and it is not a substitute for a physical inspection. The only thing that documents damage is a rep on the roof or in the attic with their eyes and a camera.
No data layer replaces the inspection or the ladder. What it does is concentrate your finite door-knocking and inspection capacity on the roofs most likely to be real, so you stop wasting half your day on roofs that were never going to convert. Treat it as the scoring engine that turns a swath into a knock list, not as a claim about any individual roof.
Step Five: Build Routes a Crew Can Actually Run
A perfect target list dies in the field if the routing is sloppy. Reps waste enormous amounts of time driving between non-adjacent doors, doubling back, and parking. Tight routing can easily lift a rep's daily doors by 30-50% without working a minute longer.
Cluster, then sequence
Group the scored target doors into tight geographic clusters of roughly 60-120 doors, each cluster being a half-day of work for one rep. Within a cluster, sequence the doors so the rep walks a continuous loop, same side of the street down, cross at the end, other side back, rather than crisscrossing. The walking pattern matters more than people think; a rep on foot covers far more doors per hour than a rep who returns to the truck between houses.
Assign by skill, not only geography
Put your strongest closers on the highest-scored clusters. Put newer reps on the medium clusters with the densest, most uniform housing where reps and pitches are most interchangeable. Use the lowest clusters for inspection-only or for training runs. Matching rep skill to door quality is one of the cheapest yield levers available and almost nobody does it deliberately.
Time the knock to the storm
The first 24 to 72 hours after a storm is the highest-receptivity window. Homeowners have seen the storm, maybe found leaves and debris in the yard, and have not yet been knocked ten times or signed with anyone. Get your A-clusters worked in that window. The fringe and inspection-only clusters can wait a week. Saturation is the enemy; speed in the best neighborhoods is the antidote.
A day-one deployment example
Storm hits Tuesday evening. By Wednesday noon you have pulled SPC reports and a MESH swath, traced the footprint, scored 14 subdivisions, and built 22 clusters. Wednesday afternoon and Thursday, your six best reps each run two A-clusters per day in Stonebridge and Oak Meadows, the roof-age model ordering their door list within each cluster. By Friday the A-zones are largely worked and inspections are scheduled; the team shifts to B-zones (Cedar Crossing, the better parts of Highland Park) while inspections from day one start converting to signed jobs. The fringe ZIPs get a single inspection-only sweep the following week. That sequencing, best roofs first, fastest, is the entire economic engine of a storm response.
What Pros Get Wrong
The difference between a profitable storm chase and a money-losing one usually comes down to a short list of avoidable mistakes.
Knocking the whole ZIP. Already covered, but it is the number-one error, so it bears repeating. The swath is the target, not the postal boundary. Working the whole ZIP means most of your knocks land on dry roofs.
Chasing every storm regardless of hail size. A 0.75-inch storm is not worth a full deployment for asphalt roofs. Teams that mobilize for every severe warning burn their crews out and train them that most doors are dead. Save the full push for the swaths that crossed the 1-inch threshold with size to spare.
Ignoring roof age. Treating a 4-year-old subdivision and a 20-year-old subdivision as equal because they took the same hail wastes your best reps on roofs that will not convert. Roof age is the multiplier on hail size.
Mistaking the radar swath for the ground truth. MESH and warnings estimate hail aloft. Wind drift, melting, and storm motion move and modify the ground footprint. Build in a margin, especially downwind, and let inspections correct the map.
Saturating slowly. Working low-priority neighborhoods first while competitors lock down the prime subdivisions is a classic unforced error. Sequence best-first and move fast.
Over-relying on any single data source. SPC under-samples rural areas. MESH estimates. Roof-age ranges are bands. None of these is ground truth alone. The pros triangulate: storm data to find the swath, roof data to rank the doors, and inspections to confirm reality.
Letting routing eat the day. A great list with bad routing produces mediocre numbers. Cluster and sequence tightly.
The Legal and Ethical Lines You Cannot Cross
Storm restoration sits inside a regulated space, and the way you target and pitch matters legally as much as commercially. The exact rules vary by state, so treat the following as principles to verify with your own counsel and state regulators, not as legal advice.
You document conditions and provide estimates; the insurer decides coverage; the homeowner owns the claim. Your role as a contractor is to inspect, document what you find, and provide a repair or replacement estimate. The carrier's adjuster determines what is covered. The homeowner is the policyholder and the decision-maker. Many states have public adjuster and unauthorized-practice rules that restrict contractors from negotiating or adjusting claims on the homeowner's behalf. Stay on the documentation-and-estimate side of that line.
Do not promise specific claim outcomes or deductible handling. Promising that a roof "will be approved," or offering to absorb, waive, or rebate a homeowner's insurance deductible, runs into insurance-fraud and consumer-protection statutes in many states. Avoid "free roof" pitches that imply the homeowner pays nothing; they frequently cross legal lines and they erode trust.
Do not present a forecast or a storm model as proof of damage. Storm data, including any per-roof storm modeling, indicates odds and helps you target. It is not evidence that a specific roof is damaged. Damage is established by inspection. Pitching a homeowner on "the data shows your roof is damaged" before anyone has been on the roof is both inaccurate and a compliance problem.
Follow door-to-door and solicitation rules. Many jurisdictions require solicitor permits, observe no-knock registries, and enforce cooling-off / right-to-cancel periods on in-home contracts. Federal rules generally provide a three-day right to cancel for many door-to-door sales. Know the local ordinances in every municipality your swath crosses; a ZIP that spans three cities may carry three different sets of solicitation rules.
Be honest in inspection and documentation. Manufacturing or exaggerating damage is fraud. Document what the roof actually shows. Your long-term business depends on adjusters and carriers trusting your inspections.
The Inspection: Where Targeting Becomes Proof
Every layer above is a hypothesis. The roof inspection is the only thing that turns a hypothesis into a documented condition you can stand behind with a homeowner, an adjuster, and a carrier. Targeting wins you the opportunity to inspect the right roofs first; the inspection wins the job. Sloppy inspection work after great targeting is a common way teams underperform their door numbers.
What functional hail damage on asphalt actually looks like
Train every rep and inspector to distinguish functional damage from cosmetic wear and from things that mimic hail. Functional hail bruising shows as round impact marks where granules are knocked away and the underlying mat is bruised; pressing a bruise often feels soft, like the spot has lost integrity, and over time these spots fracture and let water in. Random, circular, and roughly uniform in size across a slope is the hail signature. Distinguish that from blistering (raised bumps from manufacturing or heat, not impact), foot-traffic scuffing (linear, near walk paths), mechanical damage, and normal aged granule loss (uniform thinning rather than discrete impacts). Adjusters look hard for these distinctions, and a rep who flags blistering as hail loses credibility fast.
A consistent inspection sequence
Run the same sequence every time so nothing gets missed and your documentation is uniform across reps. Start at ground level with the soft-metal collateral (gutters, downspouts, vents, flashings, AC fins, mailbox, fence caps) because those confirm hail reached the ground and give a size read. Then inspect the most exposed elevation first, usually the windward slope, then work the remaining slopes. Check the roof field for impact marks, then the ridges, the vents and pipe boots, and the valleys. Document with dated, geotagged photos: a wide shot establishing the address and slope, then close-ups with a marker or chalk circle and a coin or chalk line for scale. Note the test-square density of hits if your market documents that way. Consistent, honest documentation is what makes your inspections trusted over many storms, and trust with adjusters is a durable competitive advantage.
Safety is non-negotiable
Storm roofs are wet, may have hidden deck damage, and your crews are on them all day for weeks. Follow fall-protection practice, watch for soft or fractured decking after large hail, and do not let production pressure push reps onto roofs in unsafe conditions. A single fall costs more than any storm earns.
Closing the Loop: Measure, Learn, Re-Score
The teams that compound an advantage over many storms are the ones that treat each storm as data for the next one. After a storm response winds down, run a short post-mortem keyed to the things you can change.
Track close rate by subdivision and compare it to the score you assigned. Where did a high-scored neighborhood underperform, and why, was it saturation, a wrong material read, roofs younger than you assumed? Track close rate by data signal: did the roofs your age-and-storm model ranked highest actually convert at a higher rate than the rest? If yes, lean harder on that ranking next time; if the lift was small, find out whether the model or the fieldwork was the weak link. Track doors-per-rep-per-day by cluster to find where routing or assignment broke down. Track inspection-to-signed conversion to separate a targeting problem (right roofs, weak inspections) from a targeting win (right roofs, strong close).
Feed every finding back into your weights and your process. Over four or five storms, a team that does this builds a market-specific scoring model that beats any generic playbook, because it is tuned to how your neighborhoods, your reps, and your local carriers actually behave. That feedback loop, not any single data source, is the real moat in storm restoration.
Putting It Together: A Repeatable Storm-Response Checklist
When the radar lights up, you want a process you can run the same way every time, fast, under pressure. Use this as your standard operating procedure.
- Confirm the event. Pull SPC storm reports, NWS Local Storm Reports, and warnings for the date. Note hail sizes and times.
- Get the swath. Obtain or build a MESH / hail-swath map. Trace the 1-inch-plus footprint.
- Filter by size. If the swath is mostly sub-1-inch hail, scale your response down to inspection-only. If it crossed golf-ball-plus, prepare a full deployment.
- Overlay ZIPs and parcels. Identify which parts of which ZIPs the swath actually crosses. Discard the parts outside the swath.
- Account for drift. Widen the downwind edge of your interest zone to catch wind-driven impacts.
- Break into subdivisions. Segment the swath into named neighborhoods.
- Score each subdivision on hail size, roof age, material fit, value/ownership, and saturation. Weight hail size and roof age most heavily.
- Rank doors within neighborhoods using per-roof roof-age range and storm modeling so reps knock oldest-and-hardest-hit first.
- Cluster into half-day routes of 60-120 sequenced doors each.
- Assign by skill. Best closers on A-clusters, newer reps on uniform B-clusters, inspection-only on fringe.
- Deploy fast. Work A-zones inside the 24-72 hour high-receptivity window.
- Inspect to confirm. Every signal is a hypothesis; the roof inspection is the proof. Document honestly.
- Stay compliant. Verify solicitation rules per municipality; never promise claim outcomes, never touch deductibles improperly, never pitch a forecast as proof.
- Feed results back. Track close rate by subdivision and by data signal so next storm's scoring is sharper.
The Economics: Why Door Order Is Most of the Margin
It helps to make the economic case explicit, because it is what justifies every step of the targeting work. A storm-restoration rep has a finite number of productive door-knocking hours before a swath saturates. Call it roughly a one-to-two-week window in the prime neighborhoods before competitors and homeowner fatigue close it. Inside that window, the rep can knock a fixed number of doors well. The only variable you control is which doors fill that fixed capacity.
Work a simple comparison. Two reps each knock 60 quality doors a day for five days, 300 doors apiece. Rep A knocks in house-number order across the whole ZIP, so maybe a third of those doors sit on roofs that were too young or took too little hail to convert; the rest are a mix. Rep B knocks a swath-filtered, age-and-storm-ranked list, so the great majority of doors sit on older roofs that took real hail. Even if both reps are equally skilled and pitch identically, Rep B is having far more conversations with homeowners whose roofs will actually inspect as damaged. The targeting did not make Rep B a better salesperson; it made every hour of Rep B's identical effort land on a roof more likely to convert. Across a six-rep crew over a storm season, that ordering difference is the gap between a profitable year and a break-even one.
This is why "how to target hail damage by ZIP code" is ultimately a question about door order, not about which ZIP. The ZIP gets you to town. The swath gets you to the streets. The roof data gets you to the doors, in the order that fills your finite capacity with the highest-probability roofs. Every layer is just a finer cut on the same scarce resource: your reps' productive hours during the saturation window.
Working a Full Hail Season, Not a Single Storm
Most storm markets get multiple events across a season, and the targeting strategy compounds when you think across storms rather than treating each as a fresh start. A neighborhood that took marginal 1-inch hail in May and then 1.5-inch hail in July may now have roofs pushed over the line that neither storm alone would have converted; your repeat-hit map flags exactly those compounding corridors. Conversely, a subdivision you fully worked and re-roofed in May is a dead zone in July even if it took bigger hail, because the roofs are new. Maintaining a running map of what you (and competitors, via permits and yard signs) have already re-roofed keeps you from re-canvassing converted streets and points you at the corridors that have aged or accumulated damage since your last pass.
Season-level thinking also changes how you treat fringe and marginal storms. A 1-inch fringe storm that is not worth a full deployment on its own may be worth a light inspection sweep if it landed on a corridor already softened by a prior storm or already full of aging roofs. The roof-age layer is what lets you make that call street by street instead of writing off the whole event.
A Note on Tools and Where the Data Comes From
You can run a respectable version of process this with free public data and a mapping tool: SPC and NWS reports for the swath, county parcel data for material and value, your own permit history for past jobs, and a routing app for clustering. That gets a disciplined team a long way and costs almost nothing but labor.
Where paid tools earn their keep is the two layers public data does not give you cleanly: a continuous hail-swath estimate (MESH-based providers) and per-roof roof-age and storm modeling. The first sharpens where the swath is. The second sharpens which doors inside it are due, which is exactly the resolution problem the ZIP code creates. A platform like RoofPredict sits in that second slot, turning the swath into a per-address knock list ranked by which roofs were already aging out and which ones the storm most likely loaded. It does not knock the doors, inspect the roofs, or decide claims. It tells your crew which roofs to look at first, and on a fresh storm with a saturation clock running, the order you knock in is most of the game.
The roofers who win storms are not the ones with the most reps or the loudest ads. They are the ones who turned a fuzzy ZIP-level hail report into a sharp, ranked, well-routed list of the specific roofs the storm actually wore out, and got there first. That is what targeting hail damage by ZIP code really means once you stop treating the ZIP as the target and start treating it as the starting point.
FAQ
Why isn't targeting by ZIP code accurate for hail damage?
ZIP codes are postal delivery zones that can cover dozens of square miles and thousands of roofs. Hail falls in narrow swaths a few miles wide that cut diagonally across parts of several ZIPs. Targeting a whole ZIP sends crews to thousands of undamaged roofs while missing damaged streets in adjacent ZIPs. Use the ZIP to decide where to deploy, then work the hail swath inside it.
What hail size actually damages asphalt shingle roofs?
Functional damage to typical asphalt shingles generally begins around 1 inch (quarter-size) and rises sharply from there. Pea and marble hail is essentially harmless to shingles. Golf-ball (1.75 inch) and larger hail commonly causes functional damage across shingle ages. Older, more brittle roofs can be bruised by smaller stones, which is why roof age matters as much as hail size.
Where do I find official hail data to build a swath?
Start with NOAA's Storm Prediction Center daily storm reports and the National Weather Service Local Storm Reports and warnings, which give point reports with location, time, and estimated hail size. For a continuous swath shape, use MESH (radar-derived hail size) maps from commercial storm-data providers. Remember these estimate hail aloft, not damage on the ground, so confirm with inspections.
What is MESH and can I trust it?
MESH stands for Maximum Estimated Size of Hail, an algorithm that infers hail size from dual-polarization radar. It is valuable because it gives continuous coverage and reveals the swath shape, filling gaps where no one filed a ground report. But it is an estimate of hail in the atmosphere and can over- or under-read. Use it to define and prioritize the swath, never as proof that a specific roof is damaged.
How do I know which neighborhoods inside a swath to knock first?
Score each subdivision on hail size at the location, roof age, roofing material fit, home value and ownership, and competitive saturation. Weight hail size and roof age most heavily. An older all-asphalt subdivision that took 1.25-inch hail often converts better than a newer subdivision that took larger hail, because aged roofs damage more easily and are likelier to need full replacement.
How does roof age change my targeting?
Roof age is the multiplier on hail size. A 4-year-old roof can shrug off hail that destroys a 20-year-old roof on the same street. The best targets are roofs where a real storm load met an already-aging roof. Per-roof roof-age estimates from aerial imagery let you rank doors so reps knock the oldest, hardest-hit roofs first instead of walking a street in house-number order.
Does storm modeling prove a roof is damaged?
No. Storm modeling, including per-roof hail and wind physics, produces odds, not proof. It tells you which roofs most likely took a damaging load so you can prioritize. It is a targeting signal only. Damage is established by a physical inspection on the roof or in the attic. Pitching a homeowner that data proves their roof is damaged before inspection is both inaccurate and a compliance risk.
What's the right time window to knock after a hailstorm?
The first 24 to 72 hours after the storm is the highest-receptivity window. Homeowners have seen the storm and have not yet been knocked repeatedly or signed with a competitor. Work your highest-scored neighborhoods inside that window with your best closers, and push fringe and inspection-only areas to the following week. Saturation climbs fast, so speed in the prime areas is decisive.
How do I route crews efficiently across a swath?
Cluster scored target doors into tight groups of roughly 60-120 doors, each a half-day for one rep. Sequence each cluster as a continuous walking loop rather than crisscrossing, and keep reps on foot between adjacent houses. Assign your strongest closers to the highest-scored clusters and newer reps to uniform medium clusters. Tight routing can lift daily doors by 30-50% with no extra hours.
What legal lines must I respect when canvassing storm damage?
Document conditions and provide estimates, but let the insurer decide coverage and the homeowner own the claim; many states restrict contractors from adjusting or negotiating claims. Never promise claim approval, never improperly waive or absorb deductibles, and never pitch a forecast as proof of damage. Follow each municipality's solicitation permits, no-knock registries, and right-to-cancel rules, since one swath can cross several jurisdictions. Verify specifics with counsel.
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
- NOAA Storm Prediction Center Storm Reports — spc.noaa.gov
- National Weather Service Local Storm Reports — weather.gov
- NOAA National Severe Storms Laboratory: Hail Basics — nssl.noaa.gov
- Insurance Institute for Business & Home Safety (IBHS) Hail Research — ibhs.org
- National Roofing Contractors Association (NRCA) — nrca.net
- NOAA National Centers for Environmental Information Storm Events Database — ncdc.noaa.gov
- U.S. Census Bureau ZIP Code Tabulation Areas (ZCTAs) — census.gov
- International Code Council (ICC) / International Residential Code — iccsafe.org
- OSHA Fall Protection in Construction — osha.gov
- Federal Trade Commission: Buyer's Right to Cancel (Cooling-Off Rule) — ftc.gov
- Texas Department of Insurance: Roofing and Storm Claims — tdi.texas.gov
- National Association of Insurance Commissioners (NAIC) Consumer Resources — naic.org
- NOAA Hazardous Weather and Hail Climatology — ncei.noaa.gov
- RoofPredict — roofpredict.com
Related Articles
Which Roofs Likely Qualify for a Storm Claim Before You Inspect
A field method for ranking which roofs are worth inspecting after a storm, before you climb a single ladder, and how to document the ones that hold up.
How to Find the Worst-Hit Streets After a Storm (Field-Tested Workflow)
A practitioner's playbook for narrowing a storm footprint down to the exact blocks worth knocking, hour by hour, without burning your crew on dead streets.
How to Document Wind Damage to Shingles for an Insurance Estimate (Field Workflow for Roofers)
A practitioner's playbook for capturing wind damage to shingles the way an insurance estimate needs it documented, from the ground walk to the test square to the final report.