Skip to main content

How to Find Addresses With Old Roofs to Mail (Without Buying Leads)

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

Every roofer who has ever mailed a postcard has felt the same quiet frustration. You spend real money — design, printing, postage, the list itself — and you blanket a few thousand homes. A handful call. The math, when you actually run it, is brutal: you paid to land on hundreds of roofs that were replaced four years ago, dozens of new builds, a stretch of rentals nobody reads mail at, and a few apartment complexes that should never have been on the list at all. The roofs that were genuinely worn out and ready for a conversation? They got the same single postcard as everyone else, with no extra weight behind them.

The question "how do I find addresses with old roofs to mail" is really a question about waste. You are not trying to mail more. You are trying to mail the right homes — the ones whose roofs are aging out of their service life — and stop paying to reach the ones that aren't. Get that right and a mediocre mail piece outperforms a beautiful one sent to a random list. Get it wrong and no amount of design saves you.

This is a working method for building a mailing list of homes whose roofs are old enough to be near or past replacement. It covers how roof age is actually estimated, where the public data lies to you, how to read aerial imagery, how to layer storm exposure on top of age, how to clean and skip-trace a list so it mails cleanly, and how to track results so the next drop is sharper than the last. It is written for the owner or sales manager who is going to do this work, or hand it to someone who will, and wants it done like a pro instead of like a guess.

Why "old roof" is the only targeting variable that consistently pays

Most roofing lists are built on the wrong axis. People buy by ZIP code, by home value, by "new mover," by household income. Those filters tell you who can afford a roof. They tell you nothing about whether the roof needs replacing. A million-dollar home with a six-year-old architectural shingle is a worse prospect than a modest 1,400 square foot ranch with a 23-year-old three-tab that's curling at every edge.

The replacement decision is driven by the physical condition of the roof, and condition is driven mostly by age and weather exposure. A standard asphalt shingle roof in the United States is generally expected to last somewhere in the range of 15 to 30 years depending on the product, the install quality, the ventilation, and the climate. Three-tab shingles trend to the shorter end; laminated and architectural shingles trend longer; designer and impact-rated products longer still. The National Roofing Contractors Association and shingle manufacturers publish service-life expectations in roughly that band, and field experience matches it.

What this means for your list: the homes you want are the ones sitting in the back third of that window. A roof that's 16 to 25 years old is in the zone where small problems compound, where a moderate hailstorm tips it from "tired" to "failed," and where a homeowner is mentally ready to spend money because they already suspect it's coming. A roof that's 4 years old is a hard no, no matter how nice the house. If your mail list cannot separate those two homes, you are paying to talk to both of them equally — and one of them will never, ever buy from a postcard.

So the entire game is estimating roof age by address, accurately enough and cheaply enough to do it across thousands of homes, then mailing only the back third of the age window. Everything below is in service of that.

The trap that wastes most roofing mail budgets: year built is not roof age

Here is the single most expensive mistake in roofing list building, and almost everyone makes it at least once.

You pull a list from a county property record, a data broker, or a real estate site, and it gives you "year built." You sort by oldest year built, you mail the oldest homes, and you assume you're hitting old roofs. You are not. Year built is the age of the house. It is almost never the age of the roof.

A 1968 house in an established neighborhood has very likely been re-roofed at least once, possibly twice or three times. The current roof on that 1968 home might be 8 years old. Meanwhile a 1998 home two streets over might still be wearing its original roof at 27 years. If you target by year built, you mail the 1968 home (new roof, terrible prospect) and skip the 1998 home (original roof, perfect prospect). You have it exactly backwards.

The re-roof is invisible in the property record. County assessors track the structure and sometimes major permits, but a re-roof permit — when one is even pulled — frequently doesn't update a clean, queryable "roof installed" field you can buy. Real estate sites surface year built because it's a structural fact; they do not know when the shingles were last replaced. So any list filtered on year built is silently contaminated with homes that were re-roofed and homes that weren't, with no way to tell them apart.

This is why pros who care about efficiency move off year built entirely and toward two better signals: direct visual roof age estimation from aerial imagery, and permit history where it's reliable. The rest of this is mostly about doing those two things well.

What the data sources actually give you (and what they hide)

