Skip to main content

How to Build a Roofing Prospect List by Roof Age (Field-Tested Workflow)

Emily Crawford, Home Maintenance Editor··31 min readRoofing Lead Generation
On this page

Most roofing companies build their prospect list the lazy way: pull every address in a ZIP code, mail a postcard or knock the whole subdivision, and hope the math works out. It usually does, barely, because a roofer who knocks 300 doors will find a few bad roofs by accident. But you paid for all 300 doors. You paid for the gas, the payroll, the printing, and the eight hours your best closer spent talking to people who reroofed four years ago.

The single biggest lever you can pull on outbound roofing sales is sorting your list by how old each roof actually is before you spend a dollar reaching out. A 6-year-old roof is almost never your customer. A 22-year-old asphalt shingle roof in a hail belt is your customer whether they know it yet or not. If you can rank a neighborhood from oldest roof to newest, you can knock the top of the list, mail the top of the list, and skip the bottom — and the same crew with the same hours suddenly closes a lot more jobs.

The catch is that roof age is genuinely hard to get right, and almost every shortcut people reach for is wrong. Below is the full workflow practitioners use to assemble an age-ranked prospect list: where the data comes from, why the obvious sources lie to you, how to turn a pile of records into a scored and routed knock list, and how to keep that list clean over time. There are worked examples, the regional lifespan numbers you need to set your thresholds, and a frank section on the limits — including the limits of the tools that promise to do this for you.

Why roof age beats every other prospecting filter

Roofers waste outreach on three kinds of doors: roofs that are too new to need anything, roofs that were already replaced by a competitor last season, and homeowners who will never buy from anyone knocking. You can't do much about the third group from a list. But the first two are pure data problems, and roof age solves both.

Think about the economics on a single canvassing day. A two-person crew working eight hours will get to roughly 120 to 160 doors, have a real conversation at maybe 25 to 40 of them, and book a handful of inspections if the list is decent. The variable that swings booked inspections more than weather, more than script, more than anything, is what fraction of those doors have a roof old enough to be in the buying window. Knock a 1998-built subdivision where nobody has reroofed and your conversation-to-inspection rate climbs. Knock a 2016 subdivision and you can run a flawless pitch all day and book nothing, because there is nothing to sell.

The usual filters roofers reach for are proxies that fall apart on contact:

  • Year built. This is what almost everyone uses because it is free and everywhere. It is also the single most misleading number in the whole process, and it is the reason most age-based prospecting underperforms. More on this below — it deserves its own section.
  • Income or home value. Useful as a secondary filter for ticket size and financing, useless for timing. A wealthy household with a 4-year-old roof is not a prospect; a modest household with a 24-year-old roof is.
  • Storm exposure alone. Storms matter enormously, but a hail swath tells you where it hailed, not which roofs the hail actually wore out. A new architectural shingle roof can shrug off a marginal hail event; the 20-year-old 3-tab roof two doors down on the same street is finished. Same storm, completely different prospects.

Roof age is the filter that lines up with the actual buying trigger, because asphalt roofs fail on a clock that age starts and weather accelerates. Get the age right and everything downstream — mail spend, route design, rep morale — gets more efficient.

The hidden cost: rep morale and churn

There is a second-order effect people forget. New canvassers quit because they knock all day and book nothing, decide they're bad at it, and leave. The roof they were standing in front of half the time literally could not be sold. When you hand a green rep a list where two out of three doors have a genuinely aging roof, they have real conversations, book inspections, make money, and stay. List quality is a retention tool, not only a sales tool. The cost of rebuilding a canvassing team every season dwarfs the cost of a better list.

The number-one mistake: treating "year built" as "roof age"

Here is the trap. You open a county assessor record or a real-estate data feed, you see "Year Built: 1999," and you reason: asphalt roofs last about 20 years, it's 2026, that's a 27-year-old roof, knock it. Sometimes you're right. Often you're badly wrong, and the error is not random — it is biased in the direction that costs you the most.

Year built tells you the age of the original roof. It tells you nothing about whether the roof was replaced. A re-roof almost never updates the assessor's "year built" field, and in most jurisdictions a like-for-like reroof either pulls a minor permit that never touches the year-built record or pulls no separate searchable permit at all. So a house built in 1999 might have:

  • The original 1999 roof, now 27 years old — a great prospect.
  • A roof replaced in 2008 after a hailstorm — 18 years old, getting interesting.
  • A roof replaced in 2021 after the last big storm — 5 years old, a complete waste of your outreach.

