Skip to main content

How Roofers Find Houses With Aging Roofs at Scale

Michael Torres, Storm Damage Specialist··31 min readRoofing Sales & Growth
On this page

Every roofing company has lived the same bad afternoon. A crew of canvassers spends six hours walking a subdivision, knocks 200 doors, and books one inspection. The neighborhood looked promising from the road. Half the roofs turned out to be eight years old. The other half had already been replaced after the last storm by a competitor who got there first. The payroll got spent. The gas got spent. The energy got spent. The pipeline barely moved.

The problem was never the knocking. It was the picking. The crew worked the whole street when only a fraction of it had a roof old enough or beat-up enough to need them. That is the difference between a company that grinds and a company that compounds: not how hard the door-knock is, but how good the list of doors is before anyone steps out of the truck.

Finding houses with aging roofs at scale is a solvable problem. It is part data, part field craft, and part discipline about what you choose not to do. Below is the full operating picture: how to read roof age from the air, how to layer storm history onto specific addresses, where the usable data actually lives, how to turn it into routes your crew can run, and the traps that quietly burn budgets. The goal is simple and unglamorous: spend your knocks, your stamps, and your truck rolls on the roofs that are genuinely due, and skip the ones that aren't.

What "aging roof" actually means when you're targeting

Before you can find aging roofs at scale, you have to be honest about what you're looking for. "Aging" is not one thing. There are at least four different conditions that make a roof a real prospect, and they don't always travel together.

1. Calendar age. The roof is simply old. A standard 3-tab asphalt shingle roof installed in the early 2000s is at or past the end of its service life. Architectural (laminate) shingles run longer, but a 20-plus-year-old field is a legitimate candidate regardless of storm history. The Asphalt Roofing Manufacturers Association and most warranty literature put 3-tab service life in the rough range of 15 to 20 years and laminate shingles longer, with real-world life shortened by ventilation, slope, and exposure. Calendar age is the most reliable single signal because it never reverses on its own.

2. Storm-worn. The roof took a hail or wind event that knocked years off its remaining life even if it doesn't leak yet. Bruised mat, fractured shingles, granule loss concentrated on the impact side, lifted or creased tabs from a wind event. A six-year-old roof that ate golf-ball hail can be a more urgent prospect than a fifteen-year-old roof that's never seen weather.

3. Distressed/failing. Visible curling, cupping, blistering, missing shingles, moss, sagging deck, exposed felt. These show up from the curb and sometimes from the air. They're the easiest to close because the homeowner often already knows something is wrong.

4. Transactional triggers. The house just sold, is listed, or the owner is doing other exterior work. A new owner who just inherited a 19-year-old roof is a different conversation than someone who's been deferring it for a decade.

The practical takeaway: a good target list blends these. Pure calendar age gives you volume and predictability. Storm-worn gives you urgency and a clear reason for the visit. Distressed gives you easy yeses. The companies that scale well don't pick one lane; they rank every address by a combination and work the top of the list first.

Why "year built" is not roof age (and why most lists are wrong)

The single most common mistake in roofing prospecting is treating year-built as roof age. Public property records, Zillow, and county assessor data tell you when the house was constructed. They say almost nothing about the roof on it today.

A house built in 1998 may be on its second or third roof. A house built in 2015 may have had its original roof replaced after a hail event in 2019. Re-roofs are largely invisible in property records unless a permit was pulled, filed correctly, and digitized — and a meaningful share of re-roofs happen without a permit ever hitting the public file, especially insurance-driven replacements done fast after a storm.

So if your entire targeting strategy is "pull every house built before 2005," you are knocking a list that's wrong in both directions. You'll knock houses with three-year-old roofs (re-roofed, invisible to you) and you'll skip houses built in 2012 that took a storm and are now prime. Year-built is a weak starting filter, not a roof-age answer. The whole game in scaling is replacing that weak proxy with something closer to the actual age and condition of the covering itself.

Reading roof age from aerial and street imagery

The breakthrough that makes scale possible is that you can learn a lot about a roof's age and condition from imagery without ever climbing it. You won't get a birth certificate for the shingles, but you can narrow age to a usable range and flag distress. Here's what experienced estimators actually look for.

