Skip to main content

How to Target Direct Mail by Roof Age (Without Blanketing the Whole Zip)

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

Walk any roofing owner through their last direct mail campaign and you will usually hear some version of the same story. They pulled a list by zip code, maybe filtered on homeowner and home value, printed twelve thousand postcards, and dropped them. A handful of calls trickled in, two of them turned into jobs, and the spreadsheet said the campaign "broke even." So they ran it again the next quarter, because what else are you going to do.

The problem is not the postcard. The problem is that roughly seventy to eighty percent of those twelve thousand homes did not need a roof, were never going to need a roof inside the next two years, and threw the card straight in the recycling. You paid full postage and print cost to reach a roof that a builder installed in 2019. No headline, no offer, no glossy four-color spread fixes a list that is pointed at the wrong houses.

Roof age targeting flips the order of operations. Instead of starting with a geography and spraying everyone inside it, you start with a question: which roofs in my service area are old enough that replacement is a live possibility right now? Then you mail those, and only those. The list gets smaller, the cost per piece goes up slightly because you are doing more work to build it, and the response rate climbs enough that your cost per acquired job drops by half or more. That is the whole game, and the rest of this is how to actually do it.

Why roof age is the single best targeting variable you are not using

A roof is one of the few major home components with a fairly predictable service life, and that predictability is what makes it such a strong direct mail filter. A standard three-tab asphalt shingle roof in a normal climate runs somewhere in the fifteen-to-twenty-year range before it is genuinely due. Architectural (dimensional) asphalt shingles, which became the default on most production housing over the last two decades, tend to run twenty to thirty years depending on quality, ventilation, and weather exposure. The National Roofing Contractors Association and most manufacturers publish service-life ranges in this neighborhood, and your own crews can confirm it from what they tear off every week.

Here is what that means for a mail list. If you can sort every house in a territory by the approximate age of its roof, you can ignore everything under roughly twelve years and concentrate your spend on the band where roofs start failing, start showing wear a homeowner can see, and start coming up in conversations with neighbors. You are not guessing about income or home value as a proxy for "might need a roof." You are mailing the actual roofs that are aging into the replacement window.

Compare the targeting variables most contractors actually use:

Targeting variable What it tells you What it misses
Zip code Rough geography Nothing about the roof; mixes new builds with 1980s stock
Home value / income Ability to pay A wealthy home with a five-year-old roof needs nothing
Homeowner vs renter Decision authority Owner-occupied says nothing about roof condition
Year home built A weak proxy for roof age Misses every roof that has already been replaced once
Roof age (estimated) When the roof is likely due Condition and storm damage (layer those on separately)

Notice the trap in "year home built." Plenty of contractors treat the build year of the house as the age of the roof, and for a newer subdivision that is roughly fair. But a 1985 house may be on its second or even third roof. The original roof might be six years old. Mailing that house a "your roof is aging" message makes you look like you did not do your homework, and it wastes the piece. Build year is a starting input, not the answer. The whole skill here is getting closer to the actual roof age than the build year alone can tell you.

Where roof-age data actually comes from

There is no national registry where someone logs the day a roof gets installed. Roof age is always an estimate assembled from several imperfect signals. Understanding those signals is what separates a contractor who builds a sharp list from one who buys a generic "aged roof" file and hopes. The honest framing to keep in your head the entire time: roof age is a range, not a date. Anyone selling you a precise install date is selling you confidence they do not have.

Signal 1: County assessor and permit records

Most counties make property assessor data public, and a meaningful share of jurisdictions also expose building-permit history. A reroof permit is the single most reliable roof-age signal that exists, because it is a dated government record that a roof was installed. If a permit shows a tear-off and reroof in 2014, you know that roof is about a decade old regardless of when the house was built. The catch is coverage: permit pull rates vary wildly by region, plenty of reroofs happen without a permit, and not every county digitizes or exposes the data. So permits give you high-confidence hits on the addresses where they exist, and tell you nothing about the rest.

Signal 2: Aerial and satellite imagery over time

This is where modern roof-age estimation has moved. High-resolution aerial imagery is captured repeatedly over the same neighborhoods, and when you compare images of the same roof across years you can often see the moment it changed. A roof that was streaked, patched, and dark in a 2016 image and clean, uniform, and bright in a 2019 image was almost certainly replaced in that window. Imagery analysis can also read condition cues directly: granule loss, streaking, patching, missing shingles, the dark staining from algae, and the overall tonal uniformity that a fresh roof has and a worn one does not.