From the year-built field alone, those three houses are identical. They are not identical. The third one is the exact door that burns your reps out and trains them to ignore your list.

This is why the neighborhoods that look juiciest on a year-built map are frequently the worst to knock. An older subdivision that took a direct hail hit eight years ago has already been substantially reroofed by whoever was fast that season. The year-built data still screams "old roofs!" but half the street has a roof newer than your truck. You burn a day confirming what the data couldn't see.

A few more sources people mistake for roof age:

  • Zillow / Redfin / public listing data. These surface year built, occasionally a listing-agent note like "new roof 2019" buried in old description text, and nothing reliable about the current roof. Re-roofs are invisible unless an agent happened to mention one. Treat listing-era roof claims as unverified rumor.
  • Permit data. Better than year built, and genuinely useful (covered below), but incomplete: not every reroof pulls a permit, many small jurisdictions don't publish permits in a usable form, and historical coverage is spotty. Permits tell you about some of the re-roofs, which is still progress — a pulled reroof permit is a strong negative signal (skip that house) even when missing permits don't prove anything.
  • Roof measurement reports (the aerial measurement vendors). These are a different category of product entirely. They measure the roof — squares, pitch, facets, edge lengths — beautifully. They do not tell you the roof's age or condition or which house to approach. "Measure the house" and "which house" are two different questions; measurement tools answer the first, prospecting needs the second.

The practical takeaway: year built is a starting hypothesis, not an answer. Your whole workflow is about correcting it.

The data sources for estimating roof age (and what each one actually tells you)

No single source gives you true roof age for a whole neighborhood. You triangulate. Here is each source, what it's good for, and how much to trust it.

Source What it gives you Trust for roof age Cost / effort
County assessor (year built) Age of original roof Low alone — a hypothesis only Free, public
Building permit records Some reroofs (with dates) Medium — strong when present Free to moderate; messy formats
Aerial / satellite imagery Visible roof condition & material; granule loss, patching, tarps, replacement vs neighbors Medium-high for relative age Imagery subscription or a vendor
Street-level imagery Curb-visible condition, some slopes Medium for verification Free (mapping services)
Real-estate listing history Occasional "new roof" notes Low — anecdotal Free to moderate
Storm history (hail/wind dates) When a roof was last stressed Medium — context, not age Public (NOAA/SPC) + vendors
Physical drive-by / ladder Ground truth Highest Your crew's time
Roof-age intelligence platforms Modeled age range + storm-per-roof scoring Medium-high, at scale Subscription

Let's go through the ones that carry weight.

County assessor records

Free, near-universal, and the backbone of every list because it gives you the address universe plus year built, square footage, lot size, and ownership. Pull it, but understand you are pulling the hypothesis layer. Most counties publish parcel data; many have a GIS portal where you can export by area. This is where your list starts and where the year-built trap lives.

Use assessor data for: the address list, owner-occupancy clues (mailing address equals site address is a rough owner-occupied flag), and the initial original-roof age estimate. Do not use it as your final age.

Building permit records

This is the most underused free signal in roofing prospecting. Many jurisdictions publish issued permits, and a reroof permit gives you a date — which is exactly what year built can't. The logic is asymmetric and that's what makes it powerful:

  • A reroof permit pulled in 2021 is a strong skip signal. That roof is about 5 years old. Cross it off, save the gas.
  • No reroof permit since the home was built is a weak "maybe still original" signal. It does not prove the roof is original — plenty of reroofs skip permits — but combined with old year built and aerial condition, the case strengthens.

Permit data is messy: every jurisdiction formats it differently, coverage and history vary, and you'll spend real time cleaning it. But pulling the last several years of reroof permits for your service area and using them purely as a negative filter is one of the highest-ROI hours you can spend. You're not trying to find every replaced roof — you're trying to delete the obvious ones so you stop knocking 5-year-old roofs.

Aerial and satellite imagery

This is where roof age estimation gets real, because you can see the roof. A trained eye reading recent aerial imagery can sort roofs by relative age and condition far better than any record:

  • Granule loss and tonal change. Aging asphalt shingles lose granules and shift color — dark streaks, lighter worn fields, mottling. A uniformly dark, crisp roof reads newer; a faded, blotchy one reads older.
  • Replacement contrast against neighbors. In a subdivision built the same year, a roof that is visibly newer than its neighbors was rerofed. Conversely, the one house still wearing the original dull roof while everyone around it is crisp and new is your standout prospect — the holdout.
  • Patches, mismatched sections, repairs. Visible patching means an owner is maintaining instead of replacing — often a price-sensitive prospect nursing an old roof along.
  • Tarps and active damage. Self-explanatory and time-sensitive.
  • Roof type and complexity. Aerial shows you 3-tab vs architectural, simple gable vs cut-up hip-and-valley, which informs both age (3-tab skews older installs) and ticket size.