Signals visible from overhead (aerial / satellite)

  • Tonal uniformity and fade. A fresh asphalt roof reads dark and even. As it ages, granules wear and the surface lightens and goes blotchy. Streaking and uneven coloration across planes usually means age, biological growth, or granule loss. A roof that's a consistent flat gray-tan with patchy lighter zones is telling you it's well into its life.
  • Color mismatch between sections. A garage or addition roof that's a different shade than the main field often means a partial replacement or a roof done at a different time. Mismatched planes are a flag worth a closer look.
  • Streaking from algae (Gloeocapsa magma). Dark vertical streaks, especially on north-facing slopes, indicate the roof has been up long enough to host growth. It's not a structural problem by itself, but it's an age tell and a cosmetic motivator for the homeowner.
  • Visible patches and tarps. Obvious repair patches, a blue tarp, or a section of bright new shingles on an otherwise dull roof flag an active problem and a homeowner who is already in motion.
  • Surface texture. High-resolution oblique imagery can show curling and cupping as a roughened, shadowed texture across the field versus the smooth plane of a newer roof.

Signals from oblique and street-level imagery

Overhead nadir imagery is great for tone and layout; oblique (angled) and street-level views add the dimension that closes the read:

  • Curling and cupping edges catch light and shadow at an angle.
  • Missing or lifted shingles show as gaps or irregular edges along courses.
  • Shingle profile helps separate 3-tab (flat, repeating tab lines) from architectural (dimensional, varied shadow lines), which changes your age expectation.
  • Flashing, valley, and penetration wear around chimneys and vents shows the detail areas that fail first.

What imagery cannot tell you (be honest about this)

Imagery narrows the range; it does not stamp an exact install date. You cannot reliably read mat condition under the surface, hidden hail bruising, deck rot, or the true remaining life from a photo alone. Cloud cover, image age (some tiles are two or three years stale), tree canopy, and low resolution all degrade the read. Treat an imagery-derived age as a range — for example, "roughly 16 to 21 years" — not a precise number. The point of the range is to rank addresses and decide where a human goes next, not to write the estimate from your desk. The ladder still settles the question.

The storm layer: physics on each roof, beyond "where it hailed"

Calendar age is half the picture. The other half is what the weather did to a specific roof. This is where most contractors over-simplify, and where there's the most money left on the table.

The common approach is the hail map: pull a polygon of where hail was reported on a given date, then knock everything inside it. That's a start, but it conflates two very different things — where a storm passed versus which roofs it actually wore out. Those are not the same neighborhoods.

Why a hail swath is too blunt

NOAA's Storm Prediction Center and the National Weather Service collect storm reports and maintain hail and wind databases, and tools like the SPC storm reports and NWS data give you event footprints. But a reported "1.5 inch hail" point is a single observation — often a trained spotter or a public report — interpolated across a wide area. Within that same swath:

  • One street got the leading edge with large stones and high winds; two streets over saw pea-size and no damage.
  • Hail falls with a direction and an angle. North- and west-facing slopes in a given storm can be hammered while the opposite slopes are nearly untouched, because impact energy depends on the angle between the hailstone's path and the roof plane.
  • Stone size, density (soft vs. dense ice), fall speed, and accompanying wind all change the actual impact energy delivered to a shingle. Two-inch soft hail and 1.25-inch dense hail driven by 60 mph wind do very different things.
  • Roof pitch, orientation, shingle type, and age change how that energy translates into damage. An old, brittle 3-tab roof bruises at a stone size that a new architectural roof shrugs off.

So a roofer working a flat hail polygon knocks a lot of doors where the roof is fine and misses the cross-street where the same storm, hitting a different slope orientation, actually did the damage. The Insurance Institute for Business & Home Safety (IBHS) has documented through impact testing how much shingle performance varies by product and impact energy — which is exactly why "it hailed here" is a weak predictor of "this roof is damaged."

What "storm modeled per roof" means in practice

The more useful version of the storm layer answers a per-address question: given this storm's hail size, direction, wind, and this roof's orientation, pitch, and likely age, how hard was this particular roof hit? That turns a blunt swath into a ranked street where the top addresses are the ones whose geometry and age line up with the storm's energy.

You do not need to become a meteorologist to use this. You need a way to express damage likelihood as odds, not proof — a score that says "this roof was probably worked hard by the May event" so your crew prioritizes it, walks it, and documents what's actually there. The forecast or model is a targeting tool. The inspection is the truth. Keep that line bright, both because it's honest and because it keeps you out of trouble when you talk to homeowners (more on that below).

Wind events get under-targeted