It helps to be precise about what each common source knows and doesn't know, so you stop trusting fields that are lying to you.

Source What it gives you What it does NOT tell you
County assessor / parcel data Year built, square footage, owner name, lot, sometimes permits When the roof was last replaced; current roof condition
Real estate listing sites Year built, last sale, beds/baths, photos (sometimes a roof shot) Roof age on non-listed homes; re-roof history
Consumer data brokers Demographics, income, new movers, year built Roof age, roof condition, storm exposure
Building permit records Re-roof permits where pulled and digitized Roofs replaced without a permit; many small jurisdictions
Aerial / satellite imagery A current top-down look at the actual roof An exact install date (you estimate a range)
Storm / hail reports (NWS/SPC) Where hail and high wind passed, and when Which specific roofs got hit hard enough to matter

Notice the pattern. Every cheap, easy-to-buy field tells you about the house or the household. Only the harder sources — imagery, permits, storm data — tell you about the roof. The work of building a good list is the work of getting at those harder sources and combining them.

How roof age is actually estimated from aerial imagery

You cannot buy a reliable "roof installed on this exact date" field for residential homes at scale. It does not exist as clean public data. What you can do — and what skilled estimators, adjusters, and the better software do — is estimate roof age as a range from visual evidence, mostly from overhead imagery, sometimes confirmed from the ground. A range like "roughly 18 to 22 years" is enough to make a mailing decision. You do not need a birthday; you need to know which third of the service-life window a roof is in.

Here is what an overhead view actually tells you, and how to read it.

Visual signals of roof age from the top down

  • Granule loss and color fade. New asphalt shingles are saturated and uniform in color. As they age, the protective granules wash off, the surface lightens and goes blotchy, and you start to see the darker asphalt mat showing through. A roof that reads as patchy, faded, and lighter than its neighbors is older. A roof that's deep, even, and crisp in color is younger.
  • Surface texture and streaking. Older roofs develop dark streaking (often algae, Gleocapsa magma) and an uneven, mottled texture. Long black streaks running down the slopes are a strong age-and-neglect signal.
  • Sagging, waviness, and deck deformation. A roof plane that's no longer flat — that ripples or dips — points to an aged or moisture-damaged deck underneath. That's a roof near the end.
  • Repair patches and mismatched sections. A rectangle of different-colored shingles is a patch. Patches mean the homeowner has already been spending money to keep an old roof alive — a buying signal, not a disqualifier.
  • Comparison to the block. This is the underrated move. In a tract subdivision, many homes were built and roofed in the same window. If most of a street looks similarly weathered and a few homes are crisp and dark, those few were recently re-roofed (skip them) and the rest are all aging together (mail them). The neighborhood is your control group.
  • Roof type and pitch. Steeper, more complex roofs and certain materials age differently, and you'll calibrate your eye over time. The point is to be consistent.

A few practical notes on actually reading the imagery, because the quality of your call depends on the quality and freshness of the picture. Use the most recent imagery you can get — aerial photos can be a year or two old, and a roof replaced last spring will still look old in last year's tiles. Check the imagery date if it's shown. Look at the roof at a consistent zoom so your sense of "faded" stays calibrated from house to house; zooming in and out randomly throws off your eye. Watch the sun angle, too — a roof in deep shadow or photographed in flat light reads differently than one in bright sun, so judge texture and streaking more than raw brightness. And always sanity-check against the neighbors on the same imagery pass, because they were all shot under the same conditions, which controls for lighting and date automatically. When in doubt on a high-value home, a quick drive-by from the street confirms what the overhead view suggested — curling edges, lifted shingles, and granule piles in the gutters are obvious from the curb.

You can do this manually on a free aerial map for a single street. Pull up a satellite view, go into it tile by tile, and you can genuinely sort a block into "old / medium / new." It works. The problem is it does not scale. Manually eyeballing 3,000 homes for a mail drop is days of mind-numbing work, and your judgment drifts after the first hundred roofs.

Worked example: reading one street