The honest limit: imagery gives you relative age within an area and condition signals, not a birth certificate. You can confidently say "this roof is older and worse than those" and "this one was clearly replaced recently." You generally cannot say "this roof is exactly 19 years old" from a photo. That's fine — relative ranking is what a knock list needs.

A practical reading method when you're doing this by eye: open a subdivision built in a single year and treat the newest-looking roofs as your baseline for "recently replaced," then sort every other roof by how far it has drifted from that baseline toward faded, streaked, and worn. Because the homes were built together, the variation you see is almost entirely replacement timing. The roofs that look oldest in a same-year subdivision are, with high confidence, the ones still wearing close to their original covering — and those are your list.

Watch the imagery capture date the same way you watch street-view dates. Aerial sets are often 1–3 years old. A roof that reads "borderline" on two-year-old imagery is two years older today, which usually pushes it further into your window, not out of it. When in doubt on a high-value cluster, that's what the on-site verification pass is for.

Street-level imagery

Free mapping street view is your cheap verification pass. Before you route a rep, a 30-second look at the front slope can confirm an obviously new roof (skip), spot curling or missing shingles, and reveal a story the aerial missed. Watch the capture date — street imagery can be years stale, which cuts both ways (a roof newer than the photo, or older).

Storm history

Hail and high-wind dates from public sources (the Storm Prediction Center's storm reports, the National Weather Service, NOAA's storm events database) tell you when roofs in an area were last stressed. This is context, not age, but it sharpens everything:

  • A roof that's 18 years old and took a significant hail event two years ago is a hotter prospect than an 18-year-old roof that's seen calm weather.
  • A neighborhood that took a major hit five-plus years ago has likely been partly reroofed already — temper your expectations and lean harder on the imagery to find the holdouts.

The crucial nuance, and the one most people miss: a storm map shows where it hailed, not which roofs the hail actually wore out. Hail intensity, stone size, wind direction, roof slope, material, and existing age all determine whether a given roof was meaningfully damaged. Two roofs on the same street, same storm, can end up in completely different shape. The map paints the whole swath red; the reality is house by house. Holding age and storm together, per roof, is what separates a sharp list from a heat map.

Setting your age thresholds: regional lifespan reality

Before you can sort a list by age, you have to decide what "old enough" means — and that depends on your region, because climate drives shingle lifespan hard. A generic "20 years" threshold is wrong almost everywhere.

Asphalt shingles are the dominant residential roof in the U.S. (the overwhelming majority of homes), so set your thresholds for asphalt unless you work a tile or metal market. Useful planning ranges, drawn from manufacturer and industry guidance and adjusted for climate:

Climate / region type Practical asphalt shingle service life Your "prospect window" opens around
Hot, high-UV (desert Southwest, Gulf) 15–20 years 12–14 years
Severe hail/wind belt (Plains, Front Range, parts of the South) 12–18 years, often cut short by storms 10–12 years, or any age post-significant-storm
Mixed / temperate 18–25 years 15–17 years
Cold, freeze-thaw, heavy snow 18–25 years, with ice-dam wear 15–17 years
Mild coastal / Pacific Northwest (moss, moisture) 20–25 years 16–18 years

A few rules for setting your threshold:

  • The prospect window opens before failure. Homeowners replace ahead of total failure when prompted — at the curling, granule-loss, "it's getting up there" stage. So your window opens several years before the listed end of life. If shingles last 20 years in your market, a 15-year-old roof is a legitimate conversation, not a waste.
  • Material matters. Architectural (laminate) shingles outlast 3-tab by several years; tile and metal roofs are a different game entirely (long life, different failure modes) and generally a different prospecting model. Don't apply asphalt thresholds to a tile neighborhood.
  • Storms reset the clock downward. A significant hail or wind event can make a 10-year-old roof a prospect overnight. Your age threshold is a baseline that storm history can override.
  • "Old enough" is a range, not a date. You're estimating, so think in bands: 0–8 years (skip), 8–14 (watch, region-dependent), 15–20 (active prospect), 20+ (priority). Tune the band edges to your region's row above.