Hail gets the attention, but straight-line wind and gusts cause a huge volume of legitimate roof work — creased and lifted shingles, blow-offs, and seal failures — and it's under-worked because there's no dramatic "hail map." The NWS storm events database records wind reports and estimated gusts. Aging roofs with degraded sealant strips are especially vulnerable to wind, so a wind event over a tract of 18-year-old roofs is a strong, often-ignored signal. If you only chase hail, you're leaving the wind half of storm work to whoever shows up first.

Where the data actually lives (the source stack)

To find aging roofs at scale you assemble a stack of data sources, each filling a gap the others leave. Here's the honest rundown of what each gives you and what it costs you in effort or money.

Source What it gives you What it misses Effort/cost
County assessor / parcel data Year built, lot lines, owner of record, square footage Roof age, condition, re-roofs Low cost, high cleanup
Permit records Some past re-roof permits (a partial history) Unpermitted re-roofs, recent storm jobs Free-ish, very incomplete
Zillow / public listing data Year built, sale dates, list status Roof age (year-built ≠ roof age) Easy, misleading if misused
Aerial / satellite imagery Tone, fade, layout, distress, measurements Exact install date, hidden damage Subscriptions, time to read
Oblique / street imagery Curling, missing shingles, profile, flashing wear Underlayment, deck, mat condition Subscriptions, time to read
Measurement reports (e.g., aerial measurement services) Squares, pitch, facets for accurate bids Age, condition, which house to target Per-report fees
Storm/hail data (SPC, NWS, IBHS research) Event footprints, hail size, wind reports Per-roof impact, who's already worked it Free public data, blunt
Skip-trace / contact data Phone, mailing address, owner name Anything about the roof itself Per-record fees, accuracy varies

The key insight from the table: no single source tells you which house is due. Parcel data knows the house but not the roof. Measurement services measure the roof but don't tell you which one to target. Hail data knows the storm but not the address-level damage. Scaling means stitching these into one ranked list — which is exactly the integration problem most companies never fully solve and end up papering over with brute-force knocking.

A note on measurement vs. targeting (a common category confusion)

Roofers sometimes assume an aerial measurement report or a 3D-model tool already does targeting. It doesn't. Measurement services answer "how big and what shape is this roof so I can bid it accurately" — they're built for after you've decided to engage an address. They are excellent at their job. They are simply a different category from "which of the 4,000 roofs in this ZIP should I go look at first." Measuring the house and choosing the house are two different problems, and conflating them is why some companies pay for great measurement tools and still knock random streets.

Turning data into routes your crew can actually run

A ranked list is worthless if it sits in a spreadsheet. The companies that win operationalize it into routes, scripts, and a feedback loop. Here's a workflow that scales.

Step 1 — Define the target ZIPs or tracts

Start with where you already win. Pull your last 12 months of closed jobs and map them. You'll usually find clusters — neighborhoods, school districts, subdivisions — where your close rate and ticket size are highest. Those are your beachheads. Don't scatter across a whole metro; saturate the areas where your brand, yard signs, and reputation already do half the selling.

Step 2 — Build the address list with age + storm ranking