Imagery does not give you an install date. It gives you a defensible range and a condition read. "This roof was last replaced sometime between 2012 and 2015 and currently shows moderate granule loss" is a far more useful targeting statement than "this house was built in 1998." The strength of imagery is coverage: it can score every roof in a territory, including all the ones with no permit on file.

Signal 3: Time-of-sale and listing photos

When a house sells, listing photos frequently mention or show roof condition, and some sales records note a recent roof as a selling point. This is spotty and you cannot build a campaign on it alone, but it is a useful confirmation signal when you already have a candidate address.

Signal 4: Your own historical data

If you have been operating in a market for years, your CRM already knows the install dates of every roof your company put on. Those are gold-standard, dated records. They also tell you which roofs to exclude from an "aging roof" mailing, because a roof you installed three years ago does not need your aging-roof postcard. It needs a maintenance or referral touch instead. Cross-referencing your own job history against any purchased or modeled list is a step most contractors skip, and it both saves postage and keeps you from looking foolish to past customers.

Putting the signals together

No single source covers a whole territory at a usable confidence level, so the practical answer is a stacked estimate. Imagery gives you wall-to-wall coverage and a condition read. Permits sharpen the addresses they touch into high-confidence hits. Build year backstops the rest. Your own records remove the roofs you already handled. The output you want is not a date column, it is a roof-age band plus a condition flag for every address, something like:

  • 0 to 7 years: suppress. Do not mail an aging-roof message.
  • 8 to 12 years: watch list. Maintenance, gutter, and inspection offers can work here; replacement messaging is early.
  • 13 to 18 years: prime. This is the core of your replacement mailing.
  • 19 years and up: prime and urgent, especially if condition flags (streaking, patching, granule loss) are present.
  • Unknown / low confidence: a separate bucket you can test, usually mailed last and measured separately.

A quick word on confidence scoring

Whatever signals you stack, attach a confidence level to every roof-age estimate and carry it through the whole campaign. A roof with a dated 2014 reroof permit is high confidence. A roof that imagery clearly shows changing tone between two known capture years is medium-to-high. A roof whose only signal is the build year of the house is low confidence, because you genuinely do not know whether it has been replaced. Treating all three as equal is how contractors end up mailing aging-roof cards to roofs that were redone last spring. Carry confidence as its own column, mail your high-confidence prime band first, and hold the low-confidence guesses for a clearly labeled test cell you measure separately. When you later look at which tiers produced jobs, confidence will explain a lot of the variance, and you will learn to weight your sources accordingly for your specific market.

The full workflow: building a roof-age mailing list step by step

This is the operational core. Treat it as a repeatable procedure you run every quarter, not a one-time project.

Step 1: Define the geography honestly

Start with where your crews can actually work profitably. Drive-time matters more than zip codes. A roof forty-five minutes from your shop costs you in windshield time on every estimate, every job day, and every callback. Draw your real service area as a drive-time radius, then list the zip codes or carrier routes that fall inside it. You are going to score every address inside that boundary, so be deliberate about the boundary.

Step 2: Pull the universe of single-family, owner-occupied homes

Within the geography, pull the base list of detached single-family homes that are owner-occupied. Strip out condos, apartments, mobile homes (unless you serve them), and rentals where the owner is an out-of-state LLC that will never call you off a postcard. This is standard list-vendor filtering and it gets you to your raw universe, often several tens of thousands of homes in a mid-size market.

Step 3: Append a roof-age estimate to every address

This is the step that turns a generic list into a roof-age list. You are appending, for each address, an estimated roof-age band and ideally a condition flag, built from the stacked signals above. You can assemble this yourself if you have the patience to cross-reference assessor data, permit portals, and imagery county by county, or you can use a data product that scores roofs from aerial imagery and hands you the band directly. Either way, the column you care about at the end is roof-age band, not raw build year.

Step 4: Suppress what you should never mail

Before you do anything clever, remove:

  • Roofs under your suppression threshold (the 0-to-7-year band).
  • Addresses already in your CRM as recent customers, unless the mailing is specifically a referral or maintenance touch.
  • Do-not-mail and prior opt-outs.
  • Any address where the data confidence is so low it is effectively a guess, unless you are deliberately running a test cell on the unknown bucket.

Suppression is unglamorous and it is where a lot of the savings live. Every address you remove here is postage and print you redirect to a roof that might actually convert.

Step 5: Tier the remaining list