Picture a 1990s-built cul-de-sac of 14 homes, same builder, same original shingle. You open the aerial view:

  • 9 homes read faded, gray-brown, streaked, a couple with visible patches. These are wearing close to their original ~28-year-old roofs. Mail all 9.
  • 3 homes are crisp, dark, even-toned, no streaking. Re-roofed in the last few years. Skip.
  • 2 homes have a newer-but-not-new look — moderate fade, no streaking, clean lines. Maybe 8 to 12 years. Lower priority; mail if budget allows, but they're not the back third.

That single street just went from "14 homes, mail them all" to "9 high-priority, 2 maybe, 3 never." You cut a third of your spend on that block and concentrated it on the homes that can actually convert. Multiply that across a whole campaign and the efficiency gain is enormous — that's the difference between mail that loses money and mail that pays.

Run the actual economics before you mail

The reason targeting matters isn't abstract — it's arithmetic, and it's worth doing the arithmetic out loud so you feel it. Suppose a postcard drop costs you on the order of 50 to 80 cents all-in per piece by the time you've paid for the list, design, print, and postage. Mail 5,000 untargeted homes and you've spent somewhere around 2,500 to 4,000 dollars. If half of those homes have roofs that are too new, rentals you can't reach, or vacant addresses, you just spent half your budget reaching homes that physically cannot become a roof job this year. That wasted half isn't a rounding error; it's the difference between the drop paying for itself and the drop being a write-off you grumble about for a quarter.

Now run it the other way. Spend the same 2,500 to 4,000 dollars, but mail only the 2,500 homes that are actually in the back third of the roof-age window. Your cost per piece is the same, but every piece is landing on a candidate. You can afford to mail that tighter list twice for the price of mailing the bloated list once — and a relevant message hitting a qualified home twice will out-convert a single piece to a random home every time. The targeting didn't just save money; it bought you frequency on the right doors. That's the whole argument for doing the visual grading work before you ever send anything to print.

Keep a back-of-envelope target in mind: if a single roof replacement is worth several thousand dollars to you in revenue, then a 5,000-dollar drop only needs to produce a single job to break even, and two to be clearly worth repeating. The tighter your list, the lower the number of pieces you need to mail to hit that break-even — which is exactly why precision beats volume in this channel.

A complete workflow to build the list yourself

If you're going to do this by hand, do it in a defined sequence so it's repeatable and you can hand it to a coordinator. Here's the full workflow.

  1. Pick the geography deliberately, not lazily. Don't mail a whole city. Choose neighborhoods where the housing stock is the right age. The sweet spot is subdivisions built roughly 15 to 28 years ago that have NOT been heavily re-roofed yet, plus older neighborhoods where you can visually confirm a lot of tired roofs. Drive them if you can. A 20-minute drive through a subdivision tells you more than an hour of spreadsheet work.
  2. Pull the base parcel list. Get the address list for those neighborhoods from county parcel/assessor data or a list provider. Capture address, owner name, owner-occupied flag, year built, and square footage. You'll use year built only as a weak hint, never as the decision.
  3. Filter out the obvious non-targets first. Remove new construction (year built within the last ~7 years — those roofs are too new regardless), remove non-single-family where it doesn't fit your model (large multifamily, commercial parcels unless you do commercial), and flag absentee/rental owners for a separate treatment or removal depending on your strategy. This is cheap and removes a big slice of dead weight before you do any visual work.
  4. Visually grade the remaining roofs from aerial imagery. Go street by street. Tag each roof old / medium / new using the signals above. Use the neighborhood-comparison trick to spot the recently re-roofed homes and pull them out. This is the labor-intensive core step.
  5. Layer storm exposure on top of age (covered in its own section below). A roof that's both aging and was sitting under a significant hail or wind event jumps to the top of the list.
  6. Clean the addresses for mailing. Standardize to USPS format, run CASS/NCOA processing, remove undeliverable and vacant addresses, and dedupe. (Details below — this step quietly saves real money.)
  7. Decide your owner strategy. Owner-occupied homes are usually your priority for replacement mail. Decide whether you're skip-tracing absentee owners (for rentals you can pitch as a landlord's capital decision) or dropping them.
  8. Tier the list and assign budget. Split into A (old roof + storm exposure), B (old roof, no notable storm), and C (medium). Mail A more times and with a stronger piece; mail B once or twice; skip C unless budget is sitting idle.
  9. Mail, then track by tier. Use distinct phone numbers or codes per tier so you can measure which tier actually responds. Feed that back into the next drop.

