Which Suburbs Have the Oldest Housing Stock for Roofing (And How to Find Them)
On this page
Ask ten roofing owners how they pick where to canvass and nine of them will describe a feeling. The subdivision "looks old." The trees are tall. There was a storm out that way two springs ago. A buddy did well there once. None of that is wrong, exactly, but it is unmeasured, and unmeasured beliefs cost you Saturdays. A crew works a street where a third of the roofs got redone after the last hail event, knocks for four hours, comes back with one soft maybe and a sunburn, and nobody can say afterward whether the street was bad or just already worked.
The age of the housing stock in an area is the single most useful starting filter a roofer has, because asphalt shingle roofs fail on a schedule that tracks the age of the house more tightly than almost anything else you can see from the curb. A subdivision built out between 2002 and 2006 with original architectural shingles is sitting on roofs that are now eighteen to twenty-two years into a twenty-to-twenty-five-year service life. That is a wave of work, and it arrives whether or not a storm shows up. The trick is that "old housing stock" at the suburb level is public information you can pull for free, and "which specific roofs are actually due" is a different, narrower question that the suburb-level data sets up but does not answer by itself.
What follows is the full method: where the free data lives, how to read it without fooling yourself, why median year built lies in two predictable ways, how build-out windows beat single-year figures, and how to take a ranked list of old suburbs all the way down to a knockable route. There are worked examples with real numbers, a scoring template you can copy into a spreadsheet, and an honest account of where the public data stops being enough.
Why housing age is the right first filter for roofing
A roof's clock starts the day it's installed, and on a new house that's the day the house is finished. Three-tab shingles installed in the late 1990s and early 2000s carried manufacturer service expectations in the twenty-to-twenty-five-year band; the architectural (dimensional) shingles that took over residential new construction through the 2000s and 2010s are rated higher but in the real world, in sun and wind and freeze-thaw, plenty of them are visibly worn and granule-bald by year eighteen to twenty. The National Roofing Contractors Association is blunt that a manufacturer's rating is not a promise of field life; exposure, ventilation, and installation quality move the real number around. But the central fact holds: a house built in 2004 with its original roof is a roof in its replacement window right now, in 2026.
That is why age leads. Compare it to the other signals roofers chase:
- Storm history is powerful but episodic and crowded. When a real hail event lands, every roof old enough to qualify becomes a candidate at once, and so does every out-of-town crew. Age tells you where the work is between storms, which is most of the calendar.
- Home value and income tell you whether the homeowner can pay, which matters, but a wealthy new subdivision has nothing to replace for fifteen years.
- Permit data tells you who already pulled a re-roof permit, which is useful mostly as a subtraction (see below), not as a place to start.
Age is the broad, always-on signal. It defines the universe of suburbs worth your attention. Everything else narrows that universe. So the first job is finding, ranking, and understanding the suburbs with the oldest housing stock in your market, and the right tool for that is the U.S. Census Bureau, free.
The free data source most roofers never open: Census "Year Structure Built"
The American Community Survey, run by the Census Bureau, publishes a table called Year Structure Built (table B25034) and a companion Median Year Structure Built (B25035) for every state, county, city, place, ZIP Code Tabulation Area (ZCTA), and census tract in the country. It is the authoritative, no-cost answer to "how old is the housing here," and it is updated every year.
B25034 gives you the count of housing units built in bins: 2020 or later, 2010-2019, 2000-2009, 1990-1999, 1980-1989, 1970-1979, 1960-1969, 1950-1959, 1940-1949, and 1939 or earlier. Those bins are the gift, because a roofer doesn't care about a single "median" year nearly as much as the shape of the build-out. A suburb where 60 percent of homes were built in one decade is a wave. A suburb with the same median but homes spread evenly across sixty years is a trickle.
Here's how to pull it without paying anyone:
- Go to data.census.gov.
- Search the table code B25034 (or B25035 for the median).
- Set the geography. For suburb-level work, use Place (incorporated cities and Census Designated Places) or ZCTA (the Census stand-in for ZIP codes). For street-level precision later, drop to Census Tract.
- Filter to your county or metro, download the CSV, and you have every suburb's build profile in one sheet.
If you'd rather not click through the interface every time, the Census Data API serves the same numbers programmatically, and the ACS 5-year estimates (the most stable release) cover even small suburbs and tracts where the 1-year estimates are too thin to publish. For a roofer, the 5-year ACS is the right release: it's smoothed, it's complete down to small geographies, and roof-age waves don't move fast enough that the averaging hurts you.
One caution worth stating up front: "Year Structure Built" is the age of the house, not the age of the roof. That gap is the entire reason the rest of this matters, and we'll come back to it hard in the re-roof section. For now, treat the Census table as the map of where original roofs are oldest, which is exactly the right place to start hunting.
Build-out windows beat median year built
Median year built (B25035) is the number everyone quotes because it's a single tidy figure. It is also the number that will mislead you most often. Two failures show up constantly.
Failure one: the bimodal suburb. Imagine an older town center built in the 1950s with a large new subdivision annexed in 2015. Half the homes are seventy years old, half are eleven. The median lands somewhere in the 1980s, which describes no actual house in the town. If you canvass to the median, you knock a street that's either far too old (already re-roofed two or three times, owners tired of it) or far too new (nothing to sell). The fifty-year-old core and the eleven-year-old fringe are two completely different sales motions, and the median hides both.
Failure two: the slow-growth suburb. A place that added homes steadily from 1975 to 2010 has a median around 1992, but no concentration anywhere. You can't run an efficient route because the due roofs are scattered three houses apart between recently redone ones.
What you actually want is a build-out window: a tight band of years when most of the suburb's housing went up. The sweet spot for original-roof replacement right now (2026) is roughly 2000 to 2010. Homes from that window are eighteen to twenty-six years old. The earliest are well past the typical replacement point; the latest are entering it. A suburb where 50 percent or more of units fall in the 2000-2009 bin is a standing wave of work that will keep producing for several years as the back half of that decade ages in.
To find build-out windows from B25034, compute the share of units in each bin and look for concentration, not the median. A quick template:
| Build bin | Units | Share | Roof age in 2026 | Read |
|---|---|---|---|---|
| 2010-2019 | 1,200 | 18% | 7-16 yr | Too new (watch list) |
| 2000-2009 | 3,900 | 58% | 17-26 yr | Prime wave |
| 1990-1999 | 900 | 13% | 27-36 yr | Likely re-roofed once; verify |
| 1980-1989 | 500 | 7% | 37+ yr | Multiple re-roofs; low value |
| 1979 & earlier | 270 | 4% | 47+ yr | Mature; storm-driven only |
The suburb above isn't "median 2003." It's "58 percent in the prime window." That sentence is what tells you to put a crew there, and it's invisible if you only look at the median. Run this for every place and ZCTA in your county and you'll have a ranked shortlist in an afternoon, for the cost of nothing.
The re-roof problem: why old housing stock isn't the same as old roofs
Here is the failure that separates roofers who use this data well from roofers who get burned by it. House age is not roof age. A house built in 1998 has had twenty-eight years to get a new roof. In a market that took a hail event in 2011 and another in 2019, a large fraction of those 1998 roofs are now on their second or even third covering, installed in 2011 or 2019, and are nowhere near due. The Census table cheerfully reports those homes as "built 1990-1999" and tells you nothing about the re-roof.
This is why the oldest housing stock is not automatically the best target. The very oldest suburbs, built before 1980, have usually cycled through multiple roofs and the current covering is unpredictable. The richest hunting is the band where the original roof is most likely still on: homes old enough to be due but young enough that they probably haven't been redone yet, with no major qualifying storm in between to reset the clock. That's the 2000-2010 window in most markets, pulled forward or back depending on local storm history.
So you need a mental subtraction. Start with the Census build-out (where old houses are), then subtract for things that reset the roof clock:
- Major hail/wind events in the suburb's history. Each qualifying storm reset a chunk of roofs to new. If a suburb's prime window is 2000-2009 but a damaging hailstorm hit in 2017, expect a meaningful share of those roofs to date from 2017-2018, not the build year. The NOAA Storm Events Database and the NWS Storm Prediction Center archives let you check, free, whether and when a hail-bearing storm crossed a given county.
- Re-roof permits. Many jurisdictions publish building-permit data, often including reroof/recover permits with addresses and dates. Where it exists, this is the cleanest possible subtraction: a roof with a 2019 permit is off your list. It's patchy (some places require permits and publish them, some don't), so treat found permits as confirmed removals, not as a complete census of what's been redone.
- Insurance and replacement clusters you can sometimes infer from a street's uniformity. A row of identical-age homes where every third roof is visibly newer tells you a storm-driven replacement wave already ran.
None of these subtractions can be done at the suburb level with full confidence. They're why suburb-level data is the first filter and not the last. The suburb tells you where to look; you still have to figure out which specific roofs survived without a reset.
Reading roof age from the air (the range, not the date)
Once you've ranked suburbs and want to go to the street, the next question is which individual roofs are actually old. You cannot get the install date of a roof from public data. What you can do, and what experienced estimators do every day, is read an age range off aerial and street imagery from visible wear, and combine it with the house's build year.
What to look for, and what each cue does and doesn't tell you:
- Granule loss and color fade. A roof that's gone matte, with dark streaks where granules washed into the gutters, is well into the back half of its life. This narrows you toward "old," but sun exposure and slope direction skew it; a south-facing slope ages faster than the north on the same roof.
- Shingle type vs. build era. Three-tab on a 2003 house usually means original (builders moved to architectural shingles through the 2000s). Architectural shingles on a 1985 house mean it's been redone at least once. This cross-check is one of the most reliable curb reads there is.
- Surface texture and lay. Cupping, curling, and a wavy or "fish-mouthed" surface in oblique imagery indicate an old, thermally cycled roof. Clean, flat, sharp-edged courses indicate a newer install.
- Patches and mismatched sections. A repaired or partially replaced roof reads as mixed age and usually means a prior claim or repair, which changes the conversation.
- Flashing, valleys, and penetrations. Rust at flashings and degraded pipe boots are age tells visible in good oblique imagery.
The output of this read is never a date. It's a range: "this roof is probably eighteen to twenty-two years old." Anyone who tells you they can read an exact install year off an aerial is selling something. The honest, useful version is a defensible range that, combined with the build year and storm history, tells you whether a roof is worth a knock. A 2004 build with a faded, streaking three-tab roof and no re-roof permit on file is about as confident a "due" as you can get without a ladder. A 2004 build with crisp architectural shingles probably got redone after a storm and goes to the bottom of the list.
Storm history as a multiplier on age, not a replacement for it
Storms and age work together, and the contractors who do best treat storm history as something that modifies the age signal rather than overriding it.
A roof that is already fifteen to twenty years old and then takes a hail or high-wind event is far more likely to show qualifying damage than a three-year-old roof in the same storm, because the old roof's granule layer and seal integrity are already compromised. So the highest-value street in a storm-affected market is the intersection of two things: old enough to be worn, and in the storm's actual path. Either alone is weaker. A new subdivision in the hail core has roofs that mostly shrugged it off. An old subdivision the storm missed is a slow age-only play.
To work this honestly you need two layers over your suburb ranking:
- Where did damaging storms actually go? The Storm Prediction Center and NOAA Storm Events data give you reported hail and wind by date and location at the county/report level. The Insurance Institute for Business and Home Safety publishes good plain-language material on how hail and wind damage roofs, useful for training reps on what real damage looks like versus normal wear.
- Which roofs in that path were old enough to be vulnerable? That's your Census build-out plus your aerial age read.
A word on staying inside the lines, because storm work is where roofers get themselves in trouble. Your job, and your value to the homeowner, is on the documentation and estimate side. You can inspect a roof, photograph and document the condition and any storm-related damage you find, and write an accurate, Xactimate-aligned estimate to repair the work to its prior condition. You hand that documentation and estimate to the homeowner. The homeowner files the claim, and the insurer decides coverage. You do not, for a fee, negotiate or "handle" the claim, interpret the homeowner's policy or what it covers, promise a specific payout or that a claim will be approved, tell anyone their deductible is waived or absorbed or "gone," advertise a "free roof," or represent the homeowner against their carrier. That last set is unlicensed public adjusting in most states, and state insurance departments (Texas's TDI is a well-documented example) treat it seriously. Document thoroughly, estimate accurately, hand it over. That framing keeps you legal and, not incidentally, makes you the contractor the homeowner trusts.
A worked example: ranking four suburbs end to end
Let's make this concrete with four suburbs in one metro. The numbers are illustrative but the method is exactly what you'd run on real Census pulls.
Maple Hollow. B25034 shows 6,400 housing units, 58 percent built 2000-2009, 18 percent 2010-2019, the rest older. Median home value mid-range, owner-occupancy 81 percent. No major hail event in county storm records since build-out. Read: a clean age-only wave. The prime-window roofs are eighteen to twenty-six years old and most are probably original because nothing reset them. High priority for steady, non-storm canvassing and mail.
Cedar Crossing. 4,100 units, build-out spread 1985-2005 with no tight concentration (median 1996). A damaging hailstorm crossed the county in 2018. Read: messy. The older homes have cycled roofs; the 2018 storm reset a chunk of the rest. Due roofs exist but they're scattered, and you can't tell which from the data. This is a street-verify suburb, not a mail-the-whole-ZIP suburb. Work it with feet, not stamps.
Northgate. 9,200 units, 64 percent built 1972-1985, median 1979. High owner-occupancy, older population. Read: oldest stock, worst age-targeting bet. These roofs are on their second or third covering; current roof age is unpredictable and a real fraction were redone recently. The oldest suburb is not the best suburb. Reserve for storm-driven work only.
Sunridge. 3,500 units, 71 percent built 2014-2020, median 2017. Read: too new. Roofs are six to twelve years old. Watch-list it for the early 2030s and move on. The mistake here would be canvassing it because it's a nice, paintable subdivision; nice does not mean due.
Rank: Maple Hollow first (concentrated prime window, no reset), Cedar Crossing second but as a verify-on-the-street play, Northgate storm-only, Sunridge parked. Notice that the suburb with the oldest median (Northgate) ranks third, and the one you'd target first has its wave squarely in the 2000s. That inversion is the whole lesson: oldest stock and best stock are not the same, and the Census bins plus a storm check are what let you tell them apart.
A scoring template you can copy today
Give every suburb a score out of 100 so the ranking is repeatable and a new sales manager can run it without your gut. Weights are a starting point; tune them to your market.
| Factor | What to pull | Weight | How to score |
|---|---|---|---|
| Prime-window concentration | Share of units in the best 2 adjacent bins (currently 2000-2009 + back half of the prior) | 30 | % share scaled to 0-30 |
| Reset risk (storm) | Count of qualifying hail/wind events since build-out (NOAA/SPC) | -20 | Subtract for recent resets |
| Re-roof permit density | Reroof permits per 100 homes where published | -10 | Subtract for high re-roof rate |
| Owner-occupancy | ACS owner-occupied share | 15 | Higher = easier decision-maker |
| Home value band | ACS median value (ability to pay) | 10 | Mid-to-upper bands score best |
| Density / route efficiency | Units per square mile | 10 | Denser = cheaper to work |
| Competitive saturation | Yard-sign / competitor presence (manual drive or local knowledge) | 15 | Less crowded = higher |
| Storm overlay (if applicable) | Old-enough roofs inside an actual storm path | +bonus | Add for true age-x-storm overlap |
The negative weights are the part most roofers skip and the part that keeps you honest. A suburb can have a beautiful prime-window concentration and still be a poor bet because a 2019 storm already reset half of it. Subtracting for resets is how the template encodes the re-roof problem instead of pretending it away.
Run every suburb in your county through this once, sort descending, and you have a defensible target list ranked by something better than "looks old." Re-run it once a year when the new ACS release drops and your prime window slides forward a year on its own.
Going from a ranked suburb to a knockable route
A ranked list of suburbs is a planning tool, not a route. The gap between "Maple Hollow scores 84" and "knock these forty doors on Tuesday" is where most of the wasted Saturdays still hide, because even inside a great suburb, a third of the roofs aren't due. Here's the drop-down sequence:
- Suburb to tract. Re-pull B25034 at the census-tract level inside your top suburbs. A 6,400-home suburb has several tracts and they rarely build out evenly; one tract is 70 percent prime-window and the next is mostly 2015. Knock the 70 percent tract first.
- Tract to street. Within the best tract, use aerial imagery to read roof age block by block. Streets in the same subdivision often went up in phases a few years apart, and the phase line is visible from the air as a shift in shingle wear. Find the oldest phase.
- Street to address. On the target streets, mark the individual roofs that read old (faded, streaking, original-type shingle for the era) and skip the ones that read recently redone. This is the address-level pass that turns a good street into an efficient one.
- Subtract the resets. Cross-check any re-roof permits you can pull for those addresses, and drop the homes a recent storm clearly already redid (the mismatched-newer roofs on an otherwise uniform street).
What's left is a route where most doors are genuine candidates, and that ratio, candidates per door knocked, is the number that actually determines whether your reps make money and stay. A green canvasser who knocks a street that's 70 percent due gets enough yeses to believe the job works and sticks around; the same rep on a picked-over street quits in three weeks. Targeting isn't only about gas savings, it's about retention.
Where RoofPredict fits, and where it doesn't
Everything above can be done by hand with free public data and good aerial imagery, and plenty of sharp shops do exactly that. What it costs is time: pulling and cleaning Census tables for a whole county, overlaying storm history, reading roofs block by block, and keeping the subtractions current. The two genuinely hard parts to do at scale by hand are (1) reading age on individual roofs across thousands of addresses, and (2) modeling which roofs a given storm actually wore out, house by house, rather than just which county got a hail report.
That second part is worth a careful word, because it's where most "storm" tools stop short. A hail map tells you where it hailed. It does not tell you which specific roofs that hail wore out, because the same storm hits a fifteen-year-old roof and a three-year-old roof very differently. RoofPredict models the storm on each roof, rather than only the area the storm crossed, and pairs that with a roof-age range read per address from aerial imagery. The output is a ranked, house-by-house view of which roofs are most likely due, the ones the storm wore out plus the ones simply aging out, so a crew works the worn roofs and skips the new ones.
The honest limits, because a tight trade compares notes:
- Roof age comes back as a range (for example, eighteen to twenty-two years), not an install date. Nobody can read an exact date off an aerial, and anyone claiming to is overselling.
- Storm exposure is expressed as odds, not proof of damage. The model tells you which roofs were most likely affected; only an inspection confirms damage on any one roof.
- It enriches your own list, CRM, and streets with roof-age and storm signals so you target better. It is not a lead-buying service and it doesn't sell you a homeowner's contact to also sell to four competitors. You still own the relationship and the knock.
Used that way, the suburb-level Census work in this method becomes the wide filter and the per-address age-plus-storm scoring becomes the fine one, which is the same two-stage logic a careful shop already runs by hand, done across a whole market without the manual block-by-block pass. If you'd rather keep it entirely free and in-house, the Census, NOAA, and your county permit portal genuinely get you most of the way; the per-roof layer is where buying back your time tends to pay.
Reading the bins like an estimator: a deeper look at B25034
Most people glance at the Census bins and move on. Sit with them a minute, because the shape of those ten numbers tells you how a suburb will behave for the next decade, not only today. Three patterns come up over and over, and each one calls for a different play.
The single-spike suburb. One bin holds 55 to 70 percent of all units and the neighbors are thin. This is a master-planned community that built out fast. It produces a roof-replacement wave that crests and then fades: when that bin's homes age into the window, you get two or three boom years, and then the suburb empties of original roofs and goes quiet until the next reset. Work it hard while it's cresting, and put a calendar reminder for when the next bin behind it ages in. A suburb whose spike is in 2000-2009 is cresting now. A suburb whose spike is in 2010-2019 is your reservation for the early 2030s; note it and leave it.
The staircase suburb. Units climb steadily across three or four adjacent bins, say 1995-1999, 2000-2009, and the front of 2010-2019. This is a community that grew in phases, and it's the best kind of long-term territory, because there's always a cohort entering the replacement window. You don't get a single boom, you get a conveyor belt. These suburbs reward a shop that sets up a steady, year-round presence rather than chasing the next storm county. The phases are usually geographically clustered too (the oldest phase is near the original entrance, the newest at the back), which makes route-building clean.
The flat suburb. Units spread evenly across many decades with no concentration anywhere. This is an old town that infilled slowly. The median looks workable but there's no wave, and routes are inefficient because a due roof sits between two recently redone ones. These are the suburbs to deprioritize for mail and reserve for opportunistic canvassing when a crew is already nearby.
A practical tip on the math: don't trust raw counts across suburbs of different sizes. A 9,000-unit suburb with 40 percent in the prime window has more total due roofs than a 3,000-unit suburb at 60 percent, but the smaller one is more efficient to work because the candidate density per street is higher. Score both the absolute count (total opportunity) and the share (route efficiency), and decide based on your crew capacity. A two-truck shop usually wants the high-share suburb; a shop with reps to spare can afford the bigger, lower-share one.
One more data-quality note that trips people up. ACS figures are estimates with margins of error, and those margins get wide at the tract level for small geographies. The Census publishes the margin alongside every estimate; for a small tract a "58 percent" might carry a plus-or-minus of several points. That's fine for ranking, where you care about relative order, but don't present a homeowner or a partner with a false-precision figure. Round to the pattern ("most of this neighborhood went up in the early 2000s"), not the decimal.
Layering ownership, value, and tenure onto age
Age tells you which roofs are due. Three more free ACS tables tell you whether the homeowner can act on it, and they're worth pulling in the same session because they ship in the same data set keyed to the same geographies.
- Owner-occupancy (tenure, table B25003). A roof on an owner-occupied home has a decision-maker living under it. A rental has a landlord who may be slow, absent, or running the property to a budget. High owner-occupancy suburbs convert better and faster on replacement work. As a rule of thumb, prioritize tracts above 75 percent owner-occupied for direct-to-homeowner work, and treat heavy-rental tracts as a different motion (property managers, portfolio owners) entirely.
- Median home value (B25077) and household income (B19013). These are your ability-to-pay screens. You're not looking for the richest suburb; you're looking for the band where homeowners can fund a replacement, often with a deductible, without it being a crisis. Mid-to-upper-middle suburbs tend to be the sweet spot: enough equity and income to act, not so high-end that they're already on a premium roof with a long-tenured contractor relationship.
- Householder age and length of residence. Long-tenured owners in homes they bought new are the cleanest story of all: they've owned since the build, the roof is almost certainly original, and they're the easiest people to have a straight conversation with about a roof that's quietly aged out under them.
The move is to take your age-ranked suburb list and apply these as filters, not as primary sorts. Age first (where are the due roofs), then owner-occupancy and value (can these owners act). A suburb that wins on all three, concentrated prime-window build-out, high owner-occupancy, mid-to-upper value, is a place to plant a flag and work for years, not a one-time sweep.
Regional variation: the window moves by climate and code
The "2000 to 2010" prime window is a national average, and your market will push it around. A few forces to adjust for:
Sun and heat shorten roof life. In the high-UV, high-heat parts of the Sun Belt, asphalt shingles age faster; the same 2004 roof that looks mid-life in a temperate market can be visibly spent in Phoenix or central Texas. In those markets the prime window shifts later (newer homes are already due) and the back half of the 2000s is in play sooner.
Freeze-thaw and ice climates punish roofs through a different mechanism, cycling and ice damming, but the net effect is similar: real-world service life runs shorter than the rating, so don't wait for a roof to be twenty-five years old before treating it as a candidate.
Storm frequency resets the clock more often in hail alley and high-wind coastal markets. In a market that takes a damaging event every few years, house age is a much weaker proxy for roof age, because resets are constant. There you lean harder on storm overlays and aerial reads and trust the Census build-out less. In a low-storm market (much of the interior West, parts of the Pacific Northwest), house age is a strong proxy because few roofs ever got reset, and the Census table alone gets you remarkably far.
Local code and material mix matter too. Markets with strong impact-resistant-shingle adoption, or tile and metal in the mix, don't follow the asphalt clock. Tile lasts decades but its underlayment and flashings fail on a schedule worth knowing; metal is a different life entirely. Know what your market's 2000s subdivisions were actually roofed with before you assume the asphalt window applies.
The practical takeaway: calibrate the window to your own ladder data. Every time your crew confirms an actual roof age on a job (from a tear-off, a permit, or the homeowner's memory), log it against the house's build year and your aerial read. After a few dozen jobs you'll know your local gap between build year and real replacement age, and you can move your prime window to match instead of borrowing a national average.
Mail vs. canvass: the economics of an old-stock suburb
Once you've found a strong old-stock suburb, the next decision is how to work it, and the right answer depends on how concentrated the due roofs are. Here's the logic with worked numbers (use your own costs; these are illustrative ratios, not quotes).
Direct mail rewards concentration. Mail is cheap per piece but you pay for every piece whether or not the roof is due. If a suburb is 60 percent prime-window, six of every ten pieces land on a plausible candidate and the math works. If it's 25 percent, you're paying to mail three wasted pieces for every good one, and the campaign drowns. So mail your single-spike and staircase suburbs where concentration is high, and tighten the drop to the prime-window tracts rather than the whole ZIP. A targeted drop into a 60-percent tract can outperform a ZIP-wide blast that costs five times as much, because the response rate per piece is what pays the campaign, not the piece count.
Canvassing rewards density and read-ability. Knocking costs rep time, not postage, and a rep can skip a house that visibly doesn't need them. So canvassing is the right tool for the messier suburbs, the staircase and even the flat ones, where you'd never mail efficiently but a sharp rep working from an aerial-marked route can walk past the redone roofs and knock only the worn ones. The whole game in canvassing is candidates-per-hour, and a marked route in an old-stock tract can double or triple it versus knocking cold.
A combined play often wins. Mail the concentrated tracts to warm them, then canvass the same streets a week later so the rep is knocking a door that already saw your name. The age-targeting is what makes both halves efficient: you're spending mail money and rep hours only where the roofs are actually due.
Whatever you choose, the targeting work upstream is what makes the channel pay. A perfect mailer into a suburb full of five-year-old roofs loses money; an ordinary mailer into a tight prime-window tract makes it. The suburb selection is the lever, not the creative.
Competitive saturation: the factor that flips a good suburb bad
All the age data in the world won't help if every roof in the suburb already has four yard signs in front of it. Saturation is the factor most age-driven targeting ignores, and it's the one that turns a textbook-perfect suburb into a grind.
How to read it without a data feed:
- Drive the prime-window streets and count yard signs and fresh roofs. A suburb that's already had a storm-driven replacement wave will show rows of new roofs and competitor signs; that suburb is largely picked, even if the Census says the houses are old, because the due roofs already got done.
- Check whether a recent storm already ran through. A qualifying event two or three years back means the swarm already worked it. The remaining roofs are the ones that didn't qualify or didn't act, a harder sell.
- Watch for permit spikes. Where re-roof permit data is public, a spike in the last two or three years in a given tract is a flashing sign that the wave already crested there.
The opposite, an old-stock suburb with no recent storm, few signs, and low permit activity, is open ground, and it's worth more than a flashier suburb everyone's already working. This is where age-only markets shine for a local shop: the out-of-town storm crews aren't there, the roofs are quietly aging out, and you can work the suburb at your own pace without fighting a swarm for every door. Build your scoring to reward open ground and penalize saturation, and you'll find yourself in suburbs your competitors overlooked because they were chasing the last hail report instead of the steady wave of age.
Common mistakes that quietly cost real money
Targeting the oldest suburb instead of the best-aged suburb. Covered above and worth repeating because it's the single most common error. The pre-1980 stock has cycled roofs and unpredictable current age. The 2000-2010 wave is where the most original roofs are still in place and due. Chasing "oldest" sends crews to streets where homeowners have already been through three roofs and don't want a fourth conversation.
Trusting median year built. A median describes a point that may match no house in a bimodal suburb. Always look at the bin shape (B25034), not only the median (B25035).
Confusing house age with roof age. The Census reports build year. Storms and prior re-roofs reset the roof clock and are invisible in that table. Subtract for them or you'll mail thousands of homes that were redone five years ago.
Ignoring storm resets. A suburb with a perfect prime-window concentration can be a poor target if a recent hailstorm already redid a big share of it. Check NOAA/SPC before committing crews.
Mailing the whole ZIP. ZIP-level targeting wastes most of the postage because the due roofs are concentrated in specific tracts and phases, not spread evenly. Drop to tract and street before you spend on mail.
Reading age as a date. Aerial wear reads give a range. Treat it as a range, score accordingly, and confirm on the ladder. Selling a homeowner on a specific "your roof is exactly twenty-one years old" number you can't support erodes the trust you're trying to build.
Crossing the claims line on storm streets. If your targeting takes you into storm-affected old subdivisions, keep your role on the documentation-and-estimate side. Inspect, photograph, document, and write an accurate repair estimate; hand it to the homeowner; let them file and let the insurer decide. Don't negotiate or handle the claim, interpret coverage, promise an approval or payout, touch the deductible, or advertise a free roof. The contractors who respect that line keep their licenses and their reputations, and they're the ones homeowners refer.
A simple weekly rhythm for putting this to work
You don't need a data team. You need a repeatable hour or two.
- Once a year (when new ACS drops): re-pull B25034 for your county at the place and ZCTA level, recompute prime-window shares, and re-rank suburbs with the scoring template. Your prime window slides forward one year automatically, so last year's watch-list suburbs start aging in.
- Monthly: check NOAA/SPC for any new qualifying storms in your counties and flag affected old-enough suburbs for an age-x-storm push, on the documentation-and-estimate footing described above.
- Weekly: take your top one or two suburbs, drop to tract, read the best streets from aerial imagery, mark the old-reading roofs, subtract any re-roof permits you can pull, and hand the crew a route that's mostly genuine candidates.
- Per route: track candidates-per-door and closes-per-route so you learn which of your reads were right and tighten the next pull. Targeting that doesn't feed back into your scoring never gets sharper.
That rhythm turns "where do we knock this week" from a gut call into a measured pull from free public data, narrowed by storm reality and visible roof age, all the way down to a street where most of the roofs are actually due. Old housing stock is the map. The wave inside it, minus the resets, is the job.
FAQ
What is the single best free data source for finding old housing by suburb?
The U.S. Census Bureau's American Community Survey, specifically table B25034 (Year Structure Built) and B25035 (Median Year Structure Built). Pull it at data.census.gov for any place, ZIP Code Tabulation Area, or census tract in your market. B25034 is the more useful of the two because it shows the count of homes built in each decade bin, so you can see the shape of the build-out instead of a single median that can mislead you.
Why shouldn't I just target the suburbs with the oldest median year built?
Because median year built misleads in two ways and because oldest does not mean best. A bimodal suburb (old core plus new annexed subdivision) can show a median that matches no actual house. And the very oldest stock, built before 1980, has usually cycled through two or three roofs, so the current roof age is unpredictable. The best age-targeting bet is usually homes built in a tight 2000-2010 window, old enough to be due but young enough that most still carry their original roof.
Does old housing stock mean the roofs are old?
Not necessarily, and this is the most important caveat. The Census reports the age of the house, not the roof. A house built in 1998 may be on its second or third covering if a hailstorm or a prior re-roof reset the clock. Always subtract for major storms (check NOAA/SPC records) and for re-roof permits where your county publishes them. House age is where you start; roof age is what you have to verify.
What's the ideal build-out window to target in 2026?
Roughly 2000 to 2010 in most markets. Those homes are sixteen to twenty-six years old, putting their original asphalt shingle roofs squarely in the typical replacement window, and they're young enough that a large share haven't been redone yet. Shift the window earlier or later depending on local storm history, which resets the roof clock on homes a damaging storm passed over.
Can I get the actual install date of a roof from public data?
No. There is no public record of when a specific roof was installed unless a re-roof permit was pulled and published, which is patchy. What you can do is read an age range from aerial and street imagery, granule loss, fading, shingle type versus build era, cupping and curling, and combine it with the house's build year. The result is a defensible range like eighteen to twenty-two years, never an exact date.
How do I use storm history alongside housing age?
Treat storm history as a multiplier on age, not a substitute. An older, worn roof is far more likely to show qualifying damage in a hail or wind event than a new one. The highest-value street is the overlap: old enough to be vulnerable and in the storm's actual path. Use NOAA's Storm Events Database and the NWS Storm Prediction Center to check where damaging storms went, then overlay your Census build-out and aerial age read to find the roofs that were both worn and hit.
How granular should I go, ZIP, tract, or street?
Use ZIP or place level to rank suburbs, census tract to find the best concentrations inside a suburb (tracts in the same suburb often build out years apart), and aerial imagery at the street and address level to mark the individual roofs that read old. Mailing or canvassing a whole ZIP wastes most of the effort because due roofs cluster in specific tracts and building phases, not evenly across the ZIP.
I do storm restoration. How do I stay on the right side of the claims rules?
Keep your role on the documentation and estimate side. You can inspect the roof, photograph and document any storm-related damage, and write an accurate, Xactimate-aligned repair estimate, then hand it to the homeowner. The homeowner files the claim and the insurer decides coverage. Do not, for a fee, negotiate or handle the claim, interpret the policy or what it covers, promise a payout or approval, tell anyone their deductible is waived or absorbed, or advertise a free roof. That set of actions is unlicensed public adjusting in most states.
Where does RoofPredict fit into this method?
It automates the two parts that are hardest to do by hand at scale: reading a roof-age range per address from aerial imagery, and modeling which roofs a given storm actually wore out, house by house, rather than just which county got a hail report. It enriches your own list and streets with those signals so you target the worn and aging-out roofs and skip the new ones. It is not a lead service, it returns age as a range and storm exposure as odds (not proof), and you still own the homeowner relationship and the knock.
How often should I refresh my suburb targeting?
Re-rank suburbs once a year when the new ACS release drops, since your prime build-out window slides forward a year on its own and last year's watch-list suburbs start aging in. Check storm records monthly for new qualifying events in your counties. And build your weekly routes fresh from tract-level data plus current aerial reads. Feed your candidates-per-door and close rates back into the scoring so each pull gets sharper than the last.
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
- American Community Survey: Year Structure Built (Table B25034) — data.census.gov
- American Community Survey: Median Year Structure Built (Table B25035) — data.census.gov
- Census Bureau Data API Documentation — census.gov
- Understanding ZIP Code Tabulation Areas (ZCTAs) — census.gov
- NRCA: Roof System Service Life and Maintenance Guidance — nrca.net
- IBHS: Hail and How It Damages Roofs — ibhs.org
- NOAA Storm Events Database — ncdc.noaa.gov
- NWS Storm Prediction Center — spc.noaa.gov
- International Residential Code (ICC) Roof Provisions — codes.iccsafe.org
- Texas Department of Insurance: Public Adjusters and Roofing Contractors — tdi.texas.gov
- FTC: Truth in Advertising Guidance for Businesses — ftc.gov
- U.S. Census Bureau QuickFacts — census.gov
- Bureau of Labor Statistics: Roofers Occupational Outlook — bls.gov
- RoofPredict — roofpredict.com
Related Articles
How to Win Roofing Bids With Data, Not Discounts
Discounting trains your market to wait for a lower number. Here is the data-driven sales system roofers use to win bids without cutting price.
Red Flags a Roofing Lead Will Waste Your Time (and How to Qualify Out Fast)
A practitioner's field guide to the warning signs that a roofing lead is a dead end, plus a fast qualifying workflow that keeps your best hours on roofs that actually close.
How to Close Storm Damage Roofing Jobs Without Scare Tactics
Fear closes one roof and burns three referrals. Here is the documentation-first sales process that wins storm jobs while keeping you on the right side of the law.