For each target area, score every address on:

  • Estimated roof age range (from imagery + year-built as a fallback, not the primary).
  • Storm exposure (hail/wind events that hit that specific roof's orientation, scored as odds).
  • Visible distress flags (streaking, patches, tarps, missing shingles).
  • Suppression filters — remove obvious new roofs, recently permitted re-roofs, and addresses you've already worked or sold.

Sort descending. The top of the list is where you spend first.

Step 3 — Choose the motion per address

Not every address gets the same touch. Match the motion to the signal:

  • High urgency (storm-worn or visibly distressed): door knock first, because there's a clear, time-relevant reason for the visit and the homeowner may already be aware.
  • High calendar age, no storm: mail plus a softer knock or a follow-up cadence; the message is "your roof is aging out," which is a slower-burn conversation.
  • Past customers and old estimates in your CRM: these are the cheapest doors you own. A house you bid three years ago at 16 years old is now 19 and may have taken a storm since. Re-rank your own book against current age and storm data before you buy a single new contact.

Step 4 — Sequence routes for the crew

Cluster the top-ranked addresses geographically so a canvasser walks a tight loop, not a scattered map. A rep who walks 80 ranked doors in a four-block radius will out-produce a rep who drives between 80 random "good" addresses across town. Density of good doors is the lever — that's the difference between qualified knocks and raw knocks.

Step 5 — Arm the rep with the per-house reason

This is where a lot of value hides. A green canvasser who knocks cold and improvises will churn out in a month. A green canvasser who knocks with a specific, true reason — "your roof's in the 18-to-22-year range and this area took hail in the spring, so we're offering free inspections on the block" — sounds like a veteran on day one. The per-address talking point does two things: it raises the contact-to-inspection rate, and it keeps new reps from burning out, which quietly fixes the recruiting treadmill that eats roofing companies alive.

Step 6 — Close the loop with field results

Every knock produces data: not home, new roof (suppress it forever), too new, interested, booked, inspected, sold. Feed that back into the list. Over a few cycles, your targeting gets sharper because the field is correcting the model. The companies that scale treat the street as a sensor, not only a destination.

A worked example

Suppose you target a subdivision of 1,200 homes built between 1999 and 2004. Naive approach: knock all 1,200 because "they're old enough." Reality after layering data:

  • ~30% have already been re-roofed (visible as fresh, even-toned planes or recent permits) — suppress ~360.
  • Of the remaining ~840, imagery flags ~280 with clear age/distress signals (fade, streaking, curling).
  • A spring hail event clipped the northwest corner; storm-per-roof scoring elevates ~150 addresses where slope orientation lined up with the hail direction.
  • Overlap and ranking leave a top tier of ~220 addresses that are old, worn, or storm-hit — your first two weeks of knocking.

You've turned 1,200 raw doors into 220 ranked doors. Same crew, same hours, but the booked-inspection rate climbs because almost every door has a real reason behind it. That is what "at scale" means in practice — not knocking more, but knocking right across thousands of addresses without hand-reading each one.

Where RoofPredict fits

Everything above is doable by hand. The catch is that doing it by hand across thousands of addresses is slow, and most companies either don't have the staff to read imagery roof-by-roof or end up falling back on the weak year-built list because it's the only thing that's fast.

RoofPredict exists to collapse that work into a ranked list. It takes aerial imagery for the homes in an area and estimates a roof-age range per address, then models storm physics — hail trajectory and wind — on each specific roof rather than just dropping you inside a hail polygon. The output is the thing the workflow above needs: every roof in your area scored by age and by the storms it has actually taken, so you knock and mail the worn-out roofs and skip the ones that aren't due yet.

A few things worth being straight about, because honesty is the whole point:

  • Roof age is a range, not a date. You'll see something like "18 to 22 years," not "installed March 2006." The range is for ranking and prioritizing; the ladder confirms the truth.
  • Storm scoring is odds, not proof. A high storm score means a roof was likely worked hard by an event and deserves a look first. It is not a finding of damage and should never be presented to a homeowner as one. The inspection documents what's actually there.
  • It is not a lead-buying service. It doesn't sell you the same homeowner it sold to five competitors. It sharpens the outbound you already do — your knocking, your mail, and your own customer book — so you own the work instead of renting it. You can also re-rank your existing CRM and old estimates against current age and storm data, which is often the cheapest pipeline a company has.

Where it helps most is the part that doesn't scale by hand: looking at a whole market and answering "which of these roofs are due" without a person squinting at each tile. Where it deliberately stops is the ladder — it tells you which roofs to go look at, and your crew still does the inspection that decides the job. If you want to see whether the read matches reality, the right test is to hand it a street you already know cold and check whether the ranking lines up with what your crew finds.

Field workflow: from list to booked inspection

Good data dies on the doorstep without a clean field motion. Here's a tight playbook from list to booked inspection.

The knock

Lead with the specific, true reason, then ask for the low-commitment yes. A structure that works:

  1. Reason for being here, by address. "We're inspecting roofs on this block — yours is in the older range and the area took hail this spring."
  2. Local proof. "We're already working a few roofs around the corner." Yard signs and a wrapped truck do this silently.
  3. Low-friction ask. "I can do a free, no-obligation inspection while we're here and show you photos of exactly what your roof looks like."
  4. Honest framing. Never tell a homeowner their roof is damaged before you've been on it. "It looks like it might have taken some weather" is fine; "you have hail damage, the insurance will cover it" is not — it's untrue until verified and it's a compliance landmine.

The inspection

This is where the targeting pays off or doesn't. Photograph everything: overview shots, the test square, granule loss, bruising, mat condition, flashing, penetrations, prior repairs. Document conditions plainly. If you're in storm-restoration work, your job is to document what's there and provide an estimate — the homeowner owns their claim and the insurer decides coverage. You are the expert who shows them, in photos and measurements, what the roof's condition is. You are not the one who approves, files, or guarantees anything about a claim.

The handoff

A homeowner-facing report with photos and a clear summary converts far better than a verbal pitch. If a green rep can leave behind a branded report — even a QR code to a clean summary of the roof's age range and condition — they punch above their experience. The homeowner has something to look at after you leave, and your brand stays in the house.

Cadence for the "aging but not urgent" segment

The calendar-age-only homes (old roof, no storm) won't all say yes on the first knock. Build a cadence: knock, leave the report, mail a follow-up in 30 days, re-touch after the next weather event. These homes convert over months, not minutes, and the company that stays in front of them gets the job when the roof finally forces the decision. This is the between-storms pipeline that keeps crews busy when there's no fresh hail to chase.

What pros get wrong (the expensive mistakes)

After enough cycles, the same costly errors show up across companies. Here are the ones worth designing against.

Mistake 1: Treating year-built as roof age

Covered above, but it's the number-one budget killer, so it earns repeating. Re-roofs are invisible in property records. If your list is "built before 2005," you're knocking new roofs and skipping prime storm-hit 2012 builds. Always correct year-built with an actual look at the roof.

Mistake 2: Knocking the whole hail swath

A flat hail polygon sends crews to streets where the roofs are fine and skips the cross-street the storm actually worked. Score damage per roof — slope orientation versus hail direction, stone size, age — and rank within the swath. The swath tells you the storm was in the area; it doesn't tell you which roofs it broke.

Mistake 3: Ignoring wind

No dramatic map, so it gets skipped — and a whole category of legitimate work goes to whoever shows up. A wind event over a tract of aging roofs is a strong, under-worked signal. Pull NWS wind reports for your areas, not only hail.

Mistake 4: Mailing and knocking the same density everywhere

Spreading touches evenly across a metro wastes money on streets full of new roofs. Concentrate spend on ranked, high-age, storm-exposed clusters. Density of good doors beats coverage of all doors every time.

Mistake 5: Letting the CRM rot

Your own book is the cheapest pipeline you have, and most companies never re-mine it. Every estimate you lost three years ago is now a roof three years older, possibly storm-hit since. Re-rank past customers and dead estimates against current age and storm data before spending on new contacts. The money is already in the book.

Mistake 6: Over-claiming to homeowners

Telling a homeowner their roof is damaged, or that insurance will pay, before you've inspected is both dishonest and a regulatory problem. State insurance departments and consumer-protection rules (and the FTC on deceptive claims generally) take a dim view of contractors making coverage promises. Document conditions, provide estimates, let the homeowner own the claim and the insurer decide coverage. Targeting tools give you odds and ranges; the ladder and the adjuster settle facts.

Mistake 7: No suppression discipline

If you don't remove new roofs, already-worked addresses, and recently sold/re-roofed homes, your list re-bloats every cycle and your crews waste touches on dead doors. Suppression is as important as selection. A list that never forgets a "new roof" flag gets more efficient every month.

Mistake 8: Treating green reps as disposable

The industry's recruiting treadmill is largely self-inflicted. Reps who knock random doors with no reason fail, get demoralized, and quit, so you recruit again. Reps armed with a true per-house reason book inspections, make money, and stay. Good targeting is a retention strategy as much as a sales strategy.

Compliance and ethics: keep the line bright

Finding aging and storm-worn roofs at scale puts you in front of a lot of homeowners, often around insurance. The rules vary by state, but the principles are consistent and worth building into your training.

  • Don't diagnose from the curb or the air. Imagery and storm models produce ranges and odds. Damage is determined on the roof, in person, with photos.
  • Don't make coverage promises. You don't decide what an insurer covers. Saying "this'll be a free roof" or "insurance will definitely cover this" before any inspection or adjuster involvement is a misrepresentation and, in many states, specifically restricted contractor conduct.
  • Don't offer to handle or negotiate the claim as if you're the policyholder's representative unless you're licensed where that's required. Several states regulate or prohibit contractors acting as public adjusters or steering the claim. Document conditions and provide your estimate; the homeowner files and owns the claim; the insurer adjusts it.
  • Be careful with deductibles. Promising to "waive," "absorb," "eat," or "rebate" a homeowner's insurance deductible is illegal in many states and can be insurance fraud. Don't build it into your pitch.
  • Keep marketing claims truthful. A storm model that says a roof was likely hit hard is a reason to inspect, not evidence of damage to wave at a homeowner. Present targeting data as what it is.

None of this slows down a well-run operation. It just keeps the company out of the headlines and the homeowner's trust intact — which, in a referral-driven trade, is the asset that actually compounds.

Building the system: a 30/60/90 rollout

If you're standing this up from scratch, here's a sequence that gets you from "random knocking" to "ranked, repeatable targeting" without boiling the ocean.

First 30 days — establish the baseline

  • Map your last 12 months of closed jobs; identify your 3 to 5 strongest neighborhoods/tracts.
  • Pull parcel/year-built data for those areas as a rough starting frame (knowing it's only a frame).
  • Stand up a suppression list: every address you've sold, bid, or confirmed as a new roof. Never knock these blind again.
  • Pick one area and have a person manually read imagery for the top streets so you feel what the signals look like. This builds judgment you'll use to trust automated scoring later.

Days 31 to 60 — layer age and storm

  • Add an estimated roof-age range to addresses in your target areas (imagery-based; year-built as fallback only).
  • Pull the last 24 months of hail and wind events over those areas from public storm data, and start ranking within swaths rather than knocking flat polygons.
  • Re-rank your CRM and dead estimates against current age + storm exposure. Work that list first — it's the cheapest.
  • Standardize the per-address knock script and the leave-behind report.

Days 61 to 90 — operationalize and tighten the loop

  • Route crews to tight clusters of top-ranked addresses; measure booked-inspection rate per 100 knocks, not raw knocks.
  • Feed every field outcome back into the list (suppress, re-rank, re-touch).
  • Build the aging-not-urgent cadence (knock, report, 30-day mail, post-storm re-touch).
  • Decide where to automate. If hand-reading imagery across thousands of addresses is the bottleneck — and it usually is — that's the point to bring in a tool that scores roof age and per-roof storm impact across the whole area so your people spend their time on the ladder and the doorstep, not on a screen.

By day 90 you've replaced "knock the old-looking neighborhood" with "work the ranked list, top down, with a true reason at every door." That system scales because adding a new area is just adding a new ranked list, not adding more guesswork.

Measuring whether it's working

Scale without measurement is just spending faster. Track a small set of numbers that tell you whether targeting is actually improving:

  • Booked inspections per 100 knocks (or per 1,000 mailers). This is the headline efficiency number. Better targeting should move it up over time.
  • Suppression hit rate. What share of doors turned out to be new roofs or already-worked? If it's high, your list isn't filtering re-roofs well enough.
  • Inspection-to-sale rate by source. Storm-worn addresses should close differently than calendar-age-only addresses. Track them separately so you know which signal earns its keep in your market.
  • Cost per booked inspection by area. Concentrating on ranked clusters should drive this down versus blanket coverage.
  • Rep retention / ramp time. If armed reps with per-house reasons stick longer and ramp faster, your targeting is paying off in recruiting too.

The goal isn't a perfect model. It's a list that's measurably better than the random neighborhood you used to knock, and that keeps getting better as the field corrects it.

Material type changes everything about your read

Not every aging roof ages the same way, and your targeting gets sharper when you account for the covering material. Most residential targeting is asphalt shingle, but the field mix matters because it changes both the age range you assign from imagery and the storm vulnerability you score.

  • 3-tab asphalt shingle. The most common older-roof target. Flat repeating tab lines, a thinner mat, and a shorter service life — commonly in the mid-teens to around twenty years. These are your bread-and-butter aging prospects: they fade and streak visibly, they bruise from hail at smaller stone sizes, and they lift in wind once the sealant degrades. An old 3-tab field reading blotchy and light in imagery is a high-confidence age flag.
  • Architectural / laminate shingle. Dimensional shadow lines, heavier mat, longer service life. A 20-year-old architectural roof can still look respectable from the air, so don't over-age it on tone alone. But the heavier mat also means hail and wind damage shows differently — you're often looking for mat fracture and seal failure rather than dramatic granule loss. Score these by storm exposure and edge wear more than by fade.
  • Wood shake. Splitting, cupping, moss, and missing shakes read clearly from oblique imagery, and these roofs often face replacement for fire-code or insurability reasons in some regions, not only age. A weathered shake roof is frequently a motivated homeowner.
  • Tile and metal. Long-lived and a different conversation. Tile rarely "ages out" the way asphalt does — the underlayment fails before the tile, and storm damage is usually localized cracking. Metal panels show wear at fasteners and seams. These are lower-volume targets for replacement and you'll usually suppress most of them from a high-volume aging-asphalt list unless there's clear storm or installation distress.

The operational point: tag the dominant material when you can, because it changes both the age range you trust from imagery and how you weight the storm score. A flat "15-plus years" rule applied to a neighborhood of heavy architectural roofs over-targets; applied to a tract of original 3-tab, it's about right.

Climate and region shift the timeline

The same shingle ages on a very different clock depending on where it sits. Building this into your ranges keeps you from over- or under-targeting whole markets.

  • Sun and heat. High-UV, high-heat regions cook shingles. Roofs in the Southwest and South often reach the end of their usable life faster than the same product in a milder northern climate. A roof that imagery suggests is fifteen years old in Phoenix may be functionally older than the same-age roof in Minneapolis.
  • Hail and wind frequency. Some markets sit in repeat-hail corridors where roofs simply take more cumulative beating. In those areas, storm history dominates the targeting math and calendar age is secondary. In low-storm markets, calendar age and material degradation do most of the work, and your edge comes from catching the roofs aging out before the homeowner even thinks about it.
  • Coastal exposure. Salt air, persistent wind, and humidity accelerate sealant and flashing failure near the coast. Wind targeting matters more here.
  • Snow and freeze-thaw. Ice damming and freeze-thaw cycling stress the field and the eaves in cold climates, and north-facing slopes hold growth and moisture longer.

None of this requires a research department. It means you calibrate your age ranges and your storm weighting to the market you're working, rather than copying a rule from a contractor two climates away. A targeting approach that travels well is one that leans on calendar age and material in calm markets and leans harder on per-roof storm scoring in storm-heavy ones.

Scaling across multiple markets without losing the plot

Once the system works in one metro, the temptation is to bolt on territory fast. The companies that scale cleanly treat each new market as its own ranked list with its own calibration rather than stretching one playbook thin.

  1. Saturate before you spread. A market where your signs, trucks, and reputation already do half the selling will out-convert a fresh market for the same effort. Work a beachhead to real density before adding the next one. Coverage of many markets at low density is the slow way to go broke.
  2. Re-baseline each market. Recalculate which neighborhoods win from local closed-job data, re-pull local storm history, and recalibrate age ranges for the local climate. Don't assume the close rates from market A predict market B.
  3. Keep suppression market-specific and permanent. A new roof flagged in one market stays flagged. Carrying clean suppression lists per market is what keeps efficiency from decaying as you grow.
  4. Standardize the motion, localize the list. The knock script, the leave-behind report, and the field feedback loop should be identical everywhere so training and quality stay consistent. Only the ranked list underneath changes per market. That separation — same motion, local list — is what lets a company run five markets without five separate chaotic operations.

Done this way, adding a market is a repeatable act: pull the area, score age and storm per roof, suppress, rank, route, and run the same motion your crews already know. That's the version of scale that compounds instead of fragmenting.

Bringing it together

Finding houses with aging roofs at scale is the difference between a company that hopes and a company that knows. The mechanics aren't mysterious: read roof age and condition from imagery as a range, layer storm physics on each specific roof as odds rather than knocking a flat swath, stitch together the data sources that each know one piece, suppress the new and already-worked roofs, rank what's left, and route your crews to tight clusters of doors that each have a real reason behind them. Then let the field correct the list and do it again in the next area.

The companies that pull this off stop renting their next job from lead sites and stop waiting on a storm to feed their crews. They turn their own streets and their own customer book into work they own — repeatable, storm or not. Whether you build that system by hand or use a tool that scores age and per-roof storm impact across a whole market, the principle is the same: spend your knocks, stamps, and truck rolls on the roofs that are genuinely due, and skip the ones that aren't. That's the whole game, and it's winnable.

FAQ

Can you really tell how old a roof is from aerial imagery?

You can narrow it to a usable range, not an exact install date. Tone and fade, color mismatch between planes, algae streaking, visible patches, and surface texture all read from the air, and oblique or street-level views add curling, missing shingles, and shingle profile. Treat the result as a range like '16 to 21 years' for ranking which addresses to look at first. The actual age is confirmed on the roof, not from a photo.

Why isn't year-built the same as roof age?

Year-built is when the house was constructed, not when the current roof went on. A house built in 1998 may be on its second or third roof, and a house built in 2012 may have been re-roofed after a storm. Many re-roofs never produce a digitized permit, so property records miss them. Using year-built as roof age makes you knock new roofs and skip prime storm-hit newer builds.

What's wrong with just knocking everywhere a hail map shows hail?

A hail polygon tells you the storm was in the area, not which roofs it actually damaged. Within one swath, slope orientation versus hail direction, stone size, wind, pitch, and roof age all change how hard a given roof was hit. Crews working a flat polygon knock fine roofs and miss the cross-street the storm actually worked. Ranking damage likelihood per roof concentrates effort where it pays.

How does RoofPredict find aging roofs differently from a hail map or a measurement tool?

It estimates a roof-age range per address from aerial imagery and models storm physics (hail trajectory and wind) on each specific roof, then ranks every roof in your area by age and the storms it has taken. A hail map only shows where it hailed; a measurement service tells you the size and shape of a roof you already chose. RoofPredict answers which roofs are due so you knock and mail the right doors and skip the new ones.

Is RoofPredict a lead-buying service?

No. It doesn't sell you homeowners it also sold to five competitors. It sharpens the outbound you already do, including your door-knocking, your mail, and your own CRM of past customers and old estimates. The aim is to help you own your next job rather than rent it from a lead site or wait on a storm to feed your crews.

What can roof-age and storm data NOT tell me?

It can't confirm hidden hail bruising, mat condition under the surface, deck rot, or true remaining life, and it can't stamp an exact install date. Age comes as a range and storm impact comes as odds, not proof of damage. The inspection on the roof is what settles condition. Anything presented to a homeowner as a finding of damage has to come from an actual inspection, not a model.

How do I talk to a homeowner about a storm-hit roof without crossing a compliance line?

Document what's actually on the roof with photos and provide an estimate. Don't tell a homeowner their roof is damaged before you've inspected it, don't promise insurance will cover it or that it'll be a 'free roof,' and don't promise to waive or absorb their deductible, which is illegal in many states. The homeowner files and owns the claim and the insurer decides coverage. You're the expert who documents conditions and gives an estimate.

What data sources do I actually need to target aging roofs at scale?

A stack: parcel/assessor data for the house and owner, permit records for partial re-roof history, aerial and oblique imagery for age and condition, public storm data (SPC and NWS hail and wind) for events, and your own CRM. No single source tells you which house is due, so the work is stitching them into one ranked, suppressed list, then routing crews to the top of it.

Should I chase wind events or only hail?

Both. Wind gets under-worked because there's no dramatic map, but straight-line winds and gusts cause heavy roof work through creased, lifted, and blown-off shingles, especially on aging roofs with degraded sealant strips. The NWS storm events database records wind reports and estimated gusts. A wind event over a tract of older roofs is a strong, under-targeted signal that competitors often ignore.

How do I know my targeting is actually working?

Track booked inspections per 100 knocks (or per 1,000 mailers), your suppression hit rate (how many doors turned out to be new or already-worked roofs), inspection-to-sale rate split by storm-worn versus calendar-age addresses, cost per booked inspection by area, and rep retention and ramp time. Targeting should push efficiency up and cost per inspection down, and the field outcomes should keep sharpening the list.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

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

Sources

  1. Asphalt Roofing Manufacturers Association (ARMA)asphaltroofing.org
  2. National Roofing Contractors Association (NRCA)nrca.net
  3. Insurance Institute for Business & Home Safety (IBHS) — Hailibhs.org
  4. NOAA Storm Prediction Center — Storm Reportsspc.noaa.gov
  5. NOAA National Weather Serviceweather.gov
  6. NOAA Storm Events Database (wind and hail records)ncdc.noaa.gov
  7. OSHA — Fall Protection in Constructionosha.gov
  8. International Code Council — International Residential Code (IRC)codes.iccsafe.org
  9. U.S. Census Bureau — American Housing Surveycensus.gov
  10. U.S. Bureau of Labor Statistics — Roofers (Occupational Outlook)bls.gov
  11. Federal Trade Commission — Truth in Advertisingftc.gov
  12. Texas Department of Insurance — Roofing & Storm Claims Consumer Helptdi.texas.gov
  13. National Association of Insurance Commissioners (NAIC) — Consumer Resourcesnaic.org
  14. RoofPredictroofpredict.com

Related Articles