How to Find Storm-Damaged Roofs From Aerial Imagery: A Field-Tested Workflow for Roofing Crews
On this page
The morning after a hailstorm, two roofing companies work the same zip code. One sends a sales crew to drive grids, knock every door, and hope the homeowner lets them on the roof. The other pulls aerial imagery first, marks the streets where shingles are already curling and where the hail core actually tracked, and sends three reps to forty pre-sorted addresses. By noon the first company has knocked sixty doors and signed two inspections. The second has signed eleven. Same storm, same neighborhood, same product. The difference was reading the roofs before driving to them.
Aerial imagery has quietly become the cheapest, fastest filter a storm-restoration team has. You can look at a roof from 400 feet, or from a satellite 400 miles up, and learn enough to decide whether it's worth a ladder. Not everything shows from the air, and anyone who tells you they can confirm hail bruising from a satellite photo is selling you something. But there's a real, repeatable skill here, and most crews are leaving it on the table because nobody taught them how to actually read the pixels.
What follows is the workflow practitioners use: where the imagery comes from, what each resolution can and can't show you, how to triage a whole neighborhood in an hour, what damage signatures actually look like from above, and how to turn all of that into a knock list your reps will thank you for. It's written for the person who has to put crews on roofs and make payroll, not for a software demo.
Why Aerial Imagery Beats Driving the Grid
Driving grids is how the trade has always found work after a storm. It still works. It's also slow, expensive, and blind. A rep in a truck sees the front slope of a roof from street level, at a bad angle, often blocked by trees, gutters, and the porch overhang. The back slope, the side that faced the storm, the side where most wind and hail damage concentrates, is invisible from the curb. You knock the door anyway, and you find out whether there's damage only after you've climbed up.
Aerial imagery flips the order of operations. You qualify the roof first, then spend your expensive labor, the ladder time and the conversation, only on roofs that earned it. Three things change when you do this:
You see all the slopes. Overhead and oblique imagery show you the back and side faces a truck never will. The storm-facing slope is usually where the story is.
You see the whole neighborhood at once. Damage isn't random. Hail falls in swaths, wind funnels down certain streets, and roofs of the same age and material tend to fail together because the builder put them up the same year with the same product. When you can see two hundred roofs in one frame, the pattern jumps out.
You stop wasting reps on dead streets. Half of grid-driving is knocking houses with new roofs, metal roofs, tile, or no damage at all. Imagery lets you cross those off before anyone gets out of the truck.
The trade math is simple. A door-knock rep costs you something every hour whether they sign anything or not. If imagery cuts the share of dead doors from half to a fifth, you've roughly doubled the productive output of the same headcount without hiring anyone. That's the whole pitch, and it holds up in the field.
The Four Sources of Aerial Imagery (and What Each Costs You)
Not all aerial imagery is the same, and the differences decide what you can actually see. There are four practical sources, ordered roughly from cheapest-and-coarsest to most-expensive-and-sharpest.
1. Free Satellite and Map Imagery
This is the imagery already on your phone: the satellite layer in mapping apps, county GIS parcel viewers, and public aerial photo services. It's free, it covers everywhere, and it's the right starting point for neighborhood-level triage.
The catch is resolution and recency. Free satellite imagery is typically in the range of 0.5 to 1 meter per pixel for the consumer layers, sometimes better in dense metros. At that resolution a whole shingle is a smear. You will not see hail bruising, you will not count damaged tabs, and you often won't tell a 3-tab from an architectural shingle. What you can see: roof shape and slope layout, obvious tarps and patches, missing sections, color differences between a faded old roof and a fresh one, and whether the structure is even a candidate (asphalt shingle vs. metal vs. tile vs. flat).
Recency is the bigger trap. Free imagery can be months or years old. The photo you're looking at may predate the storm entirely. Always check the capture date if the source shows one, and never treat free satellite as post-storm evidence of anything.
2. High-Resolution Aerial Imagery Providers
A tier up are the commercial aerial imagery providers that fly fixed-wing aircraft on scheduled passes and sell access to sharp overhead and oblique views, often down to 3 to 6 inches per pixel (roughly 7 to 15 cm). At three inches per pixel you can resolve individual shingles, see granule-loss patterns as color mottling, spot creased and lifted tabs, count damaged ridge caps, and measure slopes accurately enough to estimate squares.
Obliques, the angled views from the four compass directions, are the underrated feature here. An overhead shot flattens everything; an oblique lets you see the pitch, the rake and eave edges, and the way light catches a dented metal vent or a bruised slope. Pros who get good at this learn to read the oblique the way an inspector reads a roof from the ground before climbing.
These providers typically charge per property or per subscription. The cost is real but small next to a ladder visit, and the imagery is usually refreshed on a known cadence in populated areas.
3. Drone Imagery You Capture Yourself
A drone is the highest-control option. You fly it when you want, so recency is whatever you make it, and consumer drones now shoot high enough resolution that you can capture sub-inch detail on a single roof. For a specific property, a drone beats almost everything: you can orbit the structure, get close obliques, shoot the storm-facing slope head-on, and capture imagery clean enough to document conditions for an estimate.
The limits are coverage and rules. A drone inspects one roof at a time, so it's a confirmation and documentation tool, not a neighborhood triage tool. And in the United States, flying a drone for any business purpose, including roofing inspections, requires the remote pilot to hold an FAA Part 107 certificate and to follow the operating rules: stay under 400 feet above ground, keep the aircraft within visual line of sight, avoid controlled airspace without authorization, and don't fly over people who aren't part of the operation. Treat Part 107 as non-negotiable; an uncertified "inspection flight" is a liability you don't want when something goes wrong.
4. Modeled and Derived Data Layers
The fourth source isn't a photo at all. It's data derived from imagery and other inputs: roof outlines and square-footage measurements generated from aerial photos, estimated roof age ranges inferred from imagery and parcel records, and storm-exposure models that estimate which roofs caught the worst of a given hail or wind event. This layer is where the workflow gets interesting, because it lets software do the first pass of triage across thousands of roofs and hand you a sorted list. We'll come back to it, because it's where a tool like RoofPredict fits, and where most of the time savings actually live.
What You Can Actually See at Each Resolution
This is the part crews get wrong most often, so it's worth a hard look. Resolution, measured as ground sample distance (GSD, the real-world size of one pixel), determines what's visible. Here's a working reference built from how these scales behave in practice:
| Ground sample distance | Source | What you can reliably read |
|---|---|---|
| ~0.5 to 1 m / pixel | Free satellite, consumer map layers | Roof footprint, slope layout, roofing material category, tarps, large missing sections, faded-vs-fresh color, neighborhood patterns |
| ~15 to 30 cm / pixel | Mid-grade aerial | Ridge lines, valleys, penetrations, large debris, displaced shingle courses, obvious wind streaking |
| ~7 to 15 cm / pixel | High-res commercial aerial | Individual shingles, granule-loss mottling, creased and lifted tabs, damaged ridge caps, hail spatter on soft metals (sometimes), accurate slope measurement |
| ~1 to 5 cm / pixel | Close drone | Single-shingle detail, mat exposure, bruising shadows in raking light, vent and flashing condition, documentation-grade close-ups |
A few hard truths that go with this table:
Hail bruising rarely shows from above, even at high resolution. A hail bruise is a soft spot where the granules are knocked loose and the mat is fractured underneath. From overhead it often reads as nothing or as faint mottling. The way you confirm bruising is still by hand on the roof, feeling for the soft spot and looking at it in the right light. Aerial imagery tells you which roofs are worth feeling, not which ones are bruised.
Granule loss shows up as color change, not as texture. When a storm strips granules, the exposed asphalt mat is darker and shinier than the surrounding shingle. From the air this looks like blotchy discoloration, often concentrated on the storm-facing slope or below where water sheets and carries loose granules. It's a strong tell, but sun angle and shadow can fake it, so corroborate before you commit.
Wind damage is the most aerial-friendly signature. Creased, lifted, folded, and missing shingles cast shadows and break the regular course pattern, and those are exactly the things imagery is good at. Wind damage is where overhead and oblique views earn their keep.
Sun angle is your friend and your enemy. Low-angle light, early or late in the day, rakes across the roof and exposes texture: a lifted tab throws a shadow, a dent in a metal vent catches a highlight. Harsh overhead noon light flattens everything and hides the same features. When you have a choice of imagery captures, prefer the raking-light frame for damage reading and the flatter frame for clean measurement.
A Repeatable Neighborhood Triage Workflow
Here's the actual sequence to go from "a storm hit somewhere in our market" to "here are forty doors, in this order, knock them today." It's built to run in well under an hour for a typical neighborhood once you've done it a few times.
Step 1: Define the Storm Footprint
Before you look at a single roof, figure out where the storm actually went. Pull the storm reports for the date and area from the public weather record: the Storm Prediction Center's storm reports and the National Weather Service local office both publish hail and wind reports with locations and, for hail, estimated stone sizes. NOAA's storm event records and the SPC reports give you a defensible map of where hail was reported and how big.
The goal is a rough swath: the band of streets the hail core or the damaging wind tracked through. Hail damage concentrates along the core path, and intensity drops off fast at the edges, so a neighborhood half a mile outside the swath may have almost nothing while one inside it is hammered. Don't skip this step. Reading roofs without knowing where the storm went is how crews waste a day on a street the storm missed.
Step 2: Overlay the Footprint on the Neighborhood
Now put the swath on a map of your target neighborhoods and identify the streets that fall inside it. This is your candidate set. Everything outside the swath is lower priority by default, though storms are messy and edges matter, so don't hard-cut.
Step 3: Pre-Filter by Roof Type and Age
Inside the candidate streets, knock out the roofs that aren't worth your time before you look closely:
- Material: Metal, tile, and slate behave nothing like asphalt shingle and usually aren't your job. Flag and skip the obvious ones, visible even on free imagery.
- Obvious newness: A roof that's clearly fresh, uniform dark color, sharp edges, no fading, was probably done recently and won't have aged-out damage worth chasing.
- Age signal: This is where aerial imagery plus parcel data starts to pay off. An older asphalt roof is more vulnerable to storm damage and closer to the end of its service life, which means a marginal storm hit is more likely to tip it into replacement territory. You can't read exact age from a photo, but faded color, curling visible in obliques, patched sections, and moss or staining all point to an older roof. Combined with parcel records and modeled age estimates, you can sort streets by how aged-out they skew.
Step 4: Read the Storm-Facing Slopes
For each surviving candidate, look at the slope that faced the storm. If the wind came out of the southwest, the southwest-facing slopes took the brunt, so pull the oblique that looks at those faces. Scan for the signatures: shadow-casting lifted or creased shingles, broken course lines, color mottling that suggests granule loss, displaced ridge caps, debris, and tarps or patches that show prior trouble. Mark each candidate as strong, maybe, or pass.
Step 5: Build the Sorted Knock List
Turn your marks into a route. The strong candidates go first, clustered geographically so reps aren't crisscrossing the neighborhood. The "maybes" fill gaps between strong clusters so reps stay productive. Passes come off the list entirely. The output is a sequence of addresses, in driving order, with a note on each about what you saw from the air, so the rep knocks with something specific to say.
That last detail matters more than people expect. A rep who knocks and says "we're inspecting roofs in the area" sounds like every other knocker. A rep who says "we flew the neighborhood after Tuesday's storm and the back slope of your roof is showing some lifting we'd like to take a closer look at" sounds like someone who already did their homework, because they did.
Reading the Roof: Damage Signatures From Above
Let's get specific about what each kind of damage looks like in imagery, because "look for damage" is useless advice. Here's the field guide.
Wind Damage
Wind is the most readable signature from the air. Look for:
- Creased shingles: A shingle that got lifted and folded back leaves a horizontal crease line and often a shadow. In a regular shingle field, a crease breaks the pattern.
- Missing shingles and tabs: Gaps where the darker underlayment or decking shows through. These are unmistakable even at mid resolution.
- Lifted and curled tabs: In oblique, raking light, lifted tabs throw small shadows along their lower edge. A slope speckled with little shadows is a slope full of lifted tabs.
- Directional streaking: Wind damage usually has a direction, concentrated on the windward slope and along edges and the ridge where uplift is strongest. A whole row of trouble along one rake edge is a classic wind pattern.
- Displaced ridge and hip caps: The caps sit proud of the field, so they're hit first and show as broken or shifted lines along the ridge.
Hail Damage
Hail is the hard one, and honesty matters here. The bruise itself, the fractured mat under loosened granules, mostly doesn't show from overhead. What can show:
- Granule-loss mottling: Blotchy darker patches where granules were knocked free, exposing asphalt. Strongest on the storm-facing slope. This is your best aerial hail tell, but it's easy to confuse with shadow, ponded discoloration, or algae streaking, so treat it as a flag, not a finding.
- Spatter marks on soft metals: Hail leaves bright dents and clean spots on oxidized metal, on vents, flashing, gutters, and soft metal accessories. At high resolution these sometimes resolve as bright speckling. Their direction also tells you which way the hail came in.
- Collateral damage: Dented gutters, damaged screens, cracked skylights, and beaten-up roof accessories are corroborating evidence that hail of a damaging size came through, even when the shingle field looks ambiguous.
The rule with hail: imagery narrows the field; the hand on the roof confirms it. Any workflow that claims to confirm hail bruising from a satellite is overpromising.
Age and Wear (the Quiet Opportunity)
Not all of your best doors are storm-damaged. Some are just old enough that the storm was the final straw, and some are simply due. From the air, an aging asphalt roof reads as:
- Faded, washed-out color compared to neighbors, granule loss over years dulls the surface.
- Curling and cupping at tab edges, visible in obliques as a rippled rather than flat field.
- Patchwork of different-colored sections from prior repairs.
- Moss, algae streaking, and staining, especially on north-facing slopes, signs of a roof that's been up a long time and holding moisture.
A roof in the back third of its service life that takes even a moderate hit is a far better prospect than a five-year-old roof that took a hard one, because the older roof is closer to the line where replacement makes sense. Reading age from the air, even as a rough range rather than an exact number, is how you find the roofs that are due, beyond the roofs that obviously got hit.
Where Modeled Per-Roof Data Fits: Using RoofPredict
Everything above is doable by hand, and good crews do it by hand. The problem is time. Defining the storm swath, overlaying it, pre-filtering by material and age, reading slopes one by one across a few hundred roofs, that's a real chunk of someone's day, every time a storm rolls through. It doesn't scale past a person staring at a screen.
This is where derived, per-roof data earns its place. RoofPredict is built to do the first pass of that triage across a whole market and hand you a sorted list, so your people spend their time on roofs and conversations instead of on map-staring. Two things it models are exactly the two filters from the workflow above:
A roof-age range per address, from aerial imagery. Instead of eyeballing fade and curl roof by roof, you get an estimated age range for each address, derived from imagery and records. It's a range, not a birth certificate, no one can read an exact install date off a photo, but a range is enough to sort streets by how aged-out they skew and to surface the roofs that are due regardless of the latest storm.
Storm physics modeled per roof. Rather than a single swath drawn around a neighborhood, the storm exposure is estimated per individual roof, accounting for what each specific structure caught. The output is closer to "these roofs, on these streets, took the worst of this event," which is the per-roof version of Step 1 and Step 4 combined.
Put those together and you get what the manual workflow is trying to produce: a ranked list of which roofs are due, the ones the storm wore out and the ones aging out, sorted so crews knock the doors most likely to turn into work. It ranks doors and routes; it doesn't replace the ladder.
Be clear-eyed about the limits, because the honest version is the useful version. Modeled age is a range, not a confirmed date, and you treat it that way in conversation. Modeled storm exposure is odds, an estimate of which roofs likely caught the worst, not proof that any specific roof is damaged. None of it confirms hail bruising; that's still a person on the roof. And it's not a lead-buying service, it doesn't hand you homeowners who asked to be called; it tells you which doors are worth knocking and in what order. The value is sequencing your existing sales motion so the expensive parts, ladder time and rep conversations, land on the roofs that earned them. Used that way, it turns the hour of manual triage into a list you can hand a rep before coffee.
It also keeps you on the right side of the line. The roofer's job is to inspect, document the conditions, and prepare an honest estimate. The insurer decides what's covered. The homeowner owns their claim and their decision. Per-roof data helps you find and document conditions efficiently; it doesn't decide coverage and it shouldn't be pitched as if it does.
Oblique vs. Overhead: How to Use Both
Most people start with the overhead (nadir) view because it's what mapping apps show by default. For damage reading, the oblique view is usually more valuable, and understanding why changes how you work.
An overhead shot looks straight down. It's perfect for measurement, footprint, slope layout, and counting squares, because there's no perspective distortion across the flat plane of the roof. What it's bad at is texture and edges. Looking straight down, a lifted shingle and a flat one can look nearly identical, because the lift is happening in the dimension the camera can't see. The shadow that would reveal it is hidden underneath the tab.
An oblique shot looks at the roof from an angle, typically from the four cardinal directions. Now you're seeing the roof in profile, and every vertical feature, a lifted tab, a creased shingle, a dented vent, a bowed ridge, suddenly has depth and casts a readable shadow. The oblique is how you read condition; the overhead is how you read geometry.
The practical move is to use them together in sequence. Pull the overhead first to understand the roof: how many slopes, which way they face, where the valleys and penetrations are, roughly how many squares. Then pull the oblique that looks at the storm-facing slope to read condition. If a high-res source gives you all four obliques, the one shot from the direction the storm came out of is your money frame, because it looks straight into the slope that took the worst exposure.
A subtle point that trips people up: obliques are named by the direction the camera is looking from, not the direction it's pointing. A "north oblique" is shot from the north looking south, so it shows you the north-facing slopes. Get this backward and you'll keep pulling the wrong face. Spend five minutes confirming the convention in whatever tool you use before you build a workflow on top of it.
Reading Color: The Granule-Loss Signal in Depth
Granule loss is the single most useful color signal in aerial damage reading, and it's worth understanding what you're actually looking at so you stop getting faked out.
An asphalt shingle is a fiberglass or felt mat saturated in asphalt, with a layer of mineral granules embedded on top. The granules are the shingle's sunscreen and its color. When they're knocked loose, by hail impact, by years of weathering, or by water sheeting down the slope, the darker asphalt mat shows through. From the air, that reads as the surface getting darker, blotchier, and shinier in patches.
The storm pattern and the age pattern look different, and learning to tell them apart is a real skill:
- Storm granule loss tends to be concentrated and directional: heavier on the storm-facing slope, sometimes in a spatter pattern, often paired with mechanical damage like creased tabs nearby. It looks like something happened to one part of the roof.
- Age granule loss tends to be uniform and gradual: the whole roof fades evenly, dulls, and washes out compared to newer neighbors. It looks like the whole roof got tired at the same rate.
- Water-track discoloration follows drainage: darker streaks running straight downslope, heaviest below valleys and penetrations where water concentrates. It follows the path water takes, not the path the storm took.
The traps that fake granule loss: hard shadows from trees, chimneys, and adjacent rooflines; algae streaking, the dark vertical stains, usually worst on north slopes, that look like discoloration but are biological; and ponded or damp areas that darken temporarily. The fix for all three is corroboration. Check whether the dark area moves with the sun (shadow), runs vertically in clean stripes (algae or water tracks), or sits on the windward slope alongside mechanical damage (real storm signal). When the color signal and a mechanical signal agree on the same slope, you've got something worth a ladder.
Sizing the Job From the Air
Reading damage is half the value of aerial imagery. The other half is measurement, and it changes how fast you can quote and how accurately you scope.
From good overhead imagery you can derive the roof's footprint, and with slope (pitch) factored in, you can estimate the roof area in squares before anyone climbs. A square is 100 square feet of roof surface, the unit the trade prices in. Aerial measurement reports, the roof outlines and square-footage numbers derived from imagery, give you a defensible starting estimate for material and labor without a tape measure on the roof.
Pitch matters because the footprint understates the actual surface. A steep roof has far more surface area than its footprint suggests, since you're covering the rise as well as the run. Oblique imagery helps you estimate pitch by how the slope presents at an angle, and many aerial measurement products fold pitch into the area calculation automatically.
What this buys you operationally: you can pre-estimate roughly how big each job is during triage, which lets you prioritize by damage likelihood and also by job size and route density. Two strong candidates on the same street, one a small ranch and one a large two-story, can be sequenced sensibly. And when a rep walks up to the door already knowing the roof is about 28 squares with a steep back slope, the conversation is sharper and the eventual estimate comes together faster. Measurement from the air won't replace a final field verification, you still confirm before you order material, but it removes a lot of guesswork from the front of the funnel.
How Roof Material Changes Everything
The workflow above assumes asphalt shingle, because that's the bulk of the residential market and the material most storm-restoration crews focus on. But you'll see other materials in your imagery, and knowing how each behaves keeps you from chasing the wrong roofs or misreading the right ones.
Asphalt shingle is the most aerial-readable for damage: granule loss shows as color, wind damage breaks the course pattern, and the material is common enough that you build real pattern recognition fast. This is your bread and butter.
Metal roofs dent rather than bruise, and the dents can show as bright highlights in raking light, but metal damage is often cosmetic and the repair economics are different. From the air, metal reads as long uniform panels with a sheen and visible seams, easy to identify and usually worth flagging as a different kind of job.
Tile and slate are heavy, individual units that crack or shatter rather than tear. From above they read as a distinct repeating texture, and damage shows as broken or displaced individual pieces, dark gaps in an otherwise regular field. These are specialized repairs, and most asphalt-focused crews flag and route them elsewhere.
Wood shake weathers to gray and reads as an irregular, rough texture from the air. It's increasingly rare and behaves differently again.
Flat and low-slope membrane roofs, common on commercial and some modern residential, don't shed water the same way and don't show the same wind-and-hail signatures. Damage tends to be punctures, seam failures, and ponding, which are hard to read from typical aerial imagery and usually need a closer look.
The point of knowing all this is speed and accuracy in the pre-filter. The faster you can categorize material from the air, the faster you cut the roofs that aren't your job and the more confidently you read the ones that are. Material identification is the first thing to get fast at, because every other step downstream depends on it.
Timing: Why Being Early Wins Storm Work
There's a clock on storm restoration that aerial imagery helps you beat, and it's worth being explicit about because it changes how you deploy the whole workflow.
After a storm, a neighborhood goes through phases. In the first days, homeowners are aware something happened, receptive to a knock, and haven't yet been hit by a dozen other companies. Over the following weeks, the neighborhood gets saturated, fatigue sets in, and the receptive window narrows. The companies that work a fresh storm well are the ones that get accurate knock lists out fast, while the damage is recent and the homeowners are paying attention.
This is exactly where manual triage becomes the bottleneck and where derived per-roof data pays for itself. Hand-reading 600 roofs takes a person most of a day. If the storm hit Tuesday afternoon and your list isn't ready until Thursday, you've burned the best part of the early window producing the list instead of working it. A system that ranks the market overnight, so crews have routes Wednesday morning, converts the speed advantage into signed inspections before competitors have finished driving grids.
Speed without accuracy is just noise, though. Getting to a door first only helps if it's the right door. The combination that wins is fast and accurate: a list that's both early and well-sorted, so your reps spend the receptive window on the roofs most likely to turn into work rather than on whoever happened to be next on the grid.
From Imagery to the Roof: Documentation That Holds Up
Aerial imagery gets you to the door and onto the ladder. What happens next, the documentation, is where deals get made or lost, and it's worth doing right.
When a rep gets on a roof that imagery flagged, the job is to document conditions thoroughly and honestly:
- Confirm or rule out the aerial flag. The imagery said "lifting on the back slope" or "possible granule loss." Get up there and check. If it's there, document it. If it's not, note that too, your credibility with both homeowners and adjusters depends on not crying wolf.
- Chalk and photograph hail impacts. For hail, the standard practice is to mark a test square, count and circle impacts, and photograph them with something for scale. Document the soft metals, the vents, gutters, and flashing, where hail spatter is easiest to confirm.
- Shoot wide and tight. Wide shots establish which slope and where; tight shots show the actual damage. Tie them together so anyone reviewing the file can follow the location.
- Record the date and the storm. Note the inspection date and the storm event you're attributing damage to, the one you pulled from the public weather record in Step 1. This connects your roof findings to a documented event.
- Prepare an honest estimate. Document the conditions and scope the work you'd actually do. The estimate reflects the roof, not a target number.
The through-line: aerial imagery, public storm data, and on-roof documentation should tell one consistent story. The imagery flagged the roof, the storm record shows a damaging event hit the area, and the on-roof photos confirm the conditions. That coherence is what makes a file credible.
Safety Is Part of the Workflow, Not an Afterthought
The reason aerial imagery is worth this much attention is partly that it keeps people off roofs they don't need to be on. Every ladder set-up and roof walk is a fall-hazard exposure, and falls are consistently among the leading causes of death in construction. OSHA requires fall protection for roofing work at the relevant height thresholds, and storm-damaged roofs are exactly the conditions, loose granules, lifted shingles, hidden soft spots, that make a slope treacherous.
Use imagery to cut the number of unnecessary climbs, and treat every climb that remains as a real hazard: proper fall protection, sound ladder setup, and good judgment about weather and roof condition. A roof that's wet, iced, or freshly stormed is a roof to be careful on. The fastest way to lose money on a storm is an injured crew member.
Common Mistakes That Cost Crews Money
After watching teams adopt aerial workflows, the same errors come up again and again. Here's the list, so you can skip the tuition.
Trusting stale imagery as post-storm proof. The free satellite layer may be two years old. If you're using imagery to assess a specific storm, you need imagery captured after that storm, or you're looking at the past. Always check capture dates.
Confirming hail from the air. Granule-loss mottling and metal spatter are flags. Bruising is confirmed by hand. Crews that "confirm hail" from a photo set themselves up to be wrong on the roof and to burn credibility with homeowners and adjusters.
Ignoring the storm footprint. Reading roofs without knowing where the storm went means reading roofs the storm never touched. The weather record comes first.
Forgetting sun angle. A slope that looks fine in flat noon light can be full of lifted tabs in raking morning light. If your damage read comes back empty, check whether the lighting was hiding texture before you write the roof off.
Treating age as a number instead of a range. You cannot read an exact roof age from a photo, and pretending you can leads to bad calls. Age is a range, faded-and-curling versus crisp-and-new, and you sort by the range, not by a fake precise number.
Skipping Part 107 on drone flights. Flying a drone for the business without a certified remote pilot following the rules is a liability waiting to surface. Get certified or hire someone who is.
Over-promising to the homeowner. "You've got hail damage and we'll get you a new roof" is the wrong sentence on every level, it's not confirmed, it's not your call, and it's the kind of claim that gets the whole trade a bad name. "The imagery and the storm record suggest your roof is worth a closer look, and we'll document exactly what we find" is honest and still gets you on the ladder.
Letting the list go stale. A knock list built off last week's storm is a different list than today's. The fast-moving part of storm restoration is being early and accurate while the damage is fresh and the neighborhood is receptive.
A Worked Example: One Storm, One Neighborhood
Let's run the whole thing end to end with numbers, so it's concrete.
A storm comes through on a Tuesday afternoon. By Wednesday morning you want crews working.
Step 1, footprint. You pull the storm reports for Tuesday. The record shows hail of roughly 1.5 to 1.75 inches reported along a corridor running northeast across the north side of town, with wind reports clustered on the same line. That's your swath: a band maybe a mile wide along that corridor.
Step 2, overlay. Three of your target neighborhoods sit inside the swath. A fourth is half a mile south, just outside, lower priority but not zero.
Step 3, pre-filter. In the three in-swath neighborhoods there are about 600 homes. Pull material and obvious-age filters: roughly 90 are metal, tile, or clearly new, off the list. Of the remaining 510 asphalt roofs, an age signal, fade, curl, parcel records, or a modeled age range, skews about 180 toward the older, more vulnerable end. Those 180 jump to the front.
Step 4, slope read. You read the storm-facing slopes on the 180 older candidates first, then work into the rest. Strong signatures, lifting, course breaks, granule mottling on the windward slope, show on about 70. Another 60 are "maybe." The rest read clean.
Step 5, route. You cluster the 70 strong candidates into three geographic pods and assign a rep to each, with the 60 maybes filling gaps. Each address carries a one-line note: "back slope lifting," "possible granule loss SW slope," "dented gutters visible."
Now compare the two companies from the opening. The grid-driving crew is knocking all 600 homes in no particular order, including the 90 that aren't even candidates and the couple hundred that read clean. Your crew is knocking 130 pre-qualified doors, in driving order, each with something specific to say. Same headcount, same storm. One crew spends its day on dead doors; the other spends it on roofs that earned a ladder. That's the entire value of reading roofs before you drive to them, and it compounds every single storm.
Building This Into Your Operation
If you're starting from grid-driving and want to fold aerial reading into how the company works, here's a sane adoption path.
Start free. Get one person fluent on free satellite and county GIS imagery for neighborhood triage and material filtering. This costs nothing and teaches the pattern-reading skill that everything else builds on.
Add high-res aerial for damage reading. Once triage is routine, bring in a high-resolution aerial source with obliques so the slope-reading step is real rather than guesswork. This is the step that turns "these streets" into "these roofs."
Layer in modeled per-roof data when manual triage becomes the bottleneck. When you find that one person can't keep up with sorting after every storm, that's the signal to bring in derived data, per-roof storm exposure and roof-age ranges, so the sort happens across the whole market automatically and your people work the output instead of producing it. That's the role RoofPredict plays: it does the first-pass ranking so crews knock the right doors in the right order.
Keep drones for confirmation and documentation. Use a Part 107 pilot to capture documentation-grade imagery on specific roofs where it strengthens the file, not as a triage tool.
Hold the line on honesty and safety. Age is a range. Storm exposure is odds. Hail is confirmed by hand. Coverage is the insurer's call. Climbs get fall protection. Build those rules into training from day one, and the efficiency gains come without the reputational and safety costs that sink crews who cut corners.
The companies that win storm restoration aren't the ones that knock the most doors. They're the ones that knock the right doors first, while the damage is fresh and the neighborhood is paying attention. Aerial imagery, read well and backed by per-roof data, is how you know which doors those are before anyone climbs a ladder.
FAQ
Can you actually confirm hail damage from aerial or satellite imagery?
No. A hail bruise is a fractured shingle mat under loosened granules, and it usually doesn't show from overhead. What imagery can flag is granule-loss mottling on the storm-facing slope and hail spatter on soft metals like vents and gutters, plus collateral damage such as dented gutters and cracked skylights. Those are reasons to climb the roof, not confirmation of bruising. Hail is confirmed by hand, on the roof, in the right light. Any claim to confirm hail from a satellite photo is overpromising.
What resolution do I need to read storm damage from the air?
It depends on what you want to see. Free satellite at roughly 0.5 to 1 meter per pixel is fine for neighborhood triage, roof footprint, material type, and obvious missing sections, but a whole shingle is a smear at that scale. To read individual shingles, creased tabs, and granule-loss mottling you want high-resolution aerial in the 7 to 15 cm per pixel range. Drone imagery at 1 to 5 cm per pixel gives documentation-grade detail on a single roof.
Why does wind damage show up better than hail from above?
Wind damage breaks the regular pattern of the shingle field and casts shadows: creased tabs, lifted and curled shingles, missing sections showing darker decking, and displaced ridge caps. Imagery is good at edges, shadows, and broken patterns, so wind signatures read clearly, especially in oblique views with low-angle raking light. Hail bruising is a subtle surface change with no broken pattern and little shadow, so it largely hides from overhead.
How do I find out where a storm actually hit before reading roofs?
Pull the public storm record for the date and area. The Storm Prediction Center's storm reports and the local National Weather Service office publish hail and wind reports with locations and estimated hail sizes, and NOAA's storm event records archive past events. Use those to draw a rough swath, the band of streets the hail core or damaging wind tracked through, then overlay it on your target neighborhoods. Damage concentrates along that path and drops off fast at the edges.
Do I need an FAA license to fly a drone for roof inspections?
Yes. Flying a drone for any business purpose in the United States, including roofing inspections, requires the remote pilot to hold an FAA Part 107 Remote Pilot Certificate and to follow the operating rules: stay under 400 feet above ground level, keep the aircraft within visual line of sight, avoid controlled airspace without authorization, and don't fly over people who aren't part of the operation. Treat it as non-negotiable, and either certify someone in-house or hire a certified pilot.
Can aerial imagery tell me how old a roof is?
Not exactly, but it gives you a useful range. You can't read an install date off a photo, but faded color, curling and cupping visible in obliques, patched sections, and moss or algae staining all point to an older roof. Combined with parcel records and modeled estimates, you can sort roofs into age ranges. That matters because an older roof closer to the end of its service life is a better storm prospect than a new one, since a moderate hit is more likely to tip it into replacement territory.
How does RoofPredict differ from buying storm leads?
It isn't a lead-buying service. It doesn't hand you homeowners who asked to be contacted. It models a roof-age range per address from aerial imagery and estimates storm exposure per individual roof, then ranks which roofs are due, the ones a storm wore out and the ones aging out, so crews knock the most promising doors in an efficient route order. It sequences your existing sales motion; it doesn't replace the ladder, confirm hail, or decide coverage.
Is modeled storm exposure proof that a specific roof is damaged?
No. Modeled storm exposure is odds, an estimate of which roofs likely caught the worst of an event based on storm physics and each structure's exposure. It tells you which roofs are most worth inspecting and documenting. It is not proof that any given roof is damaged, and it shouldn't be presented to a homeowner or anyone else as proof. The roof inspection and the documented conditions establish what's actually there.
How much time does aerial triage really save a sales team?
The big saving is cutting dead doors. A large share of grid-driving is knocking new roofs, non-asphalt roofs, and undamaged homes. If imagery cuts dead doors from roughly half to a fifth, you roughly double the productive output of the same headcount without hiring. In a worked example of a 600-home storm area, filtering and slope-reading turned the list into about 130 pre-qualified doors in route order, each with a specific observation the rep can lead with.
What should a rep say at the door after reading a roof from the air?
Something specific and honest. Instead of a generic "we're inspecting roofs in the area," lead with what you saw: "we looked at the neighborhood after Tuesday's storm and the back slope of your roof is showing some lifting we'd like a closer look at." Avoid overpromising, no confirmed-hail claims, no coverage or new-roof promises. The honest framing is that imagery and the storm record suggest the roof is worth inspecting and you'll document exactly what you find.
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
- Roofing - Fall Protection Standards — osha.gov
- Fall Protection in Construction (OSHA 3146) — osha.gov
- FAA Part 107 Small Unmanned Aircraft Systems — faa.gov
- Become a Drone Pilot (Part 107 Certification) — faa.gov
- NOAA Storm Prediction Center - Storm Reports — spc.noaa.gov
- NOAA Storm Events Database — ncdc.noaa.gov
- National Weather Service - Hail Information — weather.gov
- IBHS - Hail Research and Roof Performance — ibhs.org
- IBHS - FORTIFIED Roof Standards — fortifiedhome.org
- NRCA - National Roofing Contractors Association — nrca.net
- International Residential Code - Roof Coverings (Chapter 9) — codes.iccsafe.org
- BLS - Fatal Occupational Injuries in Construction — bls.gov
- FTC - Truth in Advertising Guidance for Businesses — ftc.gov
- USGS Earth Resolution and Aerial Imagery Basics — usgs.gov
- RoofPredict — roofpredict.com
Related Articles
Best Markets for Storm Restoration Roofing: How to Pick a Market That Pays
A practitioner's framework for choosing where to run storm restoration work: the signals that actually predict a profitable market, the traps that look good on paper, and a repeatable scoring sheet.
How to Document a Roof So a Full Replacement Holds Up With the Carrier
Carriers approve full roof replacements on evidence, not arguments. Here is the photo-and-estimate workflow that documents a roof so well the file practically reads itself.
The Best Time to Mail After a Hail Storm (A Roofer's Timing Playbook)
Mail too early and you look like a chaser; mail too late and the out-of-town crews have already papered the block. Here is the timing, the list, and the workflow that actually books inspections.