Roof Age Data by Address: A Roofer's Field Guide to Finding Which Roofs Are Actually Due
On this page
Ask ten roofing companies where they get roof age, and you'll get ten different answers. One pulls the "year built" off a county GIS site and calls it good. Another eyeballs the granule loss from the truck. A third buys a list from a data broker and hopes half of it isn't garbage. The fourth uses permit records. The fifth knocks every door on the street and lets the homeowner tell them.
Every one of those methods is trying to answer the same question: on this specific address, how old is the roof that's actually up there right now? Get that answer right, house by house, and your knock list, your mail drops, and your CRM re-touches all get sharper. Get it wrong, and you're spending payroll, postage, and windshield time on roofs that were replaced four years ago.
This guide is about the data behind that question. What "roof age data by address" really means, where it comes from, how accurate each source is, how to combine sources so you're not fooled by a re-roof, and how to turn an address-level age estimate into a route your crew can actually work tomorrow morning. It's written for owners, sales managers, and storm-restoration leads who are tired of working the whole street to find the four houses that needed them.
A warning up front, because it shapes everything below: there is no public database that stores the install date of every residential roof in America. Roofs get replaced without permits. Permits get filed under the wrong category. Imagery has gaps. So "roof age data by address" is never a single date pulled from a vault. It's an estimate — and the good operators treat it as a range with a confidence level, not a fact. The whole game is making that range tight enough to act on, and knowing when it's too loose to trust.
What "roof age data by address" actually means
When a contractor says they want roof age data by address, they usually mean one of three things, and conflating them is the first mistake.
Year the house was built. This is the easiest to get and the least useful. It tells you when the original roof went on. On a 1996 build with a 3-tab asphalt roof that's never been touched, year-built is a decent proxy for roof age. On a 1996 build that took hail in 2011 and got a full architectural-shingle replacement, year-built is off by fifteen years and points you at exactly the wrong house.
Date of the last roof replacement. This is what you actually want, and it's the hardest to get cleanly. No single source has it for every home. You assemble it from permits, imagery change-detection, and field confirmation.
Estimated remaining service life. This is age plus condition plus climate plus material. A 17-year-old roof in Phoenix sun with no ridge ventilation is functionally older than a 17-year-old roof in coastal Oregon. Age is the spine of this estimate, but it isn't the whole skeleton.
For sales targeting, you care about #2 and #3. For a quick first-pass filter over a whole neighborhood, #1 is where most people start because it's free and it's everywhere — and that's fine, as long as you understand its blind spot.
Why "year built" lies to you, specifically
The single biggest error in roof-age targeting is treating year-built as roof-age. Here's the mechanism. Asphalt shingles — the roof on roughly four out of five U.S. homes — typically carry manufacturer warranties in the 25-to-30-year range for architectural shingles and around 20-25 for older 3-tabs, with actual service life usually shorter than the warranty number depending on climate, ventilation, and storm exposure. So a house built in 2002 with an original architectural roof is, in 2026, sitting right in the replacement zone. Great.
But the homes that already got re-roofed are invisible to a year-built filter. A neighborhood developed in 1999 looks, through a year-built lens, like 200 identical 27-year-old roofs. In reality, maybe 60 of them were replaced after a 2012 hail event, another 30 after a 2019 wind event, a handful after individual failures, and the rest are still original. The year-built data shows you one number for all 200. Your job is to separate the ~110 original roofs (real prospects) from the ~90 that already turned over (wasted touches, and worse — homeowners who'll think you didn't do your homework).
This is why the pros never stop at year-built. It's a starting filter, not an answer.
Roof age means nothing without the material
"Due" is a function of age and material. A 20-year-old roof is at the end of the road if it's a 3-tab asphalt shingle and barely middle-aged if it's standing-seam metal. Before you decide an age range means "due," you need to know — or estimate from imagery — what's actually up there. Rough, honest service-life bands for common residential materials (real-world averages run shorter than warranty numbers, and climate swings them hard):
| Material | Typical service life | Notes for targeting |
|---|---|---|
| 3-tab asphalt shingle | ~15-20 years | The bread-and-butter re-roof. Ages fast in sun/hail. |
| Architectural (dimensional) asphalt | ~22-30 years | Most common on builds since ~2000; the big age-out wave now. |
| Wood shake/shingle | ~20-30 years | Maintenance-dependent; many fail early from rot/curl. |
| Metal (standing seam) | ~40-60+ years | Rarely a re-roof target on age alone; watch coatings/fasteners. |
| Clay/concrete tile | ~40-50+ years (tile); underlayment ~20-30 | The tile lasts; the underlayment and flashing fail first. |
| Slate | ~75-100+ years | Almost never an age-out target. |
The practical takeaway: an asphalt-shingle metro is where roof-age targeting pays, because asphalt dominates (roughly four in five U.S. homes) and its service life lines up with a knockable re-roof cycle. If you can read the material off recent imagery, you can immediately discount the metal and tile roofs that aren't going to buy a re-roof on age, and concentrate on the asphalt that will.
The sources of roof age data, ranked by what they're good for
Let me walk every real source a contractor can use, what it costs, where it's accurate, and where it'll burn you.
1. County and municipal property records (year built)
What it is: Your county assessor or property appraiser maintains records on every parcel for tax purposes. "Year built" (sometimes "effective year built") is almost always one of the fields, often free to search on a public GIS portal.
Accuracy for roof age: Good as an original-roof proxy, blind to all replacements. "Effective year built" is sometimes adjusted upward after major renovations, but it's inconsistent county to county and rarely reflects a roof-only job.
Cost: Free to low. Many counties have a public lookup; bulk data sometimes requires a records request or a paid GIS export.
Best use: Pulling a whole ZIP or subdivision and bucketing homes by age band (0-10, 11-18, 19-25, 26+) as a first cut. Then you refine.
The trap: Brand-new subdivisions where the assessor hasn't updated, and any home that's been re-roofed. Don't mail a "your roof is 25 years old" message off raw year-built data — you will hit re-roofed homes and look foolish.
2. Building permit records (re-roof permits)
What it is: Most jurisdictions require a permit for a roof replacement. Where they're digitized and public, a re-roof permit is the single most reliable signal that a roof was replaced — and roughly when.
Accuracy for roof age: When present, excellent. A permit dated 2018-04 for "reroof, tear-off, architectural shingle" is close to ground truth.
Cost: Free to moderate. Some cities have searchable online permit portals; others require open-records requests; some counties don't digitize at all.
Best use: Subtracting homes from your list. If a permit shows a 2021 re-roof, take that address off your "due" list for a few years. Permits are better at telling you which roofs are young than at confirming which are old.
The trap — and it's a big one: Permit non-compliance. A meaningful share of residential re-roofs happen without a pulled permit, especially insurance-driven storm replacements done fast by out-of-town crews, and especially in jurisdictions with weak enforcement. Absence of a permit does NOT mean the roof wasn't replaced. Treat permits as a high-confidence "yes it was replaced" signal and a low-confidence "no it wasn't." Build your logic around that asymmetry.
3. Aerial and satellite imagery (and imagery history)
What it is: High-resolution aerial imagery — and, more powerfully, historical imagery captured over multiple years — lets you see the roof itself and, by comparing dates, detect when it changed.
Accuracy for roof age: This is where address-level roof age gets real. A roof that's gray and worn in a 2015 capture and bright and clean in a 2020 capture was replaced in that window. Comparing imagery dates ("change detection") narrows the replacement to a range — often a 1-to-3-year window depending on capture frequency. Visual condition (granule loss, streaking, patching, color uniformity) layered on top sharpens the estimate further.
Cost: Ranges from free (older Google Earth historical imagery, USGS) to paid (commercial high-cadence providers). Free imagery has irregular capture dates and lower resolution; paid providers offer more frequent, higher-resolution, analysis-ready captures.
Best use: Catching the re-roofs that permits miss. Imagery doesn't care whether a permit was pulled — a new roof looks new from above. This is the source that fixes the year-built blind spot.
The trap: Capture-date gaps. If your only two captures are 2014 and 2023, a roof replaced anywhere in that nine-year span only narrows to "sometime in those nine years." Tree canopy can obscure the roof. And imagery tells you that it changed and roughly when, but a faded-but-original roof and a faded re-roof can look similar in a single frame — you need the time series, not one photo.
4. Storm and hail history (per location)
What it is: NOAA's Storm Prediction Center and Storm Events Database, NWS warnings, and derived hail-swath products record where damaging hail and high winds occurred and roughly how severe. Layered against an address, this tells you whether this roof has been exposed to a damaging event — and when.
Accuracy for roof age: Storm history doesn't give you age directly. It gives you two things: (a) a likely replacement trigger — neighborhoods that took a major hail event five years ago are full of roofs that turned over right after, which you should subtract; and (b) a wear signal — a roof that's only twelve years old but has eaten three significant hail events is functionally older and more likely failing than its age suggests.
The critical caveat: A hail swath or wind report is a probability of exposure, not proof of damage on a specific roof. Two homes on the same block can experience very different impacts based on roof pitch, orientation to the storm's path, hail size distribution, and the angle stones actually struck. A storm map tells you where it hailed; it does not tell you which roofs it actually wore out. Selling "your roof was damaged" off a swath map alone is how roofers get into legal and ethical trouble. The honest version is: this address had exposure to a qualifying event, which is a reason to inspect — the inspection determines damage, and the homeowner's insurer determines coverage.
Cost: The raw NOAA/SPC/NWS data is free and public. Turning it into clean, address-joined, per-roof exposure is the work.
5. Data brokers and "homeowner" lists
What it is: Marketing-data companies sell lists that sometimes include a "roof age" or "year built" field, often bundled with homeowner demographics.
Accuracy for roof age: Highly variable, frequently just year-built relabeled as roof age, often stale. Some are genuinely modeled; many are not. You usually can't see the methodology, which means you can't trust the number.
Cost: Per-record or subscription.
The trap: Buying a "roof age" field you can't audit. If a vendor can't tell you whether the number accounts for re-roofs and storm history, assume it doesn't. Also mind list provenance and do-not-contact / DNC compliance.
6. Your own records (the most underrated source)
What it is: Your CRM, your past estimates, your old job files, your warranty database, your supplier's delivery records for jobs you did.
Accuracy for roof age: Perfect for the homes you've touched. If you replaced a roof in 2009, you know it's a 17-year-old roof in 2026 — and you know that homeowner, you have their number, and you've already earned trust on that street.
Why it's underrated: Every other source is an estimate. This one is a record. The homes in your own book are the highest-confidence roof-age data you will ever have, and they're already paid for. We'll come back to this — it's the single best place to start.
Source comparison at a glance
| Source | Tells you | Confidence | Cost | Main blind spot |
|---|---|---|---|---|
| County year-built | Original roof age | Medium (orig.) / Low (current) | Free–low | Re-roofs invisible |
| Re-roof permits | A roof WAS replaced + when | High when present | Free–moderate | Many re-roofs unpermitted |
| Aerial imagery history | When the roof changed + condition | Medium–High | Free–paid | Capture-date gaps, tree cover |
| Storm/hail history | Exposure + wear + replacement triggers | Exposure only | Free (raw) | Exposure ≠ damage |
| Data brokers | A "roof age" number | Low–Medium | Per-record/sub | Unauditable, often stale |
| Your own CRM/jobs | Exact age for homes you did | Highest | Already paid | Only covers your past work |
How to actually estimate roof age at an address (the layered method)
No single source is enough. The operators who get this right stack sources and let them correct each other. Here's the logic, in the order I'd run it.
Step 1 — Establish the baseline (year built). Pull the parcel's year built. This is your "if nothing ever changed" anchor. Bucket it: an original roof's likely age is roughly today's year minus year-built, capped by the material's realistic service life.
Step 2 — Look for a replacement event (permits). Search re-roof permits for the address. If you find one, it overrides year-built — the roof's age resets to the permit date. No permit found? Don't conclude anything yet; permits miss replacements.
Step 3 — Confirm with imagery change-detection. Compare historical aerial captures. Did the roof visibly change between two dates? If yes, the replacement happened in that window — even if no permit exists. This is the step that catches the unpermitted storm re-roofs. If the roof looks consistent (and aged) across all available captures, that supports an original, older roof.
Step 4 — Read current condition from imagery. On the most recent high-res capture, assess visible wear: granule-loss discoloration, streaking, missing tabs, patching, uneven color (a sign of partial repairs). Condition won't give you a date, but it adjusts your remaining-life estimate up or down.
Step 5 — Overlay storm exposure. Pull hail/wind history for the location. Two uses: subtract recent post-storm re-roof clusters (a neighborhood hit hard in 2019 likely has many young roofs now), and flag younger roofs that have absorbed multiple events as accelerated-wear candidates worth an inspection.
Step 6 — Resolve to a RANGE with a confidence level. Don't output "this roof is 19 years old." Output "roof age 17-21 years, medium-high confidence" or "likely replaced 2018-2020, high confidence (imagery + permit agree)." The range and the confidence are the deliverable. A tight range you trust gets a knock; a wide range you don't gets a drive-by look or a lower-priority touch.
Step 7 — Confirm in the field where it matters. For your best prospects, the ground truth check is cheap: a homeowner conversation, a gutter-line look, a tab in hand. Field confirmation turns a medium-confidence estimate into a sold job. You don't field-confirm 800 homes; you field-confirm the 60 your data flagged.
A worked example
Take 412 Birch Lane, in a subdivision platted in 2001.
- Year built: 2001 → original-roof age would be ~25 years. Looks due.
- Permits: A search turns up a 2013 "reroof, tear-off" permit. The roof reset to 2013 → ~13 years old. Now it looks too young.
- Imagery: 2011 capture shows a worn gray roof; 2014 capture shows a clean, uniform roof. Confirms the ~2013 replacement. Confidence climbs because two independent sources agree.
- Storm history: A significant hail event hit this ZIP in 2012. That explains the 2013 re-roof — and tells you this whole street probably turned over around then. Most of these neighbors are not due yet.
- Condition (2024 capture): Roof still looks uniform, mild aging. Consistent with a ~11-year-old roof.
- Resolution: Roof age 11-13 years, high confidence. Not due. Skip for now — revisit in ~4-6 years or after the next qualifying storm.
Now contrast with 418 Birch Lane, three doors down.
- Year built: 2001 → ~25 years.
- Permits: None found.
- Imagery: The roof looks similarly worn (gray, streaked, granule-loss mottling) across 2011, 2014, 2019, and 2024 captures — no visible change.
- Storm history: Same 2012 hail exposure as the neighbor.
- Resolution: Roof age ~23-25 years, medium-high confidence (no replacement evidence across 13 years of imagery + permits + visible aging). DUE. High-priority knock — and given the 2012 exposure on an original roof, a strong inspection candidate.
Same street, same year-built, opposite conclusions. That is what address-level roof age data buys you: the ability to knock 418 and skip 412 instead of working both.
How imagery change-detection actually works (and where it breaks)
Since imagery is the source that fixes the year-built blind spot, it's worth understanding the mechanics so you know when to trust it.
A roof replacement changes the roof's appearance from above in ways a time series of captures can pick up:
- Color and brightness jump. New asphalt shingles are darker, more saturated, and more uniform than a weathered roof that's lost granules. A roof that's mottled-gray in 2016 and uniform-charcoal in 2019 almost certainly turned over in between.
- Loss of streaking and staining. Algae streaking and granule-loss blotching that's present in an older capture and gone in a newer one is a strong replacement signal.
- Edge and ridge sharpness. Fresh ridge caps and clean valleys read differently than worn, curling edges.
The window you can claim is bounded by your capture dates. With annual or sub-annual imagery, change-detection can pin a replacement to a 1-to-2-year window — tight enough to act on. With captures five or nine years apart (common in free historical imagery for less-photographed areas), the best you get is "sometime in this multi-year gap," which still beats year-built because it at least tells you a replacement happened.
Where it breaks, and how to compensate:
- Tree canopy. Mature trees obscure the roof, especially in older neighborhoods — which are exactly the ones with age-out roofs. Leaf-off (winter) captures help; partial views of visible facets help; sometimes you fall back to permits and field checks.
- Repairs vs. replacement. A patched section (new shingles over part of the roof) can look like a partial change. Uneven color across facets often means a repair, not a full re-roof — which is itself useful: a repaired roof is often an aging roof someone is nursing along, a decent prospect.
- Same-color re-roof. If a homeowner replaced like-for-like and the capture cadence is sparse, a subtle change can be missed. This is why imagery is layered with permits and condition, not used alone.
- Resolution. Low-res imagery flattens the cues. Higher-resolution, more frequent captures are why paid imagery outperforms free historical imagery for this specific job.
The discipline is the same as everywhere else in this guide: imagery is one strong vote, not a verdict. When it agrees with permits and visible condition, confidence is high. When it conflicts, that conflict is a flag to dig — usually it's catching an unpermitted re-roof, which is the most valuable thing imagery does.
Where RoofPredict fits
Everything above is doable by hand. The problem is doing it across an entire service area, every week, without a full-time analyst and three data subscriptions. Pulling year-built, cross-referencing permits, hunting historical imagery for change-detection, and overlaying NOAA storm data — for one address it's twenty minutes; for ten thousand addresses it's a non-starter.
That's the gap RoofPredict is built for. It runs the layered method at scale and hands a contractor the output: for the addresses in your area, a roof-age estimate expressed as a range, paired with the storm history that roof has actually taken — so you can rank doors by which roofs are genuinely due, and skip the ones that aren't.
Two things make it different from the sources roofers usually reach for, and they map directly to the two biggest blind spots above:
It's age fused with weather, per roof — not a hail map. A hail map shows you where a storm passed. RoofPredict models the storm against each individual roof — hail and wind impact scored house by house — and pairs that with the roof's age range. The phrase we use internally is the honest one: we model the storm on each roof, not only where it passed. That's the difference between "this ZIP got hail" and "these specific addresses had an aging roof that also absorbed the worst of it." The first is a swath; the second is a knock list.
It tells you which house, not how to measure the house. This is worth being precise about, because contractors lump tools together. EagleView, HOVER, Roofr and similar tools measure a roof you've already decided to bid — squares, pitch, facets, waste. They're excellent at that, and RoofPredict doesn't replace them. They are a different category: measurement, not targeting. RoofPredict answers the earlier question — which roof is worth your time in the first place. You'd use RoofPredict to pick the door, then a measurement tool once you're bidding the job.
Honest limits, because you should hold any vendor to them:
- Roof age from RoofPredict is a range, not an exact install date. Nobody can give you the exact date from imagery and records alone, and anyone claiming a precise per-home install date for every address is selling you year-built with a fresh coat of paint. A tight range you can act on is the real, honest deliverable.
- A storm score is odds of exposure and likely wear, not proof of damage on a given roof. It tells you which roofs are worth inspecting. The inspection determines damage. The homeowner's insurer decides coverage — that's their call, not ours and not yours to promise.
- It sharpens the outbound you already do. It is not a lead-buying service. You're not renting a homeowner that five competitors also bought; you're working your own area and your own list, smarter.
The natural way to use it: let RoofPredict rank your area by which roofs are due (age + storm wear), pull the high-confidence "due" addresses into a route, and send your crew to knock the roofs the data actually flagged. Then — and this is the part most people skip — point the same lens at the homes already sitting in your CRM.
Turning roof age data into a route your crew can work
Data that doesn't change what your crew does on Monday is a hobby. Here's how to convert address-level roof age into action across the four motions contractors actually run.
Motion 1: Mine your own CRM first (the cheapest jobs you'll ever sell)
Before you buy a single new record, age your own book. Every roof you've ever installed has a known birthday. Pull every job from, say, 12-22 years ago. Those homeowners:
- Have roofs that are now genuinely in or near the replacement window.
- Already know your company and (if you did good work) trust you.
- Cost you $0 in lead acquisition.
A simple CRM query — "jobs completed between [today minus 22 years] and [today minus 12 years]" — surfaces a list of warm, high-confidence-age prospects. Layer storm exposure on top: which of those aging roofs also took a significant hail or wind event recently? That subset is your call-first list. This is found money, and it's the single most overlooked roof-age play in the business. Most roofers sit on a CRM full of roofs they personally installed and never circle back when those roofs come due.
Motion 2: Sharpen your direct mail
If you mail, roof-age data is the difference between a 1990s spray-and-pray drop and a targeted campaign.
- Suppress the wrong houses. Pull young roofs (recent permits, recent imagery change, recent post-storm re-roof clusters) out of the drop. Every new-roof house you mail is wasted postage and a homeowner who files you under "didn't do their homework."
- Bucket your message. A "your roof may be reaching the end of its service life" message to the 19-25 band; a softer "storm just came through, worth a free inspection" message to a band that took recent hail; nothing to the 0-8 band.
- Track by band. Measure response rate by age band so next quarter's drop gets tighter. You'll usually find one or two bands carry most of the ROI.
A note on claims and storm copy, because it matters legally: mail can absolutely invite a homeowner to get a free inspection after a storm, and you can document conditions and provide an estimate. Keep it to inspection and documentation. Don't promise a covered claim, don't promise to handle or negotiate with the insurer, and say nothing about deductibles — the homeowner owns the claim and the carrier decides coverage. (More on this below.)
Motion 3: Build a knock route
For canvassing, the workflow is straightforward once you have ranked addresses:
- Pull the "due" addresses in a neighborhood (high-confidence age range in the replacement window).
- Rank within that by storm wear — roofs that are both aging and storm-worn float to the top.
- Sequence them into an efficient walking/driving route so reps aren't crossing the neighborhood twice.
- Arm each rep with the per-home talking point: the roof's approximate age range and any recent storm exposure, so a knock opens with "I noticed roofs on this street are reaching the age where..." instead of a cold pitch.
This last point is also a retention play. A green canvasser who knocks the right doors — homes where the roof is genuinely due — gets more yeses, makes money faster, and quits less. Rep churn is brutal and expensive; knocking better doors is one of the cheapest ways to lower it. A new hire who sounds informed on the first knock, because the data handed them the talking point, starts closing before they'd otherwise have learned the trade.
Motion 4: Storm response (done honestly)
After a qualifying hail or wind event, roof-age data plus storm exposure tells you which homes are worth an inspection: aging roofs in the swath, on the orientation that took the worst of it. You work those streets with a free-inspection offer, document what you find, and hand the homeowner clear documentation of the roof's condition.
The legal line is bright and you stay on the right side of it: you document conditions and provide an estimate; you do not handle, file, manage, or negotiate the insurance claim; you do not touch the homeowner's deductible; you do not promise the claim will be approved. The homeowner owns the claim and the carrier decides coverage. Many states treat a roofer acting as an unlicensed adjuster — even just branding as an insurance/claims "specialist" — as a violation. The honest, durable pitch is: here's documentation that supports a storm-damage claim; the decision is between you and your insurer. That keeps you compliant and, frankly, more trusted.
Accuracy: how good is address-level roof age, really?
Set expectations honestly, with yourself and with the homeowner.
- A single source is weak. Year-built alone misses every re-roof. Permits alone miss every unpermitted job. Imagery alone, with sparse captures, gives wide windows. Each one in isolation will embarrass you on roughly the share of homes that don't fit its blind spot.
- Stacked sources are strong. When permits, imagery change-detection, and visible condition agree, your confidence on a roof's age range is genuinely high — high enough to knock with conviction. When they disagree, that disagreement is itself information: a year-built of 2000, no permit, but imagery showing a clean roof appearing around 2016 means a likely unpermitted re-roof, and you treat the roof as ~10 years old, not 26.
- The output is a range, and the range width is the accuracy. "18-22 years, high confidence" is actionable. "10-26 years, low confidence" means your sources conflict or are sparse — that home needs a drive-by or a field check before it earns a knock. A mature roof-age system tells you not only the estimate but how much to trust it.
- Field confirmation closes the gap. The cheapest accuracy upgrade is a conversation. You don't field-verify your whole area; you verify the high-value, medium-confidence homes where a quick look flips them to high confidence.
The goal isn't a perfect date on every house. It's a confident enough range on enough houses that your crew spends its hours on roofs that can actually buy a re-roof.
What contractors get wrong (the costly mistakes)
A field guide to the errors I see most, and how to avoid each.
Mistake 1 — Treating year-built as roof age. Already covered, but it's #1 for a reason. Every re-roofed home in your list is a wasted touch and a credibility hit. Always run a re-roof check (permits + imagery) before you act on year-built.
Mistake 2 — Trusting "no permit" as "no replacement." Permit absence is weak evidence. In storm markets especially, a large share of replacements never get permitted. Use imagery to catch what permits miss. The asymmetry: a permit found is strong proof of replacement; a permit not found proves almost nothing.
Mistake 3 — Buying an unauditable "roof age" field. If a data vendor can't tell you whether their roof-age number accounts for re-roofs and storm history, it almost certainly doesn't — it's year-built wearing a costume. Demand methodology, or treat the field as year-built.
Mistake 4 — Mistaking a hail swath for damage proof. A swath map shows exposure, not per-roof damage. Two neighbors can have wildly different outcomes. Selling "your roof is damaged" off a map invites legal trouble and burns trust when the inspection says otherwise. Sell the inspection, let it determine damage.
Mistake 5 — Ignoring the CRM. Spending on new leads while a book full of roofs you installed 15 years ago goes uncalled is leaving money on the table. Age your own database first, every quarter.
Mistake 6 — One message for all ages. A 6-year-old roof and a 24-year-old roof should not get the same mailer. Banding your message to the age range is most of the lift.
Mistake 7 — Outputting a date instead of a range. A false-precision "your roof is 21 years old" is brittle — when the homeowner says "we replaced it in 2017," you've lost the room. "Roofs on your street are reaching the age where they start to fail" is both more honest and harder to argue with.
Mistake 8 — Forgetting ventilation, material, and climate. Two same-age roofs aren't equally due. Poor attic ventilation, dark shingles in intense sun, low slope, and repeated storm exposure all accelerate aging. Age is the spine; condition and context are the muscle.
Mistake 9 — Skipping field confirmation on big-ticket targets. Data flags the candidates; a five-minute look or conversation confirms them. The contractors who skip this either over-knock (annoying re-roofed owners) or under-trust their data (and don't knock at all).
A 30-day plan to put roof age data to work
If you're starting from "we kind of eyeball it," here's a concrete ramp.
Week 1 — Mine what you already own.
- Pull every completed job from 12-22 years ago out of your CRM or job files.
- Append recent storm exposure for those addresses (free NOAA/SPC data, or a tool that does it for you).
- Call or mail the aging-roof subset that also took a recent storm first. These are your warmest, cheapest jobs. Track results.
Week 2 — Pick one neighborhood and run the layered method by hand.
- Choose a subdivision 18-28 years old.
- Pull year-built for the whole plat; bucket into age bands.
- Spot-check 20 addresses against permits and historical imagery to learn your local re-roof rate.
- You'll quickly see what share of "old" homes are actually re-roofed — that number tells you how badly you'd have wasted effort on year-built alone.
Week 3 — Decide build vs. buy.
- If you have one neighborhood and an afternoon, doing it by hand is fine.
- If you have a whole service area and want it weekly, ranked, and storm-aware, that's where a tool earns its keep — automating the year-built + permit + imagery + storm stack and handing you ranked, due addresses with age ranges. This is the role RoofPredict plays: the layered method, run at area scale, output as a ranked "which roofs are due" list.
Week 4 — Operationalize one motion.
- Pick your primary channel (knock, mail, or CRM re-touch) and wire roof-age ranking into it.
- Suppress young roofs. Band your message. Route your reps to the due addresses.
- Measure cost-per-conversation and close rate by age band, and let next month's targeting inherit what you learned.
Frequently confused: roof age tools vs. measurement tools vs. lead services
Because contractors evaluate these in the same breath, here's the clean separation.
| Category | Examples (by type) | Answers | Does NOT answer |
|---|---|---|---|
| Roof-age / targeting data | County records, permits, imagery history, storm overlays, RoofPredict | Which roofs are due, by address | Exact measurements; who to buy as a lead |
| Roof measurement | Aerial measurement reports, photogrammetry apps | How big/steep a roof you're already bidding | Which roof to bid in the first place |
| Lead services | Pay-per-lead marketplaces | A homeowner who raised a hand (often resold) | Whether the roof is actually due; exclusivity |
The mistake is using one where you need another. You don't measure your way to a target list, and you don't buy a resold lead when your own street is full of due roofs you can own outright. Roof-age data sits at the top of the funnel — it decides where to point everything else.
Regional reality: the same method, tuned to your market
Roof-age targeting isn't one-size-fits-all. The mix of sources you lean on, and the bands that matter, shift by geography.
Hail and wind belts (Texas, Oklahoma, Kansas, Colorado, the broader plains, parts of the Southeast). Storm exposure is the dominant variable. Roofs turn over fast and often, frequently on insurance, frequently without permits. Two implications: (1) lean hard on imagery change-detection, because permit records badly undercount storm re-roofs here; and (2) storm history isn't just a wear signal, it's a replacement-timing signal — big events create whole streets of roofs that turned over together, which you subtract from the "due" list for several years and revisit later. The wear angle matters too: a 12-year-old roof that's eaten three hail events behaves like an older roof.
Intense-sun markets (Arizona, Nevada, inland California, South Texas). UV and heat shorten asphalt life; tile is common and the underlayment ages out before the tile does. Here, a tile roof flagged "40 years old" might be genuinely due — on its underlayment and flashing — even though the tile looks fine. Read material carefully and don't dismiss old tile.
Freeze-thaw and snow-load markets (Upper Midwest, Mountain West, Northeast). Ice damming and thermal cycling drive failures. Ventilation quality (which you can't always see from above) matters a lot, so field confirmation earns its keep. Permit records tend to be better digitized in some of these older municipalities.
Coastal and high-wind (Gulf, Atlantic, hurricane-exposed). Wind events drive turnover; building-code upgrades after major storms sometimes spike a wave of replacements you can detect. Permitting and code enforcement are often stricter post-storm, so permits are a bit more reliable here than in inland hail markets.
The method — baseline, replacement check, imagery, condition, storm overlay, resolve to a range — doesn't change. What changes is which source you weight and which age bands carry your ROI. Spend a week characterizing your own market (what's the local re-roof rate? how good are the permits? how dense is the canopy?) and you'll know exactly where to lean.
Data hygiene and compliance you can't skip
A quick but non-optional section, because targeting people at their homes carries rules.
- Contact compliance. If you're calling or texting off any list, you're subject to telemarketing rules and do-not-call requirements. Scrub against the national DNC registry and honor opt-outs. Mail is lower-risk than calls/texts, but keep your suppression lists clean.
- List provenance. If you buy records, know where they came from and whether you have the right to contact them. "We bought a list" is not a defense if the list was assembled improperly.
- Don't overclaim from imagery or storm data. Saying "your roof is damaged" off a swath map or a single aerial is both inaccurate (you haven't inspected) and a trust-killer when the inspection disagrees. The compliant, durable framing is an offer to inspect.
- Stay out of adjusting. Covered above, but it bears repeating because it's where roofers get sued: document conditions and estimate repairs; don't handle, file, manage, or negotiate the claim; don't promise approval; say nothing about the homeowner's deductible. The homeowner owns the claim; the carrier decides coverage. Several states treat even branding yourself as a claims/insurance "specialist" as unlicensed adjusting.
- Be accurate in your message. "Roofs on your street are reaching the age where they commonly fail" is defensible. "Your roof is 23 years old and failing" — stated as fact off an estimate — is not, and it's brittle the moment the homeowner corrects you.
None of this is heavy lifting. It's mostly a matter of using inspection and documentation language, keeping suppression lists clean, and respecting that the claim belongs to the homeowner. Do that and roof-age targeting is a clean, repeatable growth engine.
The honest summary
Roof age data by address is not a date you look up. It's an estimate you assemble — from year-built (the baseline), permits (replacements, when filed), aerial imagery history (replacements permits missed, plus condition), and storm exposure (wear and post-storm turnover) — and then express as a range with a confidence level and confirm in the field where the money is.
Do it by hand for one neighborhood and you'll immediately see the payoff: you'll knock the 418s and skip the 412s. Do it across your whole area, every week, and you've turned your own streets and your own customer book into work you control — instead of renting leads five competitors also bought, or waiting on a storm to bail out the quarter.
The roofs that are genuinely due are already out there in your service area, today, storm or no storm. The only question is whether you can see which houses. Address-level roof age data — age fused with the storms each roof has actually taken, ranked so you knock the right doors and skip the new ones — is how you see them.
If you want that done for your area without standing up your own data pipeline, that's exactly what RoofPredict does: it ranks the roofs in your area by age range and storm wear, house by house, so your crew spends Monday on roofs that can actually buy a re-roof. Hand it a street you already know and judge for yourself whether it called the right doors. No leads to rent, no storm to wait on — just the homeowners whose roofs are due.
FAQ
Is there a single database with the exact install date of every roof by address?
No. There is no public database that stores the replacement date of every residential roof in America. Roofs get replaced without permits, permits get miscategorized, and imagery has gaps. Roof age by address is always an estimate assembled from multiple sources (year built, permits, aerial imagery history, storm exposure) and best expressed as a range with a confidence level, not a single date.
Can I just use the 'year built' from county records as roof age?
Only as a rough first filter. Year built tells you when the original roof went on, but it's blind to every replacement. A 1999 subdivision can look like 200 identical 27-year-old roofs while a large share have already been re-roofed after storms or failures. Always cross-check year built against re-roof permits and historical imagery before you act on it, or you'll waste touches on homes that were replaced years ago.
How accurate is roof age estimated from aerial imagery?
Accuracy depends on how often the area is photographed. With annual or sub-annual captures, imagery change-detection can pin a roof replacement to a one-to-two-year window. With captures several years apart, you only narrow it to that gap. Imagery is strongest when layered with permits and visible condition, and its biggest value is catching unpermitted re-roofs that permit records miss. Tree canopy and low resolution are its main limitations.
Why don't building permits show every roof replacement?
Many residential re-roofs are done without a pulled permit, especially fast, insurance-driven storm replacements in jurisdictions with weak enforcement. So a permit found is strong proof a roof was replaced and roughly when, but a permit not found proves almost nothing. Use imagery change-detection to catch the replacements permits miss.
Does a hail map prove a specific roof was damaged?
No. A hail swath or wind report shows where a storm passed and the probability of exposure, not whether a specific roof was damaged. Two neighbors on the same block can have very different outcomes based on pitch, orientation, and hail size. Storm data tells you which aging roofs are worth inspecting; the inspection determines damage, and the homeowner's insurer decides coverage.
What's the difference between roof age data and aerial measurement tools like EagleView or HOVER?
They answer different questions. Measurement tools tell you how big and steep a roof is once you've decided to bid it (squares, pitch, facets, waste). Roof age data tells you which roof is worth your time in the first place, by address. You'd use roof age data to pick the door, then a measurement tool when you're actually bidding the job. One doesn't replace the other.
How does RoofPredict estimate roof age, and how precise is it?
RoofPredict runs the layered method (year built, permits, aerial imagery, and storm history) at the scale of your whole service area and hands you a roof-age estimate as a range, paired with the storm history each roof has actually taken, ranked so you can knock the roofs that are due and skip the new ones. It's a range, not an exact install date, because no one can produce a precise per-home install date from imagery and records alone. It sharpens the outbound you already do; it is not a lead-buying service.
What's the cheapest roof age data I already have?
Your own records. Every roof you've ever installed has a known birthday, and those homeowners already know and trust you. Pull every job from roughly 12 to 22 years ago out of your CRM, layer recent storm exposure on top, and call the aging-roof subset first. It's the highest-confidence roof age data you'll ever have, and it costs you nothing in lead acquisition.
What age range is a roof usually 'due' for replacement?
It depends on the material. Architectural asphalt shingles, the most common roof on homes built since about 2000, typically run 22 to 30 years; older 3-tab shingles run roughly 15 to 20. Metal, tile, and slate last far longer and are rarely age-out targets. Climate, ventilation, and storm exposure all shorten real-world life, so read the material and condition before you treat an age range as 'due.'
Can roofers use roof age and storm data for insurance claims?
You can document a roof's condition and provide an estimate, and you can invite a homeowner to a free inspection after a storm. You should not handle, file, manage, or negotiate the insurance claim, promise the claim will be approved, or say anything about the homeowner's deductible. The homeowner owns the claim and the carrier decides coverage. Several states treat a roofer acting as an unlicensed adjuster, even just branding as a claims specialist, as a violation. Keep it to inspection and documentation.
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
- National Roofing Contractors Association (NRCA) — nrca.net
- Insurance Institute for Business & Home Safety (IBHS) — ibhs.org
- NOAA Storm Prediction Center — spc.noaa.gov
- NOAA National Centers for Environmental Information - Storm Events Database — ncdc.noaa.gov
- National Weather Service — weather.gov
- OSHA - Fall Protection in Construction — osha.gov
- U.S. Census Bureau - American Housing Survey — census.gov
- International Code Council - International Residential Code (IRC) — iccsafe.org
- U.S. Bureau of Labor Statistics - Roofers — bls.gov
- Federal Trade Commission - National Do Not Call Registry — ftc.gov
- Texas Department of Insurance - Roof Damage and Claims — tdi.texas.gov
- USGS EarthExplorer - Aerial and Satellite Imagery — usgs.gov
- U.S. Department of Energy - Cool Roofs — energy.gov
- RoofPredict — roofpredict.com
Related Articles
How to Get Roofing Leads Without Angi or HomeAdvisor
Stop renting strangers' phone numbers. Eight acquisition channels you own, the exact workflows to run them, and a 90-day plan to wean off shared-lead marketplaces.
How to Use Data to Skip New Roofs When Door Knocking (And Knock the Ones That Are Actually Due)
A field-tested playbook for cutting new roofs out of your canvass so every knock lands on a roof that is aging out or storm-worn, using imagery, permits, and storm data.
How to Build a Roofing Prospect List by Roof Age (Field-Tested Workflow)
Year built is not roof age. Here is the practitioner workflow for building a prospect list sorted by how old each roof actually is, so your crew knocks worn-out roofs instead of the whole street.