That's the honest, do-it-yourself method. It works. The bottleneck — every single time — is step 4, the visual grading at scale, plus the judgment to do steps 5 and 8 well. That's exactly where most roofers either burn out, hire it out, or look for software.

Where roof-age data and storm modeling do the heavy lifting

The manual workflow above is real and it works for a street or a small subdivision. The moment you want to do it across a whole market — tens of thousands of homes — the visual grading step breaks down. No human consistently grades 30,000 roofs, and the judgment drifts.

This is the specific gap RoofPredict was built to close. It scores roofs across your area straight from aerial imagery and gives you a roof-age range per address — the same signal you'd be reading by eye, produced consistently across every home instead of the few hundred you'd have the patience to grade yourself. So instead of staring at satellite tiles for days, you get a list where every home already carries an age estimate, and you can pull the back third of the service-life window in one pass.

The second thing it does is the part that's genuinely hard to do by hand: it models the storm physics on each individual roof, rather than only where the storm passed. A public hail map tells you a storm crossed a county. It does not tell you which roofs in that county actually took an impact hard enough to matter — that depends on hail size, wind direction, the roof's orientation and pitch, and exposure. Modeling that per home, then pairing it with roof age, is what surfaces the homes that are both worn out and recently hit. Those are the doors that convert.

A few honest limits, because the data is only useful if you trust it:

  • Roof age is a range, never an exact install date. Nobody can give you a birthday for a residential roof from imagery. "18 to 22 years" is the right kind of answer, and it's enough to make a mailing decision.
  • Storm modeling is odds, not proof. It tells you which roofs were most likely worn or hit. It does not certify damage. You still confirm condition with an actual inspection before you make any representation about a specific roof.
  • It sharpens the outbound you already do — it is not a lead service. It doesn't hand you homeowners who raised their hand. It tells you which of your OWN streets and which homes on them are worth the postage, so the mail you were going to send anyway lands on the right doors. The job of converting them is still yours.

Used that way, it collapses the painful step-4 labor and adds the storm layer you basically can't compute by hand. The thesis is simple: you should own your next job — pulled from your own streets and your own list — instead of renting it from a lead site that sold the same homeowner to five of your competitors, or waiting on a storm to bail out your month. A clean, age-and-storm-scored mailing list is one of the most direct ways to own that work.

Layering storm exposure on top of roof age

Age tells you which roofs are tired. Storm history tells you which tired roofs just got pushed over the edge. The two together are far stronger than either alone, and this is where a lot of roofing mail leaves money on the table by ignoring weather entirely.

Get the storm data from authoritative sources

You do not need to guess where it hailed. The National Weather Service and the NOAA Storm Prediction Center publish severe weather reports — hail size and wind events with dates and locations — and NOAA's storm event databases let you look back over time. These are free, public, and authoritative. Pull the hail and high-wind events for your market over the last several years and note the dates and approximate footprints.

The Insurance Institute for Business & Home Safety (IBHS) publishes solid research on hail and wind damage to roofing materials, which is worth reading so you understand what size hail actually damages what kind of shingle. Not every hail report means damaged roofs; small hail on a newer impact-rated roof may do nothing, while moderate hail on a 20-year-old three-tab can be the end of it. Age and storm interact — that's the whole point.

How to combine the two signals

Think of it as a simple priority grid:

Recent significant storm No notable storm
Old roof (back third of life) Tier A — mail first, mail most Tier B — solid mail target
Medium-age roof Tier B — storm may have aged it fast Tier C — usually skip
New roof Skip (likely fine / under warranty) Skip

The top-left cell is gold: an aging roof that was sitting under a real hail or wind event. Those homeowners may already be wondering about their roof, may have neighbors getting work done, and are the most ready to respond to a relevant, well-timed piece of mail. The bottom rows are where most blanket campaigns waste their money.

One caution: doing this storm overlay by hand is tedious. Mapping historical hail footprints against thousands of addresses, then cross-referencing roof age, is exactly the kind of multi-variable join that's painful in a spreadsheet and easy to get wrong. It's the other half of why per-roof storm modeling exists.