What a roof in each band actually looks like

Thresholds only help if your reps can connect a number to what they'll see at the door. Rough field correlations for asphalt:

  • 0–8 years: dark, uniform, granules intact, edges crisp. Nothing to sell. If a rep is standing in front of this roof, the list failed.
  • 8–14 years: still serviceable but starting to show — slight color fade, early granule shedding visible in gutters and downspout splash zones. Conversation territory in harsh climates or post-storm; usually too early in temperate markets.
  • 15–20 years: the heart of the prospect window. Visible fading, granule loss exposing the dark mat in patches, some curling or cupping at shingle edges, daylight algae streaking. Homeowners here often already know "the roof's getting up there."
  • 20+ years: clear age — heavy granule loss, brittle and curling shingles, possible cracked or missing tabs, sagging or wavy plane lines, repairs and patches. Priority doors. Many of these owners are one leak away from calling someone, and you want to be the someone who knocked first.

Teach reps to read the gutters and the ground: a driveway or flower bed dusted with shingle granules after a rain is one of the most reliable age tells there is, and it's visible from the sidewalk.

The step-by-step workflow to build the list

Here's the actual assembly, start to finish. The first time through a new area takes a focused day or two; after that you're maintaining and expanding.

Step 1 — Define the area and pull the address universe

Pick a bounded area you can actually work — a set of subdivisions or a ZIP, not your whole metro. Pull the parcel/assessor export for it: addresses, year built, square footage, owner mailing address, property type. Filter to single-family residential (and the small multifamily you service); drop commercial, vacant land, and new construction. This is your raw universe, often a few thousand parcels.

Step 2 — Apply the year-built hypothesis filter

Using your regional threshold, flag parcels whose original roof would now be in or near the prospect window. Built before roughly 2010 in a temperate market, before ~2012 in a hail belt — adjust to your row in the table above. This gets you from "every house" to "houses old enough that the original roof would be due." Remember: this is a hypothesis layer that over-includes (reroofed houses still pass) and you'll correct it next.

Step 3 — Subtract the known re-roofs (permit pass)

Pull reroof permits for the last 6–8 years in the jurisdiction and remove or down-rank any matching address. Every match you delete is a 5-year-old roof you won't waste a knock on. This step alone meaningfully lifts your hit rate, and it's free. Where permit data is unavailable, you'll catch these in the next step instead.

Step 4 — Verify and rank with imagery

Now the high-value pass. Go through the surviving addresses against recent aerial imagery and, for the promising ones, street view. For each, you're sorting into condition bands:

  • Clearly replaced recently (crisp, dark, newer than neighbors, or matches a permit) → remove.
  • Aging / original / worn (faded, streaked, granule-worn, original among reroofed neighbors) → keep and rank up.
  • Distressed (patches, missing shingles, tarps) → top priority.

This is where a roof you'd never reach by data alone surfaces: the holdout still wearing its original roof on a street that's mostly been redone. It's also where you delete the reroofs that skipped permits. If you're doing this manually, you won't read every roof in a 3,000-parcel area by hand — which is exactly the bottleneck the platforms in the next section exist to remove.

Step 5 — Layer in storm history

Check whether your area has taken significant hail or wind in recent years (public storm reports). If it has, two adjustments: down-rank neighborhoods that got hit long ago and are likely already reroofed, and up-rank aging roofs in areas hit recently where damage is still unaddressed. Note the storm dates — they're useful talking points and they tell you which roofs were stressed while already old.

Step 6 — Score each address

Turn your signals into a single priority score so reps and routes can sort by one number. A simple, transparent model works well. Example weighting:

Signal Points
Estimated roof age 20+ yrs 40
Estimated roof age 15–19 yrs 25
Estimated roof age 8–14 yrs 10
Visible distress (patches/tarps/missing) +20
Significant storm in last 3 yrs, roof not yet replaced +20
Reroof permit in last 6 yrs −60 (effectively removes)
Owner-occupied (mailing = site address) +5

A roof scoring 80+ is a priority door. 40–79 is a solid knock. Under 40 you skip or save for mail. The exact weights matter less than having one consistent number your team trusts, so a rep can work top-down and a route can be built mechanically. Keep it transparent — reps work a list harder when they understand why a door ranked.

Step 7 — Build the route

Sort by score, then cluster geographically so a rep isn't crisscrossing town to chase the next-highest door. The practical move: take the top-scoring addresses, group them by block/subdivision, and sequence each cluster as a walkable loop. You want density — a rep working a tight loop of mostly-good doors keeps momentum; a rep driving between scattered singletons loses the day to windshield time.