Split the survivors into the prime band (13-plus years, condition-flagged at the top), the watch band (8 to 12 years), and the unknown test bucket. These are more than analytical labels; they drive different messages and different mail frequencies, which we will get to.

Step 6: Set your budget against the prime band, not the whole universe

Here is the mindset shift. Most contractors set a budget, divide by cost-per-piece, and mail however many homes that buys, starting from the top of an alphabetical list. Instead, size your spend to hit the prime band repeatedly. A smaller list mailed three or four times over a season beats a giant list mailed once, because direct mail response climbs with repetition and the prime band is where the conversions live. We will work the numbers below.

A worked example: 22,000 homes down to a list that pays

Numbers make this concrete. Say you serve a market with 22,000 owner-occupied single-family homes inside your real drive-time radius. Watch how the funnel narrows and what it does to your economics. (Every figure here is illustrative, meant to show the structure of the math, not a promise about your market.)

Stage Homes remaining Note
All owner-occupied SFH in radius 22,000 The raw universe
Remove roofs 0-7 years 15,600 Roughly 29% were too new to mail
Remove your recent customers / opt-outs 14,900 Suppression
Prime band, 13+ years 5,400 Your core target
Prime band with condition flags 2,300 The sharpest sub-segment

Now compare two ways to spend the same $18,000 over a season, at an assumed all-in cost of about $0.75 per mailed piece.

Approach A, the blanket: Mail all 22,000 homes once. That is 22,000 pieces, costs about $16,500, and reaches each home a single time. Single-touch direct mail in home services typically responds in the small fractions of one percent. Say you get a 0.3% response, which is 66 calls, of which maybe a third are real opportunities and you close half: roughly 11 jobs. You spent $16,500 to land 11 jobs, about $1,500 in mail cost per job.

Approach B, the roof-age stack: Mail only the 5,400 prime-band homes, four times across the season. That is 21,600 pieces, costs about $16,200, nearly identical spend. But every piece lands on a roof that is genuinely in the replacement window, and each home sees you four times. Repetition plus relevance pushes response meaningfully higher, and the audience is pre-qualified by age. Even at a conservative blended 1.2% response across the four touches against that warmer list, you are looking at roughly 65 calls of much higher quality, a higher share of real opportunities because the roofs are actually old, and more closed jobs from the same calls because the prospect already had the problem on their mind. Land 22 jobs on the same budget and your mail cost per job is cut in half, to around $735.

The lever was not the postcard or the offer. It was pointing the spend at roofs that were due and hitting them more than once. Same money, double the jobs.

Why repetition matters more on a tight list

A homeowner does not replace a roof because one postcard arrived on a Tuesday. They replace it when the timing of their need lines up with a contractor being top of mind. On a blanket list you can only afford one touch, so you are betting the entire campaign on your card arriving the exact week someone happens to be thinking about their roof. On a tight roof-age list, the same budget buys you four to six touches, so you are in front of a due roof repeatedly across a season. You stop relying on luck and start relying on frequency against the right audience.

How roof age changes your replacement window math by region and material

The 13-plus prime band is a sensible national default, but the right threshold shifts with climate and the materials common in your market, and a sharp operator tunes it. Roofs in high-UV, high-heat regions age faster than the same shingle in a mild climate, because heat cycling and ultraviolet exposure break down asphalt and drive granule loss sooner. Coastal wind exposure accelerates wear at edges and ridges. Heavy freeze-thaw regions punish flashing and underlayment. Steep-slope roofs shed water and debris faster and often outlast low-slope roofs of the same material and age.

Material matters at least as much. A cheap three-tab roof installed during a building boom, with the corner-cutting that boom-era labor sometimes brings, may be due several years earlier than its nominal service life. A premium architectural shingle with good attic ventilation may run at the long end of its range. You will know your market's mix from what your own crews tear off. If most of your replacements are 18-to-22-year-old architectural roofs, anchor your prime band there. If you keep finding failed boom-era three-tab at 14 years, pull your threshold down. Let your tear-off data, not a generic chart, set the band. Below is a rough orientation, with the strong caveat that these are general service-life ranges and your local conditions move them:

Roofing material General service-life range Practical mailing note
Three-tab asphalt shingle ~15-20 years Often due at the lower end; boom-era installs earlier
Architectural asphalt shingle ~20-30 years The bulk of modern production housing; prime band usually mid-life
Wood shake ~20-30 years High maintenance; condition cues matter more than age alone
Metal (standing seam) ~40-70 years Rarely a replacement target; watch for coating and fastener wear
Tile (clay/concrete) ~50+ years The tile outlasts the underlayment; underlayment failure drives the job