Cleaning and preparing the list so it mails without bleeding money

You can have the most perfectly targeted list in the world and still set fire to your budget if the addresses are dirty. List hygiene is unglamorous and it is where disciplined roofers quietly out-earn sloppy ones. Walk through it properly.

Standardize and validate every address

Run your list through CASS-certified address standardization. This is the USPS-recognized process that corrects and standardizes addresses to a deliverable format (proper ZIP+4, standardized street suffixes, etc.). Mail that isn't standardized is more likely to be returned or delayed, and clean addresses qualify you for better postage rates. Most list and mail vendors offer CASS processing; use it every time.

Run NCOA to catch movers

The USPS National Change of Address (NCOA) process updates addresses for people who've filed a change of address. For roofing this cuts both ways: you remove homeowners who moved away (your pitch is to the current resident of the house), and you make sure you're not mailing forwarded pieces to the wrong place. NCOA processing is cheap relative to wasted postage.

Suppress vacant and undeliverable addresses

The USPS flags addresses as vacant or no-stat. A vacant home is wasted postage and, often, a wasted target — though note a recently vacated home can occasionally be a sale-in-progress worth a different play. At minimum, know which addresses are flagged so you're spending consciously.

Decide owner-occupied vs. absentee deliberately

For replacement mail, owner-occupied homes are usually your core. The owner lives under the roof, feels the problem, and makes the decision. Absentee owners (rentals) are a different conversation — a roof is a capital expense and a landlord may not respond to homeowner-flavored mail. Either mail them a landlord-specific message or suppress them. Pull the owner-occupancy flag from your parcel data or list provider and split accordingly.

Skip-trace only where it earns its keep

Skip-tracing — appending a name, phone, or mailing address to a property — is worth it when you want to follow mail with a call, or when the owner is absentee and you need their actual mailing address (not the rental's). It costs money per record, so apply it to your A tier, not the whole list. Mailing to "Current Resident" or "Homeowner" is perfectly fine for a first touch on owner-occupied homes; personalize the high-value records.

Dedupe and cap per household

Dedupe so the same household doesn't get three pieces in one drop (it happens more than you'd think with multi-source lists). Then deliberately decide your frequency — one postcard rarely does it. Plan a sequence.

A pre-mail QA checklist

Before a single piece goes to print, confirm:

  • Addresses CASS-standardized and NCOA-processed
  • Vacant / undeliverable flagged and handled
  • New construction (roof too new) removed
  • Recently re-roofed homes pulled out via aerial check
  • Owner-occupied vs. absentee split and messaged correctly
  • Duplicates removed
  • List tiered A/B/C with age (and storm where you have it)
  • Tracking number or code assigned per tier
  • A small holdout/test cell defined so you can measure lift

Every box you skip costs you money on the drop or blinds you on the results.

The mail piece and cadence: targeting fails if the piece and timing are wrong

A precise list deserves a piece worth the precision. You don't need a clever piece — you need a relevant, credible, specific one, mailed enough times.

What to say to an aging-roof homeowner

The message that works is specific and respectful. You're talking to someone whose roof is genuinely old; you don't need hype, you need recognition. A few principles:

  • Lead with the home, not your company. "Roofs in [Neighborhood] built in the late '90s are reaching the age where shingles start to fail" beats "We're the area's #1 roofer."
  • Offer a low-friction first step. A free roof inspection or a roof-age/condition check is a soft ask. You're offering information, not a hard sale.
  • Be honest and specific. Reference the real housing stock, the real age window, the real recent weather if there was a storm. Specificity reads as competence.
  • Make the call to action obvious and trackable. One phone number, one simple action.

Frequency beats a single beautiful drop

Response to a single mail piece is low — that's the nature of direct mail. The roofers who win at mail treat it as a sequence: a tiered, well-targeted list mailed several times over a season will far outperform one gorgeous postcard sent once. Because your list is tight, repeated mailing isn't wasteful — you're reinforcing a relevant message to the right homes, not pestering the whole town. Mail your A tier 3 to 5 times across a campaign; B tier once or twice.

Timing the storm-exposed tier

If part of your list is in a storm-exposed area, timing matters. There's a window after a significant hail or wind event when homeowners are paying attention to their roofs and noticing neighbors getting work done. Mailing your aging-roof-plus-storm tier promptly in that window lifts response. Just keep the message on the right side of the line, which the next section covers.

Storm and insurance language: capture the intent, stay on the right side of the line

A lot of "old roof" mailing overlaps with storm and insurance-claim territory, because an old roof plus a hailstorm is exactly when a homeowner files. This is a place where roofers get themselves in real trouble with the wording on a postcard. Be clear-eyed about what you may and may not say, because crossing the line is unlicensed public adjusting in most states, and it's also just bad practice.

What you legitimately do, and can say: You inspect and document the roof. You photograph and write up the condition. You prepare an accurate, line-item repair estimate (Xactimate-aligned is the norm) for your own scope of work. You hand that documentation to the homeowner. The homeowner files their own claim, and the insurer decides coverage. That's the safe lane, and it's a strong, honest offer.

What you may NOT do or say — keep this list in front of whoever writes your mail:

  • Do not offer to negotiate, adjust, or "handle" the claim for the homeowner.
  • Do not interpret their policy or tell them what is or isn't covered.
  • Do not promise a specific payout, approval, or that the claim will go through.
  • Do not promise the deductible will be waived, absorbed, covered, or "gone." That's both a legal and an insurance-fraud problem.
  • Do not advertise a "free roof" or "insurance pays for everything."
  • Do not represent the homeowner against their insurer. You document your scope; you are not their advocate in the claim.

The safe, effective frame on the mail piece is documentation and inspection: "After the [month] storm, we'll inspect your roof, document any damage thoroughly, and give you a clear repair estimate you can use however you choose." That captures the homeowner's real intent — they want to know if they have a claim — without you stepping into adjusting. Teach this do-not-say list to every rep and every copywriter. It protects your license and your reputation, and it builds more trust than the outfits making promises they can't keep.

This is also where age-plus-storm targeting earns its keep ethically: you're identifying roofs that plausibly have a real problem (old, in a storm footprint), then documenting honestly. You're not manufacturing claims; you're finding genuinely worn-out roofs and telling the truth about them.

What pros get wrong (so you can skip the expensive lessons)

A few failure modes show up again and again. Knowing them is worth a lot of wasted drops.

  • Mailing on year built. Covered above, and it's the big one. Year built contaminates your list with re-roofed homes and hides original-roof homes in newer subdivisions. Move to visual roof age.
  • Blanketing whole ZIP codes. A ZIP is a postal boundary, not a roofing market. It mixes new construction, fresh re-roofs, apartments, and commercial in with your real targets. Target neighborhoods and individual roofs, not ZIPs.
  • Mailing once and quitting. One postcard's response rate looks like failure because it is — for a single drop. The roofers who conclude "mail doesn't work" almost always mailed once. Sequence it.
  • Ignoring list hygiene. Skipping CASS/NCOA and vacant suppression silently burns 5 to 15 percent of a budget on undeliverable and wrong-target pieces every single drop.
  • No tracking, no learning. Without per-tier tracking numbers or codes and a holdout cell, you can't tell which targeting actually worked, so next quarter you repeat the same guesses. Instrument it.
  • Confusing measurement tools with targeting tools. Aerial measurement products (the ones that give you precise roof dimensions and squares for an estimate) answer "how big is this roof," not "which roofs are old enough to mail." Different category. You need the which-house signal first, then measure the roofs that respond.
  • Crossing the insurance line on the postcard. "Free roof," "we waive your deductible," "we handle your claim" — these get roofers fined and sued. Stay on the document-and-estimate side.
  • Treating new-mover lists as roof-need lists. Someone who just bought a house has a roof of unknown age and a freshly drained bank account. New movers are a real list, but they're not an old-roof list.

Tracking results and tightening the next drop

The whole point of precise targeting is that it's measurable and improvable. If you mail blind, you can't get better. Set up tracking so every drop teaches you something.