Step 8 — Tag the mail list

The doors you don't knock aren't dead. Mid-score addresses (aging but not top-tier, or geographically isolated from your knock clusters) become your direct-mail list. Mail the 15–20-year bands you can't reach on foot; keep the freshly-reroofed ones off the mail entirely. This is where most companies bleed money — mailing the whole ZIP, including the new subdivisions, because the list was never age-sorted.

A worked example

Make it concrete. Maple Grove subdivision, built out 1998–2001, ~600 homes, temperate market where asphalt runs ~22 years. Three years ago it took a notable hail event.

  1. Universe: 600 single-family parcels from the assessor. Year built 1998–2001, so the original roofs would now be 25–28 years old. On paper, all 600 look prime.
  2. Year-built filter: all 600 pass (all old enough). Tempting to mail the whole thing.
  3. Permit pass: the last 8 years of reroof permits show 210 addresses replaced — many right after that hail event three years ago. Delete those 210. Down to 390.
  4. Imagery pass: reading aerials, another ~120 are clearly newer than the permit list caught (reroofs that skipped permits, visibly crisp). Remove. Of the remaining ~270, about 90 read as genuinely aging/original — faded, streaked, original-looking among reroofed neighbors — and 12 show visible distress (a couple of tarps, several patched slopes).
  5. Storm layer: the 270 survivors were all old during the hail event three years ago and apparently weren't replaced — meaning either undamaged or damage never addressed. The aging 90 + distressed 12 jump in priority.
  6. Score & route: the 12 distressed homes score 80+ (priority). The 90 aging score 40–79 (solid knocks). The remaining ~168 borderline ones go to mail. You've turned "mail 600, knock blind" into knock ~100 strong doors and mail ~168 maybes — and you stopped mailing 330 homes with newish roofs.

The difference between the naive approach (600 doors, scattershot) and the sorted list (~100 priority knocks plus a clean mail segment) is the difference between a rep booking two inspections in a long day and booking six.

Running the same math on the mail spend

The waste isn't only in feet-on-the-street; it's louder in the mail budget. Say a postcard run lands around a dollar per piece all-in (printing, list, postage, design amortized). Mailing all 600 Maple Grove homes is roughly $600 per drop, and most direct-mail programs run several drops to the same list over a season to build recognition — call it three drops, $1,800. Of that, you just established that more than half the homes (the 330 with recent or new roofs) cannot buy. You spent roughly $1,000 of that $1,800 reaching roofs that don't need you.

Age-sort the mail to the ~168 borderline survivors and the same three-drop season costs about $500 and reaches only homes with a roof old enough to matter. Same recognition-building cadence, a third of the spend, and every dollar lands on a roof in the window. Multiply that across every subdivision you mail in a year and the age-sort pays for the entire list-building effort several times over. This is the cleanest money most roofing companies leave on the table — not because they can't afford the data work, but because nobody ever told them the postcard to the 2018 subdivision was pure loss.

Where a roof-age intelligence platform fits

Everything above is doable by hand, and plenty of sharp roofers do it manually for a few hundred homes. The wall you hit is scale and the imagery pass. Reading aerials and reconciling permits across thousands of parcels is slow, and it's the step that actually separates the prospect list from the phone book. Doing it by eye for a whole metro isn't realistic week over week.

This is the gap RoofPredict is built for. You give it an area, and it scores the roofs in it by estimated age (as a range) combined with the storms each roof has actually taken — not a generic hail map, but storm exposure modeled house by house. Instead of hand-reading aerials and cross-checking permit lists, you get a ranked list of which roofs are due, so your crew knocks and mails the worn-out ones and skips the new ones. It's the imagery-and-storm pass — Steps 4 and 5 above — done across a whole area instead of a hundred homes at a time.

A few things worth being straight about, because a tight trade compares notes:

  • It's not a lead service. It doesn't sell you a homeowner who filled out a form, and it doesn't resell the same name to five competitors. It sharpens the outbound you already do on streets you already work — it tells you which doors, not who to call.
  • Roof age is a range, not a date. Same honest limit as doing it by hand: the output is an age band and a condition/priority read, not a birth certificate for the roof. Anyone promising an exact install date from imagery is overselling.
  • Storm modeling is odds, not proof. Modeling which roofs a storm likely wore out tells you where to look first; it is not a substitute for getting on the roof and documenting actual conditions. Treat it as a sharper prioritization of the same inspection work, not a replacement for it.
  • You still have to knock. A better list books more inspections per day; it doesn't close jobs for you. The pitch, the inspection, and the build are still yours.