The takeaway is not to memorize the table; it is to recognize that "roof age" interacts with material and climate, and your mailing thresholds should reflect the roofs that actually exist in your territory rather than a one-size band.

Layering storm exposure on top of roof age

Roof age tells you which roofs are wearing out on a normal timeline. Storm exposure tells you which roofs got aged prematurely by weather. Stack the two and you get the strongest possible targeting: roofs that were already in or near the replacement window and took a hit. That overlap is the densest concentration of real, near-term replacement demand you can build a list around.

What storm data adds

Hail and high wind do not damage a region uniformly. A single storm cell can hammer one set of blocks and leave the next neighborhood untouched. Public sources can tell you roughly where storms tracked: the NOAA Storm Prediction Center and the National Weather Service publish hail and wind reports, and the storm-event archives let you see where significant hail and damaging wind were recorded historically. The Insurance Institute for Business and Home Safety publishes well-grounded research on hail and wind impacts to roofing materials, which is useful for understanding what a given storm likely did to a given roof type.

What public storm reports give you is a coarse footprint, often at the level of a swath across a county. What they do not give you is a per-roof read. Two roofs on the same block, same storm, can fare very differently depending on shingle age, slope orientation, and material. An older roof that was already shedding granules is far more vulnerable to a marginal hail event than the new roof next door. That is exactly the intersection roof-age-plus-storm targeting is built to find.

Modeling storm exposure per roof

The more advanced approach is to model the storm exposure of each individual roof rather than the neighborhood. That means taking the storm footprint and combining it with what is known about the specific roof: its age band, its apparent condition, its material, its orientation and pitch. A 19-year-old, granule-shedding roof inside a confirmed hail swath is a categorically stronger target than a 6-year-old roof one street over inside the same swath, even though a zip-code-level storm list treats them identically. Per-roof storm modeling expresses this as odds, not certainty. Nobody can look at imagery and a storm track and promise a given roof has functional damage. What you can do is rank roofs by the likelihood that a storm meaningfully shortened their remaining life, and mail the top of that ranking first.

Sequencing a storm campaign correctly

After a significant hail or wind event in your area, the sequence that works:

  1. Confirm the footprint from NWS and SPC reports and any local spotter data, so you know which blocks were actually in the path. Resist the urge to claim the whole metro got hit.
  2. Intersect the footprint with your roof-age list. The target is roofs in the storm path and in the 13-plus band, condition-flagged at the top.
  3. Move fast on the overlap. Storm response is time-sensitive; the contractors who reach the densest overlap first, with an honest inspection offer, win the season.
  4. Mail the wider footprint second, including younger roofs in the path, as a lower-priority cell measured separately.

The overlap list is small, which is the point. It is also where your inspection bookings will concentrate, so it justifies a faster, more personal follow-up than a cold aging-roof card ever would.

Staying on the right side of the line: storm and claims messaging

Storm work pulls contractors toward claims language, and this is where a lot of companies get themselves into compliance trouble or worse. The messaging rules below are not legal advice, and you should confirm the specifics with your own counsel and your state's department of insurance, but the general line is well established and worth getting right before you print anything.

What a roofing contractor can legitimately do: inspect a roof, document its condition thoroughly with photographs and measurements, and prepare an accurate, itemized estimate to repair or replace the roof. You can state facts about the work you would do and what it costs. You hand that documentation and estimate to the homeowner. From there, the homeowner is the one who files a claim with their insurer, and the insurer is the one who decides what is and is not covered. Your role ends at thorough documentation and an honest estimate.

What a roofing contractor generally may not do, because it crosses into unlicensed public adjusting in most states: negotiate or "handle" the claim with the insurer on the homeowner's behalf for a fee, interpret the homeowner's policy or what it covers, or represent the homeowner against the insurance company. Those activities are regulated for a reason, and doing them without a public adjuster license is how contractors end up in front of a state regulator.

That compliance line should shape your mail copy directly. Here is a practical do-not-say list for any storm or aging-roof piece:

  • Do not say or imply "free roof" or "no cost to you." A roof is not free; a deductible is owed and the homeowner pays it.
  • Do not promise the deductible will be waived, absorbed, covered, or eaten. Waiving or absorbing a customer's insurance deductible is illegal in many states and is a fast way to lose your license and invite fraud charges.
  • Do not promise a claim approval, a specific payout, or that "insurance will pay for it." You do not decide coverage and you cannot promise the carrier's decision.
  • Do not offer to "handle," "fight," "negotiate," or "manage" the claim for the homeowner. That language reads as public adjusting.
  • Do not interpret coverage ("your policy covers this"). You have not read their policy and it is not your call.

What you can say is honest, useful, and still compelling: that you will inspect the roof and document any storm damage thoroughly, that you will provide a detailed written estimate the homeowner can use, and that if they choose to file a claim, your documentation gives them an accurate, itemized record of the roof's condition and the scope of repair. That framing captures the entire reason someone responds to a storm postcard while keeping you on the documentation-and-estimate side of the line. Teaching your sales team this list before a storm season is as important as building the list itself, because one rep promising a free roof at a kitchen table can undo a clean campaign.

Writing the estimate so the documentation actually holds up

The value you provide a homeowner is a thorough, defensible scope. That means estimates aligned to the line-item pricing standards the industry uses (Xactimate is the common reference), with the full scope documented: the roof field, the underlayment, flashing, drip edge, ridge and hip, vents, pipe boots, and any code-required items for your jurisdiction. Photograph everything before you write a number: overall roof planes, close-ups of damage with a reference object for scale, the date and address visible where you can manage it, and the soft metals and accessories that often show hail bruising first. A complete photo set and an itemized estimate are exactly what a homeowner needs to file an accurate claim, and they are entirely within what a contractor is allowed to produce. You are documenting your scope, not adjusting their claim.

Where RoofPredict fits in the roof-age workflow

Everything above can be assembled by hand. The reason most contractors do not is that stitching imagery analysis, permit records, build-year data, and storm footprints into a per-address roof-age band across a whole territory is a lot of unglamorous data work, and it has to be redone every quarter as roofs age and storms hit.

This is the specific gap RoofPredict is built to fill. It scores roofs house by house from aerial imagery, returning an estimated roof-age range per address rather than a single date, and it models storm physics per roof so you can see which roofs a recent storm most likely wore out on top of which roofs are simply aging out. The output is the column the workflow above keeps asking for: every address in your territory tagged with a roof-age band and a storm-exposure read, ranked so you can mail the densest concentration of due roofs first. It is built to enrich a contractor's own CRM or mailing list, not to sell you leads; you keep your list and your customer relationships, and the data tells you which of your own doors and routes are worth the postage.

The honest limits matter, and they are the same limits that apply to any roof-age estimate. Roof age comes back as a range, not a guaranteed install date, because no imagery can read the day a crew finished. Storm exposure comes back as odds, not proof of damage, because the only way to confirm functional damage is to get on the roof and inspect it. Used the way the data is meant to be used, those ranges and odds are exactly what you need to point a mail budget at the right roofs instead of the whole zip. Used as a promise of certainty, they will let you down, the same way any over-claimed data product would. The right mental model is a ranked target list that is far better than build year and a storm footprint, not a crystal ball.

Coordinating mail with the rest of your outreach

Direct mail does not work in a vacuum, and roof-age targeting gets even stronger when the same scored list drives more than just postcards. Once you have a ranked, age-and-storm-scored list of addresses, that list is an asset for every channel, not only the printer.

Canvassing routes. Hand your door-knockers the prime-band, condition-flagged addresses as a route sheet instead of letting them walk whole streets cold. A rep working a list of 13-plus-year roofs with visible wear is having a very different day than one knocking every door regardless of roof. The same suppression that saves postage saves shoe leather. Pair the route with the mail drop so the homeowner has seen your card before the knock; the combination converts better than either alone.

Targeted digital. The address list can often be matched to digital audiences so the same homeowners who get your card also see your name online in the same window. You are not adding a new audience; you are reinforcing the one you already qualified by roof age. The repetition principle that makes multi-touch mail work applies across channels too.

Follow-up cadence on responders. When someone books an inspection off the mail, your speed-to-lead matters enormously. Roofing buyers who request a check are often comparing two or three contractors. The company that books the inspection within a day, shows up on time, and leaves a thorough photo set and an honest written estimate wins a disproportionate share. Your scored list gets them to raise their hand; your operational follow-through closes them. Treat the list as the start of the funnel, not the whole funnel.

Seasonality. Plan your prime-band touches around your market's roofing season and storm calendar. Mailing replacement offers in the dead of winter in a cold market wastes touches; concentrating them ahead of and during the buying season makes each one count. After a storm, the calendar is set for you and speed is everything. Build your annual mail plan as a baseline aging-roof cadence with the flexibility to surge spend onto a storm overlap when one hits.

The mail piece itself: matching the message to the roof-age tier

A tight list deserves a message tuned to why that address is on it. Mailing the same generic "need a new roof?" card to a 9-year-old roof and a 21-year-old roof wastes the precision you just built. Tier the creative the way you tiered the list.

Prime band, 13-plus years, no recent storm

These homeowners are living under a roof that is genuinely aging. The message is awareness and timing: roofs of a certain age start showing wear that is easy to miss from the ground, an inspection now beats an emergency in a downpour, and you will give them an honest read and a written estimate with no pressure. Lead with the inspection, not the replacement. You are converting "I should probably look into that someday" into "I booked a free roof check."

Prime band inside a storm footprint

These are your highest-value pieces and they should go out fastest. The message is documentation: a storm recently moved through the area, roofs of this age are more vulnerable to hail and wind, and you will inspect and thoroughly document any damage and provide a detailed written estimate the homeowner can use if they decide to file a claim. Every word stays on the documentation-and-estimate side. No free roof, no deductible promises, no claim handling.

Watch band, 8 to 12 years

Replacement messaging is premature, so do not lead with it. These homes respond to maintenance, gutter, attic ventilation, minor repair, and inspection offers. The goal is to get on the roof and into the relationship early, so that when the roof does age into the prime band in a few years, you are already the contractor they know. A watch-band card is a long game, and it should be mailed less frequently and measured against a longer horizon than the prime band.

Practical creative checklist

  • One clear offer per card. A free or low-cost inspection converts better than a vague "call us."
  • A real, local phone number and a simple way to book online; many roofing buyers will book a check without ever calling.
  • Proof you are local and real: a license number where required, a physical address, genuine reviews, years in the area.
  • Honest copy. No fake urgency, no invented statistics, no "free roof." Over-promising on a card pre-sets a kitchen-table conversation you cannot win.
  • A tracking mechanism on every version, because a tiered campaign is only as good as your ability to tell which tier and which message produced which job.

Measuring it so next quarter is sharper

The entire advantage of roof-age targeting is that it is measurable and improvable. A blanket campaign you cannot really learn from, because everything is mixed together. A tiered roof-age campaign teaches you something every quarter if you instrument it.

Track these by tier and by message rather than only in aggregate:

Metric How to read it
Pieces mailed per tier Your spend allocation; should concentrate on prime band
Calls + online bookings per 1,000 pieces Response rate; expect the prime band to beat the watch band and any blanket control
Inspections booked The real intermediate goal of most roofing mail
Inspection-to-estimate rate Tells you whether the right roofs are actually due once you are on them
Estimate-to-sold rate Closing performance, separate from list quality
Cost per booked inspection The cleanest early signal of list quality
Cost per sold job The number that actually matters

The diagnostic value is in the splits. If the prime band's cost per sold job is half the blanket control's, you have proof to shift more budget into roof-age targeting next quarter. If your inspection-to-estimate rate is low in a tier, the roofs in that tier may not actually be as due as the data thought, which tells you to tighten the age band or raise the confidence threshold. If estimate-to-sold is low everywhere, that is a sales problem, not a list problem, and no amount of better targeting fixes it. Keeping these separate is what lets you fix the right thing.

Run a holdout so you can prove the lift

The cleanest way to know roof-age targeting is working is to keep a small blanket control cell running alongside the tiered campaign. Mail a few thousand untargeted homes the same offer, the same season, and compare cost per sold job against the prime band. The gap between them is the dollar value of your targeting, and it is the single most persuasive number you can put in front of an owner who is skeptical of spending more to build a better list. Once you have measured that lift a couple of quarters in a row, the argument for roof-age targeting stops being theoretical.

Budgeting a full season around the roof-age list

Once you trust the list, build the year's mail plan around it rather than around an arbitrary postcard count. Work backward from the prime band. Decide how many touches each prime-band home should receive across the season, multiply by the band size and your cost per piece, and that is your committed baseline. Then hold a storm-response reserve on top, because the highest-return mail you will send all year is the overlap list after a hail or wind event, and you do not want to discover you spent the whole budget blanketing in March when the storm comes in June.

Here is a simple way to frame the allocation against an annual mail budget:

Bucket Share of annual mail budget Purpose
Prime band, baseline cadence ~55-65% Four to six touches on 13-plus-year roofs across the season
Storm-response reserve ~20-30% Held back to surge onto storm-overlap lists fast
Watch band, long-game touches ~5-10% Lighter cadence on 8-12-year roofs to seed future demand
Blanket control cell ~3-5% A holdout to measure targeting lift

The exact percentages are yours to tune, but the structure matters: most of the money on the roofs that are due, a real reserve for storms, a little on the future pipeline, and a small honest control so you can prove the whole thing is working. Contractors who dump the entire budget into one giant spring blanket have no reserve, no control, and no way to learn. Contractors who allocate this way spend the same dollars and come out of the season with both more jobs and a clearer picture of what to do next year.

A note on inspections, safety, and not over-promising on the roof

The offer that drives most roof-age mail is a free or low-cost inspection, and the inspection is where targeting turns into trust. Send people who can actually get on a roof safely and document it properly. Roof work carries real fall hazards, and OSHA fall-protection requirements exist because people get hurt; a rushed, untrained inspector is a liability that no amount of good targeting offsets. A proper inspection means a full photo set, honest notes on condition, accurate measurements, and a written estimate the homeowner can keep. If the roof genuinely has years of life left, say so. Telling a homeowner with a sound 11-year roof that they do not need anything yet costs you one job today and earns you the call in four years plus every neighbor they talk to. Over-calling damage to force a sale is the fastest way to wreck the reputation that makes local roofing mail work in the first place.

What pros get wrong

A few recurring mistakes separate contractors who make roof-age mail pay from those who try it once and quit.

Treating build year as roof age. The most common error. A 1990 house may be on a 4-year-old roof. Build year is an input, not the answer, and mailing on build year alone re-introduces the waste you were trying to remove. Always layer a real roof-age signal on top.

Mailing a tight list only once. Contractors who shrink their list correctly then fail to increase frequency leave most of the gain on the table. The tight list is what lets you afford repetition; use it. Four to six touches on the prime band over a season is where the math gets good.

Chasing precision that does not exist. There is no install-date registry, and anyone promising one is overselling. A solid roof-age band beats build year decisively, and that is enough. Waiting for perfect data is just a reason to keep blanketing.

Over-claiming on storm and claims copy. The single fastest way to torch a storm campaign is a "free roof" or "we'll cover your deductible" headline. It is illegal in many states, it attracts regulators, and it sets up a kitchen-table conversation you cannot honor. Stay on documentation and honest estimates.

Not suppressing their own customers. Mailing an aging-roof card to a homeowner whose roof you installed two years ago is an own goal. Cross-reference your CRM every time.

Never running a control. Without a holdout, you cannot prove the lift, and you cannot defend the extra list-building cost when budgets get questioned. Always keep a small blanket control so the targeting earns its keep on paper.

Putting it into motion this quarter

If you do nothing else from all of the above, do this. Pull your real drive-time service area. Get a roof-age band appended to every owner-occupied single-family home inside it. Suppress everything under twelve years and everyone already in your CRM. Take the 13-plus band, flag the worst-condition roofs at the top, and mail that list four times across the season with a clean inspection offer and honest copy. Keep a small blanket control cell so you can measure the lift. After a storm, intersect the footprint with that same age list and move fast on the overlap, staying strictly on the documentation-and-estimate side of every word you print.

The roofs that are due are already out there in your territory, aging out on a predictable timeline and getting knocked further along by every hail season. Roof-age targeting is just the discipline of finding them and spending your mail budget on them instead of on the new construction down the road. RoofPredict exists to hand you that ranked, storm-modeled, roof-age list per address so you can skip the quarterly data slog and get straight to mailing the right doors, with honest ranges and odds rather than promises. Build the list once the right way, instrument it, and let the next campaign be sharper than the last.

FAQ

How accurate is roof age data, really?

Roof age is always an estimate expressed as a range, not a guaranteed install date, because no national registry records when roofs are installed. The strongest estimates stack several signals: dated reroof permits where they exist, comparison of aerial imagery across years to spot when a roof changed, build year as a backstop, and your own job history. A well-built band such as 13 to 18 years is far more accurate for targeting than build year alone, and that is enough to point a mail budget. Be skeptical of any vendor promising an exact install date.

Why can't I simply mail by the year the home was built?

Because build year only equals roof age on a house that still has its original roof. An older home may be on its second or third roof, so a 1985 house can easily have a six-year-old roof. Mailing an aging-roof message to that home wastes the piece and makes you look unprepared. Build year is a useful input, but you need a real roof-age signal layered on top of it to avoid mailing roofs that were already replaced.

What roof-age band should I target for replacement mail?

For standard asphalt shingle roofs, the prime replacement window is roughly 13 years and up, with 19-plus being the most urgent, especially when condition flags like granule loss or streaking are present. Suppress roofs under about 7 years entirely. The 8-to-12-year band is a watch list better suited to maintenance and inspection offers than replacement messaging. Adjust the exact thresholds to your local material mix and climate.

How does storm data combine with roof age?

Roof age tells you which roofs are wearing out on a normal timeline; storm exposure tells you which roofs got aged prematurely by hail or wind. The densest demand is the overlap: roofs already in the 13-plus band that also fall inside a confirmed storm footprint. Public sources like the NOAA Storm Prediction Center and National Weather Service give you a coarse footprint, while per-roof storm modeling ranks individual roofs by the odds a storm shortened their life. Mail the overlap first.

Can my direct mail mention insurance claims?

You can say you will inspect the roof, document any storm damage thoroughly, and provide a detailed written estimate the homeowner can use if they decide to file a claim. You cannot promise a claim approval or specific payout, offer to handle or negotiate the claim, interpret the homeowner's policy, or imply a free roof or waived deductible. Those activities can constitute unlicensed public adjusting or illegal deductible rebating. Stay on the documentation-and-estimate side and confirm specifics with your state's department of insurance and your own counsel.

Is it illegal to offer a free roof or to cover the deductible?

Advertising a free roof is misleading because a deductible is always owed, and waiving, absorbing, or rebating a customer's insurance deductible is prohibited in many states and can expose you to insurance fraud charges and loss of licensure. This is not a gray area worth testing. Keep that language off every mail piece and out of every sales conversation, and train your team on the do-not-say list before storm season.

How many times should I mail the same roof-age list?

Single-touch direct mail relies on your card arriving the exact week a homeowner is thinking about their roof, which is mostly luck. A tight roof-age list lets you afford four to six touches across a season on the same budget, so you stay in front of due roofs repeatedly. Response and conversion climb with repetition against a relevant audience, which is the main reason a smaller targeted list mailed several times outperforms a giant list mailed once.

What response rate should I expect from roof-age targeted mail?

There is no universal number, and you should distrust anyone who quotes you a guaranteed rate. What is reliable is the comparison: a roof-age targeted list mailed repeatedly will substantially outperform an untargeted blanket mailed once, often cutting cost per sold job by half or more. The way to know your own numbers is to run a small blanket control cell alongside the targeted campaign and measure the difference in cost per booked inspection and cost per sold job.

Should I suppress my existing customers from a roof-age campaign?

Yes, for an aging-roof or replacement mailing. A homeowner whose roof you installed recently does not need a replacement card, and sending one signals you do not track your own work. Cross-reference your CRM every time and remove recent customers, then reach them instead with a separate maintenance, warranty, or referral touch. The suppression also redirects that postage toward roofs that might actually convert.

Do I need software, or can I build a roof-age list by hand?

You can build it by hand by cross-referencing county assessor data, permit portals, and aerial imagery, and excluding your own past jobs. The reason most contractors use a data product is that doing this across a whole territory is heavy, repetitive work that has to be redone every quarter as roofs age and storms hit. A product that scores roofs from imagery returns the roof-age band and storm-exposure read per address directly, so you spend your time mailing rather than assembling data. Either path works; the deciding factor is whether the manual effort is worth your time.

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. NRCA Roofing Manual and Roof Maintenance Guidancenrca.net
  2. IBHS Hail and Wind Research for Roofingibhs.org
  3. NOAA Storm Prediction Centerspc.noaa.gov
  4. National Weather Serviceweather.gov
  5. NOAA National Centers for Environmental Information Storm Events Databasencdc.noaa.gov
  6. OSHA Fall Protection in Constructionosha.gov
  7. International Residential Code (ICC)iccsafe.org
  8. U.S. Census Bureau American Housing Surveycensus.gov
  9. FTC Guidance on Truthful Advertisingftc.gov
  10. Texas Department of Insurance Public Adjuster Informationtdi.texas.gov
  11. National Association of Insurance Commissioners Consumer Resourcesnaic.org
  12. U.S. Bureau of Labor Statistics Occupational Outlook for Roofersbls.gov
  13. USPS Every Door Direct Mail (EDDM)usps.com
  14. RoofPredictroofpredict.com

Related Articles