What to track

  • Response by tier. Use a distinct tracked phone number (call-tracking line) or a unique code/URL per tier so you know whether your A tier (old + storm) actually out-pulled your B and C tiers. If it doesn't, your grading is off — fix it.
  • Cost per response and cost per booked inspection. Total drop cost divided by responses, and again by inspections booked. This is the number that tells you if the campaign made money.
  • Cost per closed job and revenue per piece mailed. The real bottom line. A tight list with a higher cost-per-piece often wins on cost-per-job because the responses are qualified.
  • A holdout cell. Mail a small random sample of your "medium" or even "new roof" homes as a control. If your targeted tiers don't beat the control by a real margin, your targeting isn't adding value yet — and you've learned that cheaply.

A simple results table to keep per campaign

Tier Pieces mailed Cost Responses Inspections Jobs Revenue Cost / job
A (old + storm)
B (old, no storm)
C (medium)
Holdout (control)

Fill this in every campaign and within two or three drops you'll know exactly which targeting earns its postage. That feedback loop — not any single clever tactic — is what turns mail from a gamble into a channel.

Don't sleep on the list you already own

One more source of old-roof addresses, and it's the cheapest one you have: your own records. Every estimate you wrote and lost, every repair customer from years back, every past job — those roofs have aged since you last touched them. A roof you inspected and bid 9 years ago is 9 years older now, and that homeowner already knows your name.

Pull your old CRM, your old estimates, and your past-customer list. Cross-reference roof age (when you bid it, plus the years elapsed) and storm exposure. Homes you bid as "a few years left" half a decade ago are now squarely in the buy zone. This list mails better than any cold list because there's an existing relationship, and it costs you nothing but the effort to mine it. Layer the same age-and-storm logic over it and mail it first.

Putting it all together

Finding addresses with old roofs to mail comes down to a few disciplined moves. Stop targeting on year built, because it's the age of the house, not the roof, and it quietly fills your list with re-roofed homes. Estimate roof age as a range from aerial imagery — by reading granule loss, fade, streaking, sagging, patches, and the neighborhood comparison — and concentrate your mail on the back third of the service-life window. Layer authoritative storm data on top so the aging roofs that just got hit rise to the top. Clean the list ruthlessly with CASS, NCOA, and vacant suppression so you stop paying for undeliverable pieces. Mail a relevant, honest piece several times to your best tier, keep every word on the safe side of the insurance line, and track results per tier so the next drop is sharper than the last. And mine the old-roof list you already own before you buy a single cold record.

The manual version of this works — for a street, a subdivision, a small market. The bottleneck is always the same: visually grading thousands of roofs and joining them to storm history without your judgment drifting or your weekend disappearing. That's the exact work RoofPredict takes off your plate — a roof-age range on every address in your area plus per-roof storm modeling, so the list you mail is already sorted to the homes most likely to be worn out. Honest limits apply: it's a range, not a date; it's odds, not proof of damage; and it sharpens your outbound rather than handing you raised hands. But it turns the back third of every street into a list you can mail with confidence — and it lets you own your next jobs off your own streets instead of renting them from a lead site or waiting on the next storm. Book a demo and hand us a roof you already know the age of; you decide if we nailed it.

FAQ

How do I find the age of a roof by address?

There's no public database with an exact roof install date for residential homes. Instead, roof age is estimated as a range from aerial imagery by reading visual signs of wear: granule loss, color fade, dark streaking, sagging, repair patches, and how a roof compares to similar homes on the same street. Building permit records sometimes show a re-roof date where they're digitized, but many re-roofs are never permitted, so imagery is the more reliable signal. A range like '18 to 22 years' is enough to decide whether to mail a home.

Why can't I just use 'year built' from property records to find old roofs?

Because year built is the age of the house, not the roof. Older homes have very often been re-roofed once or more, so a 1965 home may have an 8-year-old roof, while a 1998 home may still wear its original 27-year-old roof. Re-roofs usually don't update a clean, queryable field in property records, so a list sorted by year built mixes new roofs and old roofs with no way to tell them apart. Estimate roof age visually from imagery instead.

What's the best filter for a roofing direct mail list?

Roof age, specifically homes in the back third of their roof's service life (roughly 16 to 28 years for typical asphalt shingles), narrowed to neighborhoods with the right housing stock and refined by an aerial check to remove recently re-roofed homes. Then layer storm exposure on top. Income, home value, and new-mover filters tell you who can afford a roof but not who needs one, so they make poor primary filters on their own.

How old does a roof need to be before it's worth mailing?

Typical asphalt shingle roofs last roughly 15 to 30 years depending on the product, install quality, ventilation, and climate. The strongest mail targets sit in the back third of that window, roughly 16 years and up, where wear compounds and a moderate storm can tip the roof into failure. Roofs under about 7 years old are almost always a waste of postage regardless of the home's value.

Where do I get reliable storm and hail data to combine with roof age?

Use authoritative public sources: the National Weather Service and NOAA's Storm Prediction Center publish severe hail and wind reports with dates and locations, and NOAA's storm event databases let you look back over several years. The Insurance Institute for Business & Home Safety (IBHS) publishes research on what hail sizes actually damage which roofing materials. Pull the hail and high-wind events for your market, then cross-reference them against your aging-roof addresses.

Should I mail owner-occupied homes or absentee/rental owners?

For replacement mail, owner-occupied homes are usually the priority because the owner lives under the roof and makes the decision. Absentee owners (rentals) are a different conversation: a roof is a capital expense, and a homeowner-flavored message may not land. Either mail absentee owners a landlord-specific message and skip-trace their real mailing address, or suppress them. Pull the owner-occupancy flag from parcel data and split your list accordingly.

What list cleaning do I need before a roofing mail drop?

At minimum: CASS-certified address standardization (for deliverability and better postage rates), NCOA processing to update or remove people who've moved, suppression of vacant and undeliverable addresses, removal of brand-new construction, an aerial check to pull out recently re-roofed homes, an owner-occupied vs. absentee split, and deduplication. Skipping these quietly wastes 5 to 15 percent of a typical drop on pieces that can't convert.

Can I mention insurance or storm claims on my roofing postcard?

You can offer to inspect the roof, document any damage thoroughly, and provide an accurate repair estimate the homeowner can use however they choose. You cannot legally negotiate or handle the claim, interpret their policy, promise a payout or approval, promise to waive or absorb the deductible, or advertise a 'free roof.' Those cross into unlicensed public adjusting and, in the deductible case, potential fraud. Keep the message on the inspect-and-document side: the homeowner files and the insurer decides coverage.

How is roof-age targeting different from aerial roof measurement tools?

They answer different questions. Aerial measurement products tell you how big a roof is (dimensions, squares, pitch) so you can write an estimate. Roof-age targeting tells you which roofs are old enough to be worth contacting in the first place. You use targeting to decide which doors to knock and mail, then use measurement on the roofs that respond. One is 'which house,' the other is 'measure the house.'

How does RoofPredict help find addresses with old roofs to mail?

It scores roofs across your area from aerial imagery and returns a roof-age range per address, the same signal you'd read by eye, produced consistently across every home instead of the few hundred you'd grade manually. It also models storm physics on each individual roof rather than just where the storm passed, so aging roofs that were actually hit rise to the top of the list. Honest limits: roof age is a range, not an exact date; storm modeling is odds, not proof of damage; and it sharpens the outbound you already do rather than acting as a lead service. You still confirm condition with an inspection before making any representation about a specific roof.

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. Roofing Materials and Their Expected Service Lifenrca.net
  2. Hail Damage to Roofing and Asphalt Shingles Researchibhs.org
  3. NOAA Storm Prediction Center Severe Weather Reportsspc.noaa.gov
  4. NOAA Storm Events Databasencdc.noaa.gov
  5. National Weather Serviceweather.gov
  6. USPS CASS Certification and Address Standardizationpostalpro.usps.com
  7. USPS NCOALink Move Update Servicepostalpro.usps.com
  8. International Residential Code, Roof Assemblies (Chapter 9)codes.iccsafe.org
  9. FTC Guidance on Truthful Advertisingftc.gov
  10. Texas Department of Insurance: Public Insurance Adjusterstdi.texas.gov
  11. U.S. Census Bureau American Housing Surveycensus.gov
  12. Bureau of Labor Statistics: Roofers Occupational Outlookbls.gov
  13. OSHA Fall Protection in Roofingosha.gov
  14. RoofPredictroofpredict.com

Related Articles