The honest pitch is narrow and that's the point: it removes the slowest, most skill-dependent step in age-based prospecting — reading every roof — and lets a small team work a metro the way one sharp estimator could work a single subdivision. Whether you use a platform or do it by hand, the workflow is identical; the tool just changes how many homes you can run it across.

Storm restoration: age plus storm, per roof

If you do storm/insurance restoration work, age sorting and storm history aren't two lists — they're one. The doors worth working after a storm are the ones where an aging roof met real impact. A brand-new architectural roof in the middle of a hail swath is usually not your job; the 20-year-old roof two doors down on the same street, same storm, very often is.

That's why a storm map alone leads you astray. It colors the whole swath as opportunity. The reality is house by house: stone size, wind direction, slope, material, and existing age decide whether a given roof was actually compromised. Sorting your post-storm list by age first, then storm exposure per roof points your crew at the roofs the storm genuinely wore out, instead of canvassing the whole hit ZIP and confirming half of it the hard way.

A note on staying clean and legal, because storm work attracts trouble: your job is to document conditions and provide an honest estimate of the work. The homeowner owns their claim and the insurer decides coverage. Don't promise to handle, file, or negotiate claims, don't make promises about deductibles, and don't market a "free roof." An age-and-storm prospect list tells you which doors to knock; what you say at the door has to stay on the right side of your state's rules. Know your state DOI/insurance regulations and the FTC guidance on deceptive claims before your reps go out. A sharp list is an advantage; a compliance problem erases it.

List hygiene: keeping it alive

A prospect list is perishable. Roofs get replaced — sometimes by you, often by a competitor — and a list you built 18 months ago is quietly decaying. Treat it like inventory.

Maintenance routine:

  • Mark every outcome. When a rep works a door, the result goes back on the record: replaced recently (dead), not interested, not home, inspection booked, sold. A door knocked with no logged outcome will get knocked again by the next rep — wasted and annoying.
  • Refresh permits quarterly. New reroof permits = new homes to delete from your active list. This is the cheapest hygiene step and it keeps you from knocking roofs a competitor just did.
  • Re-image annually. Once a year, re-check aerials for the areas you work. Roofs age, storms hit, neighborhoods turn over. The holdout you skipped last year as borderline may now read clearly aged.
  • Age the bands forward. A roof you scored as 13 years old is now 15. Periodically advance your age estimates so homes graduate into the prospect window on schedule. A clean list slowly feeds you new prospects from homes that were too new last cycle.
  • Suppress your own customers and recent installs. Nothing burns goodwill like knocking the door of a roof your own crew installed two years ago. Keep your completed-jobs list as a hard suppression layer.

The CRM angle most roofers ignore: your single best age-sorted list might already be in your own files. Every old estimate you didn't close and every customer you served years ago is a known address with a roof aging on a clock you can calculate. The homeowner you bid in 2014 who went with someone cheaper now has a 12-year-old roof — and a relationship with you. Run your existing book through the same age logic before you spend a dollar acquiring new addresses. That money is already on your shelf.

How to actually mine it: export every estimate, inspection, and completed job from your CRM with its address and the date you touched it. For repairs and lost bids, the roof at that address was already some unknown age when you saw it — but the clock has run since, and the homes you bid years ago are now years deeper into their window. For roofs you installed, you know the exact install date, which makes them the rare addresses where you actually have roof age to the day: suppress them until they approach end of life, then they become warm, pre-qualified leads with a relationship already built. A repair customer from eight years ago whose roof you patched is a different conversation from a cold knock — you've stood on that roof, you know its history, and you have a reason to call. Sort that book by age the same way you sort a cold neighborhood, and the warmest section of your whole list costs you nothing to acquire.

Turning the list into a better conversation at the door

An age-sorted list does more than route a rep efficiently — it changes what a rep can honestly say when the door opens, and it lets a green hire sound like a veteran without ever having climbed a ladder. The difference between "hi, we're doing roofs in the neighborhood" and a specific, grounded opener is enormous, and the list is what makes the specific version possible.

A rep working a scored door already knows the roof is likely old, that the area took hail three years ago, and that the neighbors have been reroofing. That's enough to lead with something real and homeowner-centered: an observation about the age of the roofs on the street, a note that several neighbors have recently replaced, an offer to take a look and document what's actually up there. None of it requires the rep to have years of instinct — the list supplied the context that instinct usually provides.

Three rules to keep that conversation honest and effective:

  • Lead with the roof, not the storm. "Roofs on this street are reaching the age where it's worth a look" is true and durable. Opening with storm-damage claims invites skepticism and, in storm markets, regulatory scrutiny. Let the inspection establish damage; let the list establish that the roof is old enough to inspect.
  • Offer to document, not to diagnose from the curb. A rep shouldn't be promising findings before getting on the roof. The list says "this roof is probably old"; the inspection says what's actually wrong. Keep those separate out loud.
  • Carry the area's storm dates and the neighborhood's reroof activity as context, not as a script. Homeowners trust a rep who clearly knows the street. "A lot of folks around here replaced after the hail a few years back, and yours looks like it's from before that" is grounded, specific, and true if your list work was done right.

The payoff loops back to retention: a green rep handed this context has real conversations, books inspections, earns commission, and stays. The list is doing two jobs at once — pointing the rep at the right door and arming them with something true to say when it opens.

A pre-knock checklist

Before a rep works a list, every door should clear this:

  • Estimated roof age is in your regional prospect window (or storm-overridden).
  • No reroof permit in the last 6 years on this address.
  • Aerial imagery checked — roof is not visibly newer than neighbors.
  • Address is not on your own completed-jobs suppression list.
  • Outcome from any prior knock is logged and not "dead."
  • Address is clustered into a walkable route, not a standalone drive.
  • Owner-occupancy noted where it matters for the pitch.
  • Storm dates for the area on hand as context for the conversation.
  • Compliance basics squared away: no claims-handling, deductible, or "free roof" promises.

If a door can't clear the first three lines, it doesn't belong on a knock route — push it to mail or drop it.

Common ways the list goes wrong

Patterns that quietly wreck age-based prospecting:

  • Trusting year built as roof age. The original sin, worth repeating. It over-includes reroofed homes and sends reps to 5-year-old roofs. Always subtract known re-roofs.
  • Mailing the whole ZIP. Age-sort the mail list too. New subdivisions on a postcard run are pure waste, and they're the easiest waste to cut.
  • Chasing old storms. A neighborhood hit five years ago is largely reroofed already. The opportunity there is the holdouts, not the swath — and you only find holdouts with imagery, not with the storm map.
  • No outcome logging. A list without logged results decays into reps re-knocking the same dead doors and skipping fresh ones.
  • Scattered routes. A perfect score list worked in geographic chaos loses half the day to driving. Cluster, always.
  • Over-trusting the model — yours or a vendor's. Age estimates are ranges and storm models are odds. They tell you where to look first; they don't replace getting on the roof and documenting what's actually there. Treat the list as a prioritized starting point, verify on site.
  • Letting the list go stale. Build once, never refresh, and within a year you're working a list that no longer matches the roofs. Hygiene is the work.

Bringing it together

Building a roofing prospect list by roof age comes down to a discipline most companies skip: refuse to treat year built as roof age, and do the correction work. Start with the assessor universe, filter by your region's real shingle lifespan, subtract the re-roofs you can see in permits, verify and rank with imagery, layer storm history per roof, score every address with one transparent number, and route the winners tight while mailing the maybes. Then keep it clean — log outcomes, refresh permits, re-image, and age the bands forward.

Done by hand, it's a real day of work per area, and it pays for itself the first time a rep books six inspections off a list that used to yield two. Done with a platform that handles the imagery-and-storm pass across a whole metro, it's the same workflow at a scale a small team could never read by eye. Either way the principle holds: knock the roofs that are actually due, mail the ones you can't reach, and stop spending your crew's hours on roofs that don't need you. The roofs old enough to replace are sitting on streets you already drive — the work is seeing which ones, before anybody gets on a ladder.

FAQ

Can I just use the year a house was built to estimate roof age?

No — it's the most common mistake in age-based prospecting. Year built is the age of the original roof and almost never reflects re-roofs, which rarely update the assessor record. A 1999 home might have a 27-year-old original roof or a 5-year-old replacement, and year built can't tell them apart. Use it as a starting hypothesis, then subtract known re-roofs using permits and aerial imagery before you reach out.

How accurate can a roof-age estimate really be?

Think in ranges, not exact dates. From records and imagery you can confidently sort roofs into bands (roughly 0–8, 8–14, 15–20, 20+ years) and read condition signals like granule loss and patching. You generally cannot determine an exact install date from a photo. A range is all a knock list needs — you're prioritizing doors, then verifying the promising ones on site.

What's the best free data source for finding old roofs?

Two, used together. County assessor records (free, public) give you the address universe and year built. Building permit records (often free) give you reroof dates, which let you delete recently replaced roofs from your list. Permits as a negative filter — skip any address with a reroof permit in the last several years — is one of the highest-ROI free steps you can take.

How does building permit data help if not every reroof pulls a permit?

Permit data works as a one-way filter. A reroof permit is strong proof a roof is recent, so you remove that address — high confidence. Missing permits don't prove a roof is original (some re-roofs skip permits), so you don't conclude anything from absence; you catch those in the imagery pass instead. Deleting the obvious recent re-roofs alone meaningfully lifts your hit rate.

How old should a roof be before I knock the door?

It depends on your climate. In hot, high-UV markets asphalt may last 15–20 years, so the prospect window opens around 12–14. In temperate markets shingles run 18–25 years, so you start around 15–17. The window opens before total failure because homeowners replace ahead of failure when prompted. A significant recent hail or wind event can override age and make a much younger roof a prospect.

Why isn't a hail/storm map enough to build a post-storm list?

A storm map shows where it hailed, not which roofs the hail actually wore out. On the same street, same storm, a new architectural roof may be fine while a 20-year-old roof two doors down is finished — stone size, wind direction, slope, material, and existing age all matter. You need age and storm exposure held together house by house, not a swath colored red.

Should I age-sort my direct mail list too, or just my knock list?

Both. Mailing the whole ZIP — including new subdivisions — is one of the biggest sources of wasted spend in roofing marketing. Age-sort the mail list the same way: mail the 15–20-year bands you can't reach on foot, and keep recently reroofed and new-construction addresses off the mail entirely.

How does RoofPredict differ from EagleView, HOVER, or Roofr?

They're different categories. Measurement tools like EagleView, HOVER, and Roofr measure a roof you've already chosen — squares, pitch, facets — for estimating and ordering material. They don't tell you which house to approach. RoofPredict answers the upstream question: of all the roofs in an area, which are due, based on estimated age range plus the storms each roof has actually taken. One measures the house; the other tells you which house.

Is RoofPredict a lead service that sells me homeowner contacts?

No. It doesn't sell you a homeowner who filled out a form and doesn't resell the same name to competitors. It scores the roofs in an area you already work by estimated age and per-roof storm exposure, so you can prioritize which doors to knock and which addresses to mail. The pitch, inspection, and job are still yours — it sharpens your outbound rather than renting you a contact.

How often do I need to rebuild or refresh my prospect list?

Treat it as ongoing maintenance, not a one-time build. Log every door's outcome so reps don't re-knock dead addresses, refresh reroof permits quarterly to delete newly replaced roofs, re-check aerial imagery annually, and advance your age estimates so homes graduate into the prospect window over time. A maintained list quietly feeds you new prospects as borderline roofs age into the buying window.

Can I keep my roofing list-building and door-knocking compliant in storm markets?

Yes, and you should treat it as non-negotiable. Document roof conditions and give an honest estimate; let the homeowner own their claim and the insurer decide coverage. Don't promise to handle, file, or negotiate claims, don't make deductible promises, and don't advertise a 'free roof.' Check your state department of insurance rules and FTC guidance on deceptive claims before reps go out — a good list is no defense against a compliance violation.

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. National Roofing Contractors Association (NRCA)nrca.net
  2. Asphalt Roofing Manufacturers Association (ARMA)asphaltroofing.org
  3. Insurance Institute for Business & Home Safety (IBHS)ibhs.org
  4. NOAA Storm Prediction Center — Storm Reportsspc.noaa.gov
  5. NOAA National Centers for Environmental Information — Storm Events Databasencdc.noaa.gov
  6. National Weather Serviceweather.gov
  7. International Residential Code (IRC) — International Code Counciliccsafe.org
  8. OSHA — Fall Protection in Residential Constructionosha.gov
  9. U.S. Census Bureau — American Housing Surveycensus.gov
  10. U.S. Census Bureau — Building Permits Surveycensus.gov
  11. Federal Trade Commission — Advertising and Marketing Guidanceftc.gov
  12. Texas Department of Insurance — Hail and Roof Damagetdi.texas.gov
  13. U.S. Department of Energy — Cool Roofsenergy.gov
  14. RoofPredictroofpredict.com

Related Articles