How to Prioritize Which Addresses to Mail for Roofing
On this page
You can buy a clean list, hire a sharp designer, and print a stack of glossy postcards, and still light money on fire. The reason almost always traces back to one decision made before the first stamp goes on: which addresses you chose to mail. Roofing mail does not fail because the offer was weak or the paper was thin. It fails because the list was a flat dump of every single-family home in a ZIP code, and most of those roofs were replaced four years ago, or are still under a builder warranty, or sit on a street the last hailstorm missed by a mile.
Prioritizing addresses is the highest-leverage thing a roofing company can do with a marketing budget, and it is the thing most shops skip. They optimize the postcard and ignore the math that decides who gets one. A 5,000-piece drop to a ranked list of due roofs will out-earn a 20,000-piece drop to an unranked ZIP every time, and it costs a quarter as much in postage and print.
What follows is the system pros use to decide which doors get the spend. It is built around one idea: every address carries a probability that the homeowner needs a roof in the next 12 to 24 months, and your job is to estimate that probability cheaply, rank by it, and mail from the top down until the economics stop working. We will cover the data layers that actually move the number, how to score and stack-rank a list, the cadence and creative that match each tier, the territory mechanics that keep your crews efficient, and the ROI arithmetic that tells you when to stop. There is real expertise here, including the mistakes that quietly drain budgets, and an honest look at where data helps and where it does not.
Why the list beats the postcard every time
Direct mail in roofing is a probability game played at the address level. Each piece costs you something fixed to design, print, and deliver. The return on that piece depends almost entirely on whether the person opening it has a roof problem they are ready to solve. You cannot control whether their roof is failing. You can control how accurately you guess before you spend.
Think about the two ends of the spectrum. On one end is blanket saturation mail, often Every Door Direct Mail through the postal service, where you pick carrier routes and hit every box on them. It is cheap per piece and requires no list. On the other end is a tightly scored list where you have ranked addresses by the odds the roof is due, and you mail only the top slice. The blanket approach has its place, which we will get to, but for most roofing offers the scored list wins because the value of reaching the right roof is enormous relative to the cost of a postcard.
Here is the core arithmetic that should govern every decision. Suppose a finished mail piece costs you 70 cents all-in for targeted mail. Suppose your average roof replacement nets 3,500 dollars in gross profit. To break even on a 5,000-piece drop, you need:
- Total cost: 5,000 x 0.70 = 3,500 dollars
- Break-even jobs: 3,500 / 3,500 = 1 job
One job pays for the whole drop. That sounds easy until you realize a poorly targeted roofing mailer often runs a response rate well under half a percent on the call, and a fraction of those calls become inspections, and a fraction of inspections become signed jobs. The funnel eats most of your responses. The only lever that meaningfully widens the top of that funnel is mailing roofs that are genuinely closer to needing replacement. Targeting is not a nice-to-have. It is the difference between a 2x and a 0.5x campaign.
The practical takeaway: spend your planning hours on the list, not the layout. A good postcard mailed to a ranked list of due roofs beats a great postcard mailed to a random ZIP. Get the ranking right first.
The data layers that actually predict a roof replacement
A roof becomes a job for one of a few reasons: it aged out, a storm wore it out, the homeowner is selling and needs it presentable, or something failed and they are reacting. Your scoring model should estimate the odds of each. Below are the data layers that carry real predictive weight, roughly in order of how much they move the number, plus the layers people overpay for that do not.
Roof age and material life expectancy
The single strongest predictor is how old the roof is relative to how long that roof type lasts. A standard three-tab asphalt shingle roof has a typical service life in the high teens of years; architectural laminate shingles run longer. The exact number varies with climate, ventilation, slope, and install quality, so treat any figure as a range, not a guarantee. A roof in the back half of its expected life is a candidate. A roof past its expected life is a strong candidate.
The hard part is knowing the age. You usually cannot see a date on a roof from the street. There are a few ways to estimate it:
- Permit records. Many jurisdictions issue and log reroof permits. Where these are public and digitized, a roof with a reroof permit pulled 19 years ago is a prime target, and one permitted 3 years ago should be suppressed. Permit coverage is uneven, and not every reroof is permitted, so this is a partial signal.
- Home build year. From county assessor and parcel data you can get the year the house was built. On homes that still have the original roof, build year minus today gives you roof age directly. The catch is you do not know whether the roof was ever replaced. Build year is most useful in neighborhoods built in a tight window, where you can reason about a cohort.
- Aerial and satellite imagery analysis. Roof condition and approximate age can be estimated from overhead imagery: granule loss, streaking, patching, color fade, and the presence of newer-looking sections all carry signal. This is where modern data products earn their keep, because imagery covers every address whether or not a permit exists.
The honest framing for age is always a range. "This roof is likely 16 to 22 years old" is a usable, defensible estimate. "This roof was installed on a specific date" usually is not, unless you have the permit in hand. Build your tiers on ranges.
Storm exposure modeled per roof
The second great predictor is whether weather has accelerated the roof's decline. Hail and high wind do not damage a metro evenly. A single supercell can drop 1.5-inch hail on one subdivision and leave the one two miles north untouched. Wind gusts funnel and gust unevenly with terrain and exposure. So "the city got hit" is far too coarse. You want exposure estimated as close to the individual roof as you can get it.
The public foundation for this is solid. The National Weather Service and the Storm Prediction Center publish storm reports, including hail size and wind estimates tied to locations and times. Dual-polarization radar products can indicate hail signatures aloft. These are the raw materials. The art is converting them into a per-address exposure score: how large was the largest hail likely to have fallen on this specific roof, at what impact energy, how many times, and how exposed is this roof's slope and material to that energy.
A few things pros understand about storm data that beginners miss:
- A storm report at a point does not mean uniform damage across the swath. Interpolating between reports is an estimate, not a measurement. Treat it as odds.
- Older roofs take damage at lower hail sizes than newer ones. The same 1-inch hail that bruises a 20-year-old roof may not functionally harm a 4-year-old roof. Exposure and age interact; score them together, not separately.
- Wind and hail leave different signatures and call for different inspection approaches. A wind event favors ridge, rake, and field shingle lift; a hail event favors soft-metal denting and mat fracture. Your exposure layer should distinguish the event type so your crews know what to look for.
This is the layer where a postcard timed to a recent, real exposure event radically outperforms generic mail, because the homeowner has a fresh memory of the storm and a reason to act now.
Property and owner characteristics
Layered on top of the roof itself are the homeowner economics that decide whether a candidate roof becomes a job:
- Ownership and tenure. Owner-occupied homes convert better than rentals for retail roofing, because the decision-maker lives under the roof. Length of residence matters too; long-tenured owners are more likely to have the original aging roof and the equity to act.
- Home value and equity band. Roofs are a meaningful expense. Targeting homes in a value band that can carry a replacement, whether through cash, financing, or an insurance pathway, lifts close rates. Avoid the very bottom of the market where deferral is common and the very top where homeowners often use established relationships.
- Single-family detached. Most retail roofing mail should focus on single-family detached homes you can actually sell and service. Townhomes and condos often involve associations, which is a different sale.
- Roof complexity and size, read from imagery. A larger, steeper, or more cut-up roof is a bigger job. If your crews are set up for those, weight toward them; if you want volume of simpler jobs, weight the other way.
What you should not overpay for
A lot of consumer data gets sold into roofing that adds little. Generic "home improvement intent" scores, broad lifestyle segments, and modeled income deciles can help at the margin but rarely move the needle compared to roof age and storm exposure. Do not let a data vendor talk you into paying premium rates for behavioral segments while you are still mailing a flat ZIP. Fix the roof-level signal first. The order of return on spend is almost always: roof age, then storm exposure, then ownership and equity, then everything else.
Building your address score: a practical model
You do not need a data science team to rank a list. You need a transparent scoring sheet that anyone in your office can run and audit. The goal is a single number per address, from which you sort descending and mail top-down. Here is a model you can implement in a spreadsheet today and refine as you learn.
The scoring framework
Assign points across the layers, weighted by predictive strength. A workable starting weighting:
| Factor | Signal | Points |
|---|---|---|
| Roof age (estimated range) | Past expected life | 40 |
| Within ~3 years of expected life | 30 | |
| Mid-life | 15 | |
| New (under ~5 years) | -30 (suppress) | |
| Storm exposure | Recent significant hail or wind on this roof | 30 |
| Moderate exposure in last 24 months | 15 | |
| No notable exposure | 0 | |
| Ownership | Owner-occupied, 7+ years tenure | 12 |
| Owner-occupied, shorter tenure | 8 | |
| Rental / absentee | -10 | |
| Equity / value band | In serviceable value band | 8 |
| Below or above target band | 0 | |
| Property type | Single-family detached | 5 |
| Other | -15 (often suppress) | |
| Roof complexity fit | Matches crew capability | 5 |
Sum the points per address. The maximum here lands around 100 for a past-life roof with fresh storm exposure owned by a long-tenured owner in your value band. Negative scores fall off the list entirely.
The weights are a starting point, not gospel. They encode a real belief: age and storm exposure dominate, and everything else is a tiebreaker. As you gather outcome data from your own drops, adjust. If your owner-occupied premium turns out larger than expected in your market, raise it. The point of a transparent model is that you can move a number and see the list reorder.
Turning scores into mailing tiers
Once every address has a score, cut the list into tiers. Tiers let you match spend, cadence, and creative to probability instead of treating every address the same.
- Tier A (score 70+): mail now, mail repeatedly. These are past-life or storm-hit roofs owned by people who can act. This is where premium pieces and multi-touch sequences go.
- Tier B (score 45-69): mail, single or double touch. Solid candidates that are close but not certain. Standard creative, lighter cadence.
- Tier C (score 25-44): mail only when budget allows, or fold into a saturation drop. These are mid-life roofs without storm exposure. Cheapest format, lowest cadence.
- Suppress (under 25 or negative): new roofs, rentals outside your model, wrong property type. Do not mail. This list is as valuable as your mail list, because it stops you wasting postage.
A realistic distribution in a mature suburban metro might be 8 to 15 percent of addresses in Tier A, 20 to 30 percent in Tier B, the rest in C or suppressed. Those proportions shift hard after a storm: a fresh hail swath can move thousands of addresses from C into A overnight, because exposure points stack onto roofs that were merely mid-life the day before.
A worked example
Take three addresses on the same street, all built in the same year subdivision.
- 412 Oak. Build year implies a 21-year-old roof, no reroof permit on file, owner-occupied 11 years, in value band, single-family. Imagery shows granule loss and streaking. A 1.75-inch hail report fell within a quarter mile six weeks ago. Score: 40 (past life) + 30 (storm) + 12 (tenure) + 8 (band) + 5 (type) = 95. Tier A. Mail this week, premium piece, three touches.
- 418 Oak. Same build year, but a reroof permit was pulled 4 years ago. Owner-occupied. Imagery shows a clean, uniform roof. Score: -30 (new roof) + 0 (storm, roof too new to functionally damage) + 8 + 8 + 5 = -9. Suppress. Do not mail. They just bought a roof.
- 425 Oak. Same build year, no permit found, but it is a rental owned by an out-of-state LLC. Imagery shows aging but intact. Score: 40 (past life) + 30 (storm) - 10 (absentee) + 0 + 5 = 65. Tier B, with a note: absentee owner, route the mail to the owner's address on file, not the property, and expect a slower, more financial conversation.
Notice that all three sit on the same street and would receive identical EDDM saturation mail. The scored model treats them completely differently, and in doing so it protects you from mailing the household that just spent on a roof, while pushing hard on the one whose roof is both old and freshly hit.
Where RoofPredict fits in the workflow
The two layers that carry the most weight, roof age estimated from imagery and storm exposure modeled per roof, are also the two hardest to assemble yourself. Permit data is patchy. Build year does not tell you about reroofs. Stitching radar, storm reports, and per-address geometry into an exposure score is genuinely hard. This is the gap RoofPredict is built to fill.
RoofPredict scores addresses at the house level on the signals that matter most for prioritization. It estimates a roof-age range per address from aerial imagery, so instead of guessing from build year you get a defensible window like "likely 16 to 22 years," and it suppresses the roofs that read as recently replaced. On top of that, it models storm physics per roof, so the hail and wind that actually passed over a specific address feed an exposure score rather than a blunt "this city got hit" flag. The result is a ranked view of which roofs in your territory are due, both the ones aging out and the ones a storm wore down, so your crews knock and your mail lands on the doors with the highest odds.
A few honest notes on what that does and does not mean. A roof-age range is an estimate from imagery, not a birth certificate; it narrows uncertainty, it does not eliminate it. A storm exposure score is modeled odds that a given roof saw damaging weather, not proof that any particular roof is damaged. The only way to know a roof's true condition is to get up on it or fly it and inspect; the data tells you where to point that inspection so you are climbing the right ladders. RoofPredict ranks doors and routes. The roofer still documents the actual conditions and writes the estimate, the homeowner still owns any claim they choose to file, and the insurer still decides coverage. Used that way, the data does exactly one thing extremely well: it tells you which addresses deserve your postage and your crew's time, which is the entire question of prioritization.
Practically, you can take a RoofPredict ranking and drop it straight into the scoring model above, using the age range and exposure score as your two heaviest factors, then layer your own ownership and value data on top. The model stays yours; the hardest-to-source inputs get filled in.
List hygiene and suppression: protecting the spend
A brilliant score on a dirty list still wastes money. Before any drop, run the list through hygiene steps. These are unglamorous and they are where a meaningful slice of wasted postage hides.
Standardize and validate addresses
Run the list through address standardization against the postal service's coding system so every address is in deliverable, standardized form. This catches malformed addresses, appends the correct ZIP+4 for better rates, and flags undeliverable records. Mailing to vacant or non-existent addresses is pure loss. The postal service also maintains move-update requirements for bulk mail; staying current avoids both waste and rate penalties.
Suppress aggressively
Good suppression is a competitive advantage. Build and maintain these suppression lists:
- Recently mailed by you. Do not re-hit an address before its cadence window reopens. Over-mailing the same door annoys homeowners and burns budget.
- Existing customers and recent jobs. Mailing a fresh "is your roof due?" piece to a household you reroofed last spring makes you look like you do not know your own customers.
- Known new roofs. Permits and imagery both feed this. Every new-roof suppression saves a wasted piece and protects your credibility.
- Do-not-contact requests. Honor every opt-out. Maintain a permanent suppression file. This is both basic respect and a guardrail under consumer-protection norms.
- Wrong property types. Apartments, commercial parcels, and HOA-governed units you are not equipped to sell.
Dedupe and householding
Collapse duplicate records and resolve multiple records at one household into a single mail piece. Mailing the same house twice in one drop is common with merged lists and entirely avoidable. Householding also lets you address the actual owner where you have the name, which lifts open rates over generic "Current Resident."
Keep the data fresh
Roofs get replaced, homes sell, owners move. A list is a snapshot, and it decays. Refresh roof-age and ownership data on a schedule, monthly for active storm territories, quarterly for steady-state retail. A six-month-old storm exposure layer has already missed the last two events. Stale data quietly degrades every drop after it.
Matching cadence and creative to the tier
Prioritization is not only about who you mail; it is about how often and with what. Spend follows probability. Your top tier earns more touches and better pieces because the expected return per address justifies it.
Cadence by tier
Response to mail is cumulative. A single postcard to a strong prospect underperforms a planned sequence, because the homeowner sees you, ignores it, sees you again, starts to recognize the name, and acts on the third touch when something on the roof finally bothers them. The mistake shops make is one-and-done mailing across the whole list. Instead:
| Tier | Touches | Interval | Format |
|---|---|---|---|
| A | 3 to 4 | 2 to 3 weeks apart | Mix: oversized postcard, then letter, then postcard |
| B | 1 to 2 | One follow-up at 4 weeks | Standard postcard |
| C | 1 | Single, or fold into saturation | Cheapest format / EDDM |
The interval matters. Too close together and you waste impressions before the first has landed. Too far apart and you lose recognition. Two to three weeks is a workable rhythm for high-intent roofing mail. After a storm, compress the Tier A sequence, because the window where the storm is fresh in the homeowner's mind is short.
Creative that matches the reason they are due
The message should reflect why the address scored high. An age-driven Tier A roof and a storm-driven Tier A roof want different copy:
- Age-driven: lead with the lifespan reality. "Roofs in this neighborhood were built around the same time, and many are reaching the end of their service life." Offer a free inspection and an honest assessment of remaining life. The hook is foresight, not fear.
- Storm-driven: lead with the specific event. "A hailstorm passed through your area on [date]. Even when damage is not visible from the ground, it can shorten a roof's life." Offer an inspection to document conditions. Be careful with the language: you are offering to document and assess, not promising a free roof, not promising a claim will be approved, not guaranteeing damage exists. Those promises cross legal lines in many states and invite trouble under public-adjuster and unfair-practices rules. Keep it to: we inspect, we document, we give you an honest estimate, you decide what to do.
A word on honesty in storm copy. The fastest way to wreck a roofing brand is to imply every roof in the swath is damaged and every homeowner gets a new roof on insurance. Model exposure tells you the odds a roof saw damaging weather. It does not certify damage. Write copy that respects that distinction, and your inspections will be more credible and your close rate on legitimate jobs higher, because you are not the company that cried hail.
Format economics
Match format cost to tier value. An oversized glossy piece costs more than a standard postcard, which costs more than saturation mail. Spend the premium format only where the expected return supports it, which is Tier A. Putting your most expensive piece in front of your weakest tier is a common and quiet budget leak.
Territory and routing: mailing for crew efficiency
Prioritization is not purely a per-address question. It is also a geographic one, because your crews and inspectors have to drive to these doors. A list scored purely by individual probability, with no regard to geography, can scatter your top addresses across an entire metro and bury your crews in windshield time. The fix is to weigh density alongside score.
Cluster, then prioritize
The practical approach is to find pockets of high-scoring addresses and prioritize whole pockets, not scattered individuals. A street where 14 of 20 homes score Tier A, because the subdivision was built in the same year and a storm clipped it, is worth more than 14 Tier A homes spread across nine ZIP codes, even at the same individual scores. The clustered pocket gives you:
- Efficient mail drops, because density lowers your effective cost and can qualify for saturation rates.
- Efficient inspections and installs, because a crew can work a tight area all day instead of driving.
- Social proof, because neighbors see your signs and trucks, which lifts response on the next touch.
So add a density factor to your planning: rank micro-territories, not only individual addresses, by their concentration of Tier A and B scores, and work the densest pockets first.
Saturation versus targeted within a hot pocket
This is where EDDM-style saturation mail earns its place. In a pocket where a high fraction of homes are due, the cost of mailing the few that are not due is small, and the savings from saturation postage rates plus the social-proof density can make blanket-mailing the whole pocket the right call. The decision rule:
- If more than roughly half the addresses on a route score Tier A or B, consider saturating the whole route. The waste on the low-scoring minority is cheaper than the per-piece premium of targeting, and you gain density effects.
- If high-scoring addresses are sparse on a route, mail targeted only, and skip saturation. You would be paying to reach mostly new roofs and rentals.
This is the one scenario where the cheap, untargeted tool is correct, and it is correct precisely because your scoring told you the route is dense with due roofs. Targeting and saturation are not enemies; saturation is what you do once targeting proves a pocket is hot.
Align mail with crew capacity
Do not mail more than your crews can chase. If a drop generates inspection requests you cannot get to for three weeks, the prospect cools and may call a competitor. Size each drop to the inspections and installs your team can absorb in the response window. It is better to mail a tight Tier A pocket you can fully service than a sprawling list you answer slowly. Match marketing throughput to operational throughput.
The ROI math: deciding how deep to mail
Every scored list eventually crosses a line where the next address is not worth the postage. Knowing where that line is, and stopping there, is what separates a profitable program from a vanity one. Here is how to find it.
Estimate response and conversion by tier
From your own history, or conservative starting assumptions, estimate the funnel for each tier. A plausible, deliberately modest example for high-intent roofing mail:
| Tier | Response rate (call/visit) | Inspection rate | Close rate | Net jobs per 1,000 pieces |
|---|---|---|---|---|
| A | 1.2% | 70% of responses | 35% of inspections | ~2.9 |
| B | 0.5% | 60% | 30% | ~0.9 |
| C | 0.2% | 50% | 25% | ~0.25 |
These are illustrative, not promised; your real numbers depend on offer, market, season, and crew. The shape, though, is universal: response and close rates fall steeply as score falls. That steep falloff is the entire argument for prioritization.
Compute contribution margin per tier
Now attach dollars. Assume 70 cents per targeted piece and 3,500 dollars gross profit per job, and run each tier per 1,000 pieces:
| Tier | Cost / 1,000 | Jobs / 1,000 | Gross profit / 1,000 | Net / 1,000 |
|---|---|---|---|---|
| A | 700 | 2.9 | 10,150 | +9,450 |
| B | 700 | 0.9 | 3,150 | +2,450 |
| C | 700 | 0.25 | 875 | +175 |
| Below C | 700 | <0.1 | <350 | negative |
Tier A is wildly profitable. Tier B is solidly profitable. Tier C barely clears, and only if your per-piece cost is genuinely low. Everything below C loses money. This table is your stop line: mail A and B always, mail C only with cheap formats or saturation efficiencies, and never mail below C as targeted pieces. The discipline is to keep adding tiers only while the net per 1,000 stays comfortably positive, and to stop the moment it does not.
Multi-touch changes the math
The single-drop table understates Tier A, because Tier A gets a sequence. A three-touch Tier A sequence costs roughly 2,100 dollars per 1,000 addresses but can lift cumulative response well above a single touch, often more than proportionally, because recognition compounds. Run the multi-touch math separately for Tier A: higher cost, materially higher jobs, and usually a better net than three times the single-touch number. This is why your spend concentrates at the top: the top tier is the only place where repeated touches reliably pay for themselves.
Track to actuals and re-weight
The model is a hypothesis until your results test it. Tag every mail piece with the address and tier so that when a job closes you can trace it back. After a few drops you will know your real response and close rates by tier, your real cost per acquired job, and which scoring factors predicted best. Feed that back into the weights. A scoring model that never updates is just a guess with a spreadsheet; a model you re-weight from outcomes gets sharper every quarter.
Timing and seasonality: when to mail which tier
Probability is not static across the year. The same address is worth more to mail in some weeks than others, and a prioritization system that ignores timing leaves money on the table. There are two timing clocks running at once, and you should respect both.
The first clock is the storm clock. Storm exposure is the most time-sensitive signal you have, because its value decays fast. The window where a homeowner remembers the hail, connects it to their roof, and is willing to act is measured in weeks, not months. A Tier A address that scored high because a cell clipped it last week is far more mailable today than the same address will be in four months, after the memory fades and three competitors have already knocked. So storm-driven addresses should jump the queue. The moment a real event lands in your territory, re-score the affected pockets, promote the newly exposed roofs into Tier A, and compress their sequence so the first piece lands while the event is fresh. This is the single highest-urgency action in the whole program, and it is why a stale storm layer is so costly: every week you wait, the exposure signal is worth less.
The second clock is the seasonal-demand clock. Roofing demand rises and falls with weather and the calendar. Homeowners think about roofs more in the lead-up to and aftermath of storm season, and less in deep winter in cold climates when work pauses. Your age-driven Tier A and B addresses, which are not time-critical the way storm addresses are, can be spread across the year to smooth crew workload, with weight shifted toward the windows when homeowners are most receptive and your crews have capacity to install. The practical pattern many shops settle into: storm-driven mail goes out immediately and reactively whenever events occur, while age-driven mail runs on a planned schedule that fills the gaps between storms and keeps crews busy in the quieter stretches. That balance turns direct mail from a feast-or-famine reaction into a steady pipeline.
A useful discipline is to separate your calendar into reactive capacity and planned capacity. Reserve a portion of your monthly mail budget and crew hours as reactive, held in case a storm hits and you need to flood a fresh swath with Tier A pieces fast. Commit the rest to planned age-driven drops. Shops that spend their entire budget on planned mail have nothing left to react with when a real event lands, which is exactly when targeting pays the most. Shops that wait only for storms sit idle in quiet seasons. Running both clocks at once keeps the pipeline full and the reaction sharp.
Sourcing the data and staying compliant
Where does the underlying data come from, and what are the rules around using it? A prioritization program runs on a stack of data sources, each with its own quirks, costs, and limits.
Parcel and assessor data is the backbone. County assessor offices maintain records of every parcel: ownership, build year, lot and structure characteristics, and assessed value. Much of this is public, though access ranges from clean downloadable datasets to clunky lookup portals, and aggregators resell cleaned national versions. This is where you get build year, ownership, owner-occupancy, and value band. Permit data lives alongside it, often in a separate municipal system, and reroof permits are the gold standard for the new-roof suppression layer wherever they are digitized.
Weather and storm data has a strong public foundation. Storm reports, hail-size and wind estimates, and the historical storm-event record are published by national weather services. These are the raw inputs to a per-roof exposure model, and the modeling, interpolating between point reports, weighting by hail size and roof characteristics, is the value-add that turns public reports into an address-level score. Imagery, both aerial and satellite, is the layer that lets you estimate roof condition and approximate age at every address regardless of whether a permit exists; this is typically licensed from imagery providers or accessed through a data product built on top of it.
On compliance, direct mail is the gentlest channel and the easiest to keep clean, which is part of why it remains a workhorse for roofing. Mailing a postcard to a residential address is broadly permitted, unlike unsolicited calls and texts, which fall under strict telemarketing and consumer-protection rules with do-not-call obligations and penalties. That said, a few guardrails matter. Honor every do-not-contact request and keep a permanent suppression file; respecting an opt-out is both the law's intent and basic decency. Keep your mailing-list sourcing within the terms of your data licenses. And be most careful with the content of storm copy: many states regulate how contractors may discuss insurance and claims, and language that implies you will handle, adjust, or guarantee a claim, or that promises a free roof, can run afoul of public-adjuster statutes and unfair-practices rules. The safe and honest posture is consistent throughout: you inspect, you document conditions, you provide an estimate, and the homeowner decides what to do with it. Keep your copy on that side of the line and your prioritization program stays both effective and clean.
A complete pre-drop workflow
Here is the end-to-end sequence a disciplined shop runs before every drop. Use it as a checklist.
- Define the territory. Pick the metro, county, or set of ZIPs you can service well. Do not mail where your crews cannot reasonably reach.
- Pull the address universe. Get every single-family detached parcel in the territory from parcel/assessor data.
- Append roof-age signal. Estimate roof age per address from imagery, permits, and build year. Express as a range. Suppress clearly new roofs.
- Append storm exposure. Score each roof for hail and wind exposure over the last 24 months, modeled per roof, distinguishing event type.
- Append ownership and value. Add owner-occupancy, tenure, and value band. Flag absentee owners and route their mail to the owner address.
- Score and tier. Run the scoring sheet. Sort descending. Cut into Tiers A, B, C, and Suppress.
- Cluster by geography. Identify dense pockets of A and B scores. Rank micro-territories by density.
- Run hygiene. Standardize addresses, validate deliverability, dedupe, household, and apply all suppression lists.
- Decide targeted vs saturation per pocket. Saturate routes that are majority A/B; target sparse routes.
- Match cadence and creative to tier. Build the Tier A sequence, the Tier B follow-up, the Tier C single.
- Size to crew capacity. Cap the drop at what inspections and installs you can service in the response window.
- Tag every piece for tracking. Encode address and tier so closed jobs trace back.
- Drop, then measure. Record responses, inspections, and closes by tier. Compute net per 1,000.
- Re-weight. Update the scoring model from actuals before the next drop.
A shop that runs this loop twice gets meaningfully better than one that mails a flat ZIP forever, because the loop compounds. Each drop teaches the model, and a sharper model means a better-ranked list, which means a higher net on the next drop.
What pros get wrong
Even experienced shops fall into predictable traps. Watch for these.
- Mailing the whole ZIP because it is easy. The convenience of a saturation drop hides its cost: you pay to reach a majority of roofs that are not due. Easy and profitable are not the same.
- Optimizing the postcard while ignoring the list. Endless A/B tests on headlines while the list is an unranked dump. The list has ten times the leverage of the creative.
- Mailing new roofs. Without a new-roof suppression layer, a big share of any list is households who just spent on a roof. Every one is a wasted piece and a credibility hit.
- Treating storm exposure as a city-wide flag. "The city got hailed" leads to mailing roofs the storm missed and skipping the swath that got clipped two towns over. Exposure has to be per roof.
- One-and-done cadence on hot prospects. A single touch to a Tier A roof leaves most of its value on the table. Sequence the top tier.
- Over-promising in storm copy. Implying guaranteed damage, free roofs, or approved claims crosses legal lines and trains homeowners to distrust the next inspector. Promise documentation and honesty, nothing more.
- Never closing the loop. Mailing without tracking which tier produced which job means the model never improves. You are guessing forever.
- Mailing faster than crews can chase. Generating more inspection requests than you can service in the response window cools prospects and feeds competitors.
- Letting the data go stale. A roof-age and storm layer from six months ago has missed events and replacements. Refresh on a cadence.
The through-line in every one of these is the same: prioritization is a discipline, not a one-time setup. The shops that win treat their address list as the central asset of the marketing program, score it honestly, suppress aggressively, mail the top down until the math says stop, and feed every result back into the model.
Putting it together
The question of which addresses to mail has a clean answer: rank every address by the probability the roof is due, mail from the top until the net per thousand stops being comfortably positive, and concentrate your repeated touches and premium formats at the very top. The two signals that carry that ranking are roof age, expressed as a range from imagery and records, and storm exposure, modeled per roof rather than per city. Layer ownership and value on top, run ruthless list hygiene, cluster by geography for crew efficiency, match cadence to tier, and close the loop by tracking jobs back to the tier that produced them.
The data exists to do this well. Roof-age ranges and per-roof storm exposure are exactly the inputs that turn a flat ZIP dump into a ranked list of due roofs, and tools like RoofPredict assemble those two hardest layers so you can drop them into a scoring model you control. None of it replaces the inspection, the honest estimate, or the homeowner's decision. It simply points your postage and your crews at the doors where the odds are best, which is the whole job of prioritization, done right.
FAQ
Is it better to use EDDM saturation mail or a targeted address list for roofing?
For most retail roofing offers, a targeted, scored list wins because the value of reaching a roof that is actually due far exceeds the per-piece premium of targeting. Saturation mail earns its place only inside a pocket where a high fraction of homes are already due, for example a same-year subdivision that just took hail. There the waste on the few non-due homes is cheaper than targeting, and you gain density and social proof. The rule: target first to find hot pockets, saturate a route only when it is majority due.
How do I find out the age of a roof at an address I want to mail?
Use three sources and treat the result as a range, not a date. Reroof permit records, where public and digitized, give the strongest single signal. County assessor build year gives roof age on homes that still have the original roof but does not account for past reroofs. Aerial and satellite imagery analysis estimates condition and approximate age from granule loss, streaking, and patching, and covers every address regardless of permits. Combining all three narrows the window to something like likely 16 to 22 years, which is defensible and usable for tiering.
Why shouldn't I just mail every home in a ZIP code that got hit by a storm?
Because a storm does not damage a metro evenly. A single cell can drop large hail on one subdivision and miss the one two miles away. City-wide mailing reaches many roofs the storm actually missed and may skip a clipped swath in the next town. It also mails new roofs that the same hail could not functionally harm. Model storm exposure per roof, not per city, and combine it with roof age, since older roofs take damage at smaller hail sizes than new ones.
What response rate should I expect from roofing direct mail?
It depends heavily on targeting, offer, season, and market, so treat any single number with caution. Unranked saturation mail often runs well under half a percent in call response, and only a fraction of those become signed jobs after the inspection funnel. A tightly scored Tier A list of due roofs can respond several times higher. The honest takeaway is that targeting moves the response rate far more than creative does, so invest planning hours in the list.
How many times should I mail the same address?
Match cadence to tier. Top-tier addresses, past-life or storm-hit roofs owned by people who can act, deserve a sequence of three to four touches spaced two to three weeks apart, because recognition compounds and most response arrives on the second or third touch. Mid-tier addresses get one follow-up at about four weeks. Low-tier addresses get a single touch or fold into a saturation drop. After a storm, compress the top-tier sequence, since the window where the event is fresh is short.
How do I avoid wasting money mailing roofs that were just replaced?
Build a new-roof suppression layer and run it before every drop. Pull recent reroof permits and use imagery to flag clean, uniform, recently replaced roofs. Give those addresses a strongly negative score so they fall off the list. Mailing a household that just bought a roof wastes the piece and damages your credibility, since it signals you do not understand the neighborhood. Suppression is as valuable as the mail list itself.
What is the simplest way to score and rank addresses without a data team?
Use a transparent points sheet in a spreadsheet. Assign the most points to roof age, with past-expected-life roofs scoring highest and new roofs scoring negative, then add points for recent per-roof storm exposure, then smaller points for owner-occupancy and tenure, value band, and property type. Sum to one score per address, sort descending, and cut the list into tiers. The value of a transparent model is that you can adjust a weight and watch the list reorder, then re-weight from your actual closed-job results.
How deep into my ranked list should I keep mailing?
Mail from the top down until the net contribution per thousand pieces stops being comfortably positive. Estimate response, inspection, and close rates per tier, attach your real per-piece cost and gross profit per job, and compute net per thousand for each tier. Top tiers are usually strongly profitable, the middle clears solidly, the lower tiers barely break even with cheap formats, and below that you lose money. Stop where the math turns thin, and never mail your weakest addresses as premium targeted pieces.
What does RoofPredict actually provide for address prioritization?
It scores addresses at the house level on the two signals that carry the most weight and are hardest to assemble yourself: a roof-age range estimated from aerial imagery, and storm exposure modeled per roof. That produces a ranked view of which roofs in a territory are due, both aging-out and storm-worn, that you can drop into your own scoring model as the two heaviest factors. The age figure is a range, not a date, and the storm score is modeled odds that a roof saw damaging weather, not proof of damage. It ranks doors and routes; your crew still inspects and documents conditions, the homeowner owns any claim, and the insurer decides coverage.
How often should I refresh my mailing data?
Refresh on a cadence that matches your market. In active storm territories, update roof-age, ownership, and storm-exposure data monthly, since a single missed event can reshuffle which roofs are due. In steady-state retail markets, quarterly is usually enough. A list is a snapshot that decays as roofs get replaced, homes sell, and owners move, so stale data quietly degrades every drop after it. Treat the address list as a living asset, not a one-time purchase.
The Roofline by RoofPredict
Stay Ahead of Roofing Market Changes
Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.
Sources
- National Roofing Contractors Association — nrca.net
- NWS Storm Prediction Center Storm Reports — spc.noaa.gov
- National Weather Service — weather.gov
- NOAA National Centers for Environmental Information Storm Events Database — ncdc.noaa.gov
- Insurance Institute for Business & Home Safety (IBHS) — ibhs.org
- USPS Every Door Direct Mail — usps.com
- USPS Move Update Standard — postalpro.usps.com
- USPS Coding Accuracy Support System (CASS) — postalpro.usps.com
- FTC Telemarketing and Consumer Protection Guidance for Businesses — ftc.gov
- International Residential Code (ICC) — codes.iccsafe.org
- U.S. Census Bureau American Housing Survey — census.gov
- Bureau of Labor Statistics: Roofers Occupational Outlook — bls.gov
- Texas Department of Insurance: Hail and Roof Damage Claims — tdi.texas.gov
- RoofPredict — roofpredict.com
Related Articles
The Best Mailing List for Roofing Contractors Is the One You Build From Roof Age and Storm Data
Most roofing mailing lists are just county property dumps with a pretty cover. Here is how to build one that targets roofs the storm wore out and the roofs aging out, then mail it so the phone rings.
How to Build a Storm Damage Mailing List for Roofers That Actually Converts
A practitioner's playbook for building a storm damage mailing list that puts your mail in the right boxes after a hail or wind event, instead of carpet-bombing a ZIP code.
Where to Buy a Roofing Mailing List (and How to Stop Wasting Half of It)
A working roofer's breakdown of where to buy a roofing mailing list, which vendors sell what, and how to filter the list so you stop paying postage on roofs that don't need you.