Property Data for Roofing Companies: The Operator's Playbook for Targeting, Storm Response, and Profitable Routes
On this page
Most roofing companies are sitting on a targeting problem they don't know they have. They buy lists, run radius mailers around a recent storm, and send crews to knock whole subdivisions where two out of every three roofs were replaced five years ago. The crew burns a tank of gas, the reps burn their morning, and the close rate tells the story: the doors were wrong before anyone rang a bell.
Property data fixes the front of that funnel. Not magically, and not by handing you a stack of pre-qualified buyers, but by letting you answer one question before a rep ever leaves the truck: which roofs on this street are actually due, and which ones did the last storm actually wear out? When you can rank addresses instead of carpet-bombing zip codes, every downstream number improves — doors per close, cost per acquisition, crew morale, and the quality of the jobs you land.
The trouble is that "property data" is a fuzzy term that vendors use to mean fifteen different things. Some of it is gold. Some of it is recycled county records with a markup. Some of it is wildly inaccurate in ways that will embarrass you on a homeowner's porch. The operators who win with data are the ones who know exactly which layer answers which question, where each layer lies to them, and how to stitch the layers together into a route a 22-year-old canvasser can run without thinking.
What follows is the working knowledge: the data categories, the sources behind them, the accuracy traps, and the actual workflows roofing teams use to turn parcels and pixels and storm records into knocked doors that close. No theory you can't use on Monday.
What "property data" actually means for a roofing company
When a roofing operator says they want property data, they almost always want the answer to one of four operational questions. Keep these straight, because every dataset you'll evaluate maps to one of them — and a tool that nails one can be useless for another.
- Who lives here and can they buy? Owner name, owner-occupied vs. absentee, mailing address, length of ownership, rough equity signals. This is contactability and qualification.
- What is this building? Roof square footage, stories, pitch, footprint, year built, structure type, prior permits. This is scope — it tells you how big the job is and how to bid before you measure.
- Is the roof due? Roof age or age range, last replacement signal, visible wear from imagery. This is timing — the single highest-leverage question and the hardest to answer well.
- Did weather hurt it? Hail swath history, wind gusts, storm dates, modeled impact on this roof. This is trigger — the reason a homeowner moves from "someday" to "this month."
A lot of money gets wasted because teams buy a dataset that answers question 1 and assume it also answers question 3. It does not. Owner data tells you who to mail; it tells you nothing about whether the roof is twenty years old or two. You need layers, and you need to know what each layer is for.
| Operational question | Data category | Typical sources | What it's good for | Where it fails |
|---|---|---|---|---|
| Who lives here? | Ownership / parcel | County assessor, list brokers | Mail, skip-trace, absentee filtering | Stale after sales; phone/email coverage thin |
| What is this building? | Structure / measurement | Aerial measurement tools, assessor | Pre-bid scope, material estimates | Pitch/footprint errors on complex roofs |
| Is the roof due? | Roof age / wear | Permit records, imagery analytics, range models | Prioritizing the genuinely-due | Permits incomplete; age is a range, not a date |
| Did weather hurt it? | Storm / hail | NOAA/SPC, hail vendors, per-roof models | Storm response timing & targeting | Point reports miss gaps; swaths are coarse |
The rest walks each category, then shows how to combine them.
Ownership and parcel data: the foundation layer
Every property dataset starts with the parcel — the legal unit of land a county tracks for tax purposes. The county assessor maintains a record for each parcel that typically includes the owner of record, the mailing address, the assessed and market value, the year built, the lot size, the building square footage, the number of stories, and a use code (single-family, duplex, commercial, etc.). In most states this is public record. You can pull it straight from the county, or buy it cleaned and standardized from a data aggregator who has already done the work of normalizing 3,000-plus county formats into one schema.
What you actually use this layer for:
- Owner-occupied vs. absentee filtering. Compare the owner's mailing address to the property address. If they match, the owner likely lives there — your ideal retail target. If they differ, it's a rental or second home, which changes your pitch and sometimes disqualifies the door entirely (a tenant can't authorize a roof).
- Length of ownership. A homeowner who has owned for 12 years on an 18-year-old roof is a far better timing bet than someone who bought last year (the roof was likely inspected or replaced at sale).
- Building basics for rough scope. Year built, stories, and footprint give you a first-pass sense of job size before you measure.
- Skip-tracing inputs. Owner name plus address is what phone and email append vendors match against.
Where parcel data lies to you
Assessor data is authoritative for ownership and value and unreliable for roof condition. Three traps catch new operators:
Sale lag. Counties update ownership on their own schedule. A house that sold in March may not show the new owner until the fall reassessment cycle. If you mail "Dear Mr. Previous Owner," you've announced you bought a cheap list.
"Year built" is not "roof age." This is the single most common and most expensive mistake. Year built tells you when the structure went up. A roof on a 1985 house could be the original (40 years old, dead) or replaced after a 2019 hailstorm (six years old, fine). Treating year built as roof age sends crews to perfectly good roofs and skips the genuinely due ones two doors down. Year built is a weak floor on roof age — nothing more.
Building square footage is not roof square footage. Assessor square footage is heated living area. A 2,000 sq ft single-story ranch with a 6:12 pitch and overhangs can carry 2,600-2,800 sq ft of actual roof surface. Never bid off assessor footage; it's a sanity check, not a measurement.
Use parcel data for what it's built for — who owns it, how long, is it owner-occupied — and never let it masquerade as a roof-condition signal.
Measurement and structure data: scope before you climb
Aerial measurement is the most mature piece of the roofing data stack. Tools that turn satellite or aircraft imagery into a measured roof report — total area, pitch by facet, ridge and hip and valley linear footage, number of squares with waste factored — have been standard for over a decade. A good report lets a salesperson build an accurate material estimate from the office, before anyone gets on a ladder.
For a data-driven sales operation, measurement data does three jobs:
- Pre-call scoping. You walk to the door already knowing it's a 28-square, 7:12, cut-up hip roof — so you know roughly what the job is worth and whether it's worth a senior closer.
- Faster, safer estimates. Fewer ladder climbs for measurement means fewer fall exposures. Falls are the leading cause of death in construction, and roofing carries one of the highest fatality rates of any trade, so anything that keeps reps off ladders during prospecting is a real safety win, more than a convenience.
- Bid consistency. When every estimate comes off the same measurement standard, you stop losing margin to reps who eyeball low to win the deal.
Where measurement data breaks
Imagery-based measurement is excellent on simple gable and hip roofs and degrades on complexity. Watch for:
- Pitch errors on steep or shadowed facets. Algorithms estimate pitch from imagery; heavy tree cover, dormers, and very steep sections introduce error. Always reconcile a surprising pitch against what your eyes tell you on site.
- Stale imagery. If the underlying capture is two or three years old, additions, detached structures, and recent re-roofs won't show. Ask any vendor for the capture date of the image they measured.
- Low-slope and multi-level commercial. Complex commercial roofs with mechanical units and multiple levels are where automated measurement is least reliable. For those, treat the report as a starting point and verify.
Measurement data answers "how big and how complex," and it answers it well. It does not tell you whether the roof needs replacing — a freshly measured roof can be brand new.
Roof age and condition data: the question everyone gets wrong
Here is the layer that actually separates a sharp targeting operation from a list-buying one — and it's the layer most companies handle worst. Timing is everything in roofing retail. A roof that's genuinely near the end of its service life is a homeowner already half-decided; a roof with fifteen years left is a hard, expensive no. If you could rank a neighborhood from most-due to least-due, you'd reorder your entire week around it.
The problem: nobody maintains a clean public database of "this roof was last replaced on this date." Roof age has to be inferred, and every method of inferring it has gaps.
Method 1: Permit records
Many jurisdictions require a permit to re-roof, and those permits are public record. A re-roof permit from 2014 is strong evidence the roof is about 11 years old. Permit data is the closest thing to a hard replacement signal you can get.
Its limits are serious, though:
- Coverage is wildly uneven. Some cities permit and digitize everything; others barely track re-roofs or never put them online. Rural counties may have nothing usable.
- Permits get skipped. Plenty of re-roofs happen without a pulled permit, especially smaller cash jobs and post-storm work done fast. Absence of a permit does not mean the roof is old.
- Lag and matching. Recent permits may not be published yet, and matching a permit to the right parcel can be messy when address formats differ.
Permit data is a powerful positive signal (a recent permit reliably means a newer roof) and a weak negative one (no permit tells you little). Use it to exclude recently-permitted roofs from your due list, not to confirm an old roof is old.
Method 2: Imagery and visual wear
High-resolution aerial and street-level imagery can reveal condition: granule loss patterns, patching, color mismatch where sections were replaced, missing or curling shingles, staining, and obvious tarps or damage. Analytics tools increasingly score this automatically across whole neighborhoods.
The catch is that imagery shows symptoms, not age, and visible wear is a lagging indicator. A roof can be near the end of its service life and still look passable from 400 feet up, especially on architectural shingles that fail at the mat before they look ugly. And image recency matters again — last summer's hail won't appear in imagery captured the previous spring.
Method 3: Roof-age range models
The practical answer most data-forward operators land on is a range, not a date. By combining the structure's year built, any available permit history, imagery-derived wear signals, and regional re-roofing patterns, a model can estimate that a given roof is, say, 16-22 years old with reasonable confidence — without claiming a false precision it can't support.
A range is honest and it's enough. You don't need to know a roof is exactly 19 years old. You need to know it's in the 15-25 band rather than the 0-8 band, because that's the difference between a door worth knocking and a door worth skipping. The discipline here is critical: anyone selling you a single exact roof-replacement date for every address is selling precision the underlying data can't deliver. Trust ranges; distrust false certainty.
What pros get wrong about roof age
- They equate year built with roof age (covered above — the cardinal sin).
- They assume no-permit means old. It often means the permit was skipped or never digitized.
- They chase visible damage only. The aging-out roof with no storm and no obvious damage is a quieter, often easier sale than the storm-chased street everyone else is hitting.
- They demand exact dates. Then they distrust the whole dataset when a date is wrong, instead of working with calibrated ranges.
Storm and hail data: the trigger layer
Storm data is what turns a slow retail roof into an urgent one. A homeowner who's been ignoring a tired roof for three years gets a different relationship with it the week after a hailstorm rolls through. For restoration-focused companies, knowing where a storm actually hit — and how hard — is the difference between a productive week and a wasted one.
The authoritative public sources
Start with the government data, because it's free, credible, and the backbone every commercial hail vendor builds on:
- NOAA's Storm Prediction Center (SPC) publishes daily severe weather reports — hail, wind, and tornado reports plotted by location and magnitude. Good for fast situational awareness the morning after.
- NOAA's Storm Events Database (maintained by the National Centers for Environmental Information) holds decades of records including hail size, wind speed, dates, and any noted property damage. Good for history and for understanding a market's storm pattern over time.
- Local National Weather Service offices issue Local Storm Reports during and after events, collected from spotters, emergency managers, and the public.
The structural weakness of all report-based storm data: it's built from point observations. A hail report exists where a human or a station recorded one. Between reports, the map is blank — not because no hail fell, but because nobody was there to report it. Report-based maps systematically under-represent rural and low-population areas and can make a continuous swath look like scattered dots.
Commercial hail data
Commercial vendors address the gaps by combining radar-derived hail signatures with reports to produce swath maps — shaded polygons estimating where hail of a given size likely fell, often with parcel-level overlays. These are genuinely useful for canvassing because they fill in the space between point reports.
But respect their limits:
- Radar estimates hail size; it doesn't measure it. A swath says "hail up to ~1.5 inches likely here," not "this roof took a 1.5-inch stone."
- Swaths are probabilistic and coarse. Within a shaded zone, actual damage varies house to house with roof age, material, slope orientation, and tree cover.
- A storm map is a targeting tool, not evidence. This matters legally and ethically — more below.
The thing storm maps can't tell you
Even a perfect hail swath has a blind spot: it describes the weather, not the roof. Two houses inside the same 1.75-inch swath can be in completely different shape. One has a 3-year-old impact-rated roof that shrugged it off; the other has a 19-year-old three-tab roof on its last legs that the storm pushed over the edge. The swath treats them identically. Your targeting shouldn't.
That's the gap the next section is about.
Bringing it together: per-roof storm modeling and which-roofs-are-due data
The layers above each answer one question. Stitched together, they answer the only question that matters operationally: of all the doors I could knock this week, which ones are most likely to need a roof and say yes? That's a combination of timing (is it due?) and trigger (did weather push it?), scored per address rather than per zip code.
This is where a purpose-built tool like RoofPredict fits. Rather than handing you a hail polygon or a raw parcel dump, it works at the level of the individual roof: it estimates a roof-age range for an address from aerial imagery and supporting records, and it models storm physics per roof — accounting for the fact that the same storm hits a 4-year-old roof and a 20-year-old roof very differently. The output is a ranking: which roofs on a street are aging out, and which ones the storm most plausibly wore out. You knock the intersection of "due" and "hit" first.
What that changes in practice:
- You stop knocking the whole subdivision. Instead of 200 doors, you get the 60 that are old enough and exposed enough to be worth a senior rep's time.
- Your canvassers carry conviction. A rep who knows this roof is in the 17-23 year band and sat under a significant hail event last month has a real, specific reason to be on the porch — not a generic "storms came through."
- Routes get tighter. Ranked addresses cluster into efficient walk patterns instead of zig-zag chaos.
Now the honest limits, because anyone who pretends otherwise is selling you something:
- Roof age is a range, not a birth certificate. RoofPredict gives you a calibrated band (e.g., 15-21 years), not an exact install date. That's a feature — it's honest — but if you want a precise date you won't get one, and you shouldn't trust anyone who promises it.
- A storm model is odds, not proof. Modeling that a roof likely took meaningful impact is a prioritization signal — a reason to inspect. It is not documentation of damage and it is not a guarantee of damage. The actual roof condition is established on site, by a person, on a ladder.
- It ranks doors; it doesn't close them. No data tells you who's home, who's friendly, or who just had their roof done by a cousin. Data gets the right rep to the right porch; the rep still has to do the job.
- It's not a lead-buying service. You're not buying pre-sold homeowners. You're buying better targeting — a smarter order of operations for your own crews. The work of inspecting, documenting, and earning the job is still yours.
Used this way, per-roof data does the one thing list-buying never could: it puts your most expensive resource — a trained rep's time — against the doors most likely to convert, and keeps it off the doors that were never going to.
A note on staying legal and ethical with storm data
Because storm data sits next to the insurance claim process, the guardrails matter. Keep the roles clean: the roofing contractor documents roof conditions and provides repair estimates; the insurer decides coverage; the homeowner owns the claim. Storm modeling and hail maps are reasons to inspect a roof, never proof that damage exists or that a claim will be paid. Don't promise a homeowner a covered claim, a paid deductible, or a "free roof" off a hail map — those are the kinds of representations that draw regulatory attention from state insurance departments and the FTC, and they're exactly the trap that gives data-driven canvassing a bad name. Let the data point your reps at the right roofs; let the inspection and the carrier do their jobs.
Worked example: turning data into a week of routes
Abstract categories are easy. Here's the concrete workflow a sales manager runs to convert raw data into knocked doors. Numbers are illustrative — plug in your own market.
Setup: A hail event moved through the north side of your metro on a Tuesday. By Wednesday morning you want crews knocking the right doors by 4 p.m.
Step 1 — Define the storm footprint. Pull SPC reports and your hail vendor's swath for Tuesday. You get a polygon covering roughly 4,200 single-family parcels with estimated hail of 1.25 inches or larger. Carpet-bombing all 4,200 is exactly the mistake — that's 70 reps' worth of doors and most are wrong.
Step 2 — Layer in roof age / due signals. Rank those 4,200 by roof-age range and wear. Suppose this collapses the list to ~1,500 parcels in the 14+ year band (the roofs old enough that a 1.25-inch event plausibly matters), with the 0-8 year roofs filtered out.
Step 3 — Filter for contactability and fit. Drop non-owner-occupied parcels (tenants can't authorize work) and obvious disqualifiers. Say that removes 20%, leaving ~1,200 prioritized, owner-occupied, aging, storm-exposed doors.
Step 4 — Cluster into routes. Group the 1,200 into walkable clusters of ~80-100 contiguous doors. That's roughly 12-14 route cards. Each card is a tight cluster, not a sprawling zip.
Step 5 — Assign and equip. Hand each rep a route card with the address list, the roof-age band per door, the structure basics (stories, rough squares), and a one-line storm note. Reps walk in already knowing which doors are the priority and why.
Step 6 — Measure the funnel and recalibrate. Track doors knocked, contacts made, inspections set, inspections completed, jobs signed — per data segment. If the 18-25 year band sets inspections at twice the rate of the 14-17 band, weight tomorrow's routing toward the older band. The data layer isn't set-and-forget; it's a dial you tune against your own close data every week.
Compare the two worlds. Without data: 4,200 doors, reps scattered, maybe a 1-2% inspection-to-knock rate, crews demoralized by 30 straight "already done" answers. With data: 1,200 ranked doors, tight routes, reps with a specific reason on every porch, and an inspection rate you can actually move by tuning the segments. Same storm. Completely different week.
A buyer's checklist for evaluating property data vendors
Vendors will tell you their data is the most accurate available. Make them prove it against the questions that decide whether you waste money. Run every prospective data source through this list:
- What's the underlying source and how often is it refreshed? County records monthly? Imagery captured when? "Real-time" usually isn't.
- What's the capture date on the imagery I'm being shown? If they can't tell you, assume it's old.
- Is roof age presented as a range or a single date? A single exact date for every roof is a red flag, not a feature. Honest vendors give calibrated ranges.
- What's your permit coverage in MY specific counties? National averages are meaningless; your markets are what matter. Ask for coverage by county.
- How do you handle owner-occupancy and sale lag? Can you filter absentee owners? How current is the ownership?
- For storm data: report-based, radar-based, or both? Pure point reports under-represent gaps; radar swaths are estimates. You want to understand which you're getting.
- Can I get a sample on a neighborhood I know cold? Then ground-truth it. Pick a street where you know which roofs are new and old and see if the data agrees.
- Does it integrate with my CRM and routing tools? Data that lives in a separate portal nobody opens is data you don't use.
- What does it explicitly NOT tell me? A trustworthy vendor will name the limits without prompting. One that claims to know everything is hiding the gaps.
A 30-minute ground-truth test before you buy anything
Don't take a demo's word for it. Run this on any vendor offering a sample:
- Pick 20 addresses on streets you know personally — including a few roofs you know were replaced in the last three years and a few you know are ancient.
- Check whether the data flags the new roofs as new and the old ones as old.
- Compare any measurement output against a job you actually built on one of those addresses.
- Cross-check the storm history against a date you remember a real storm hitting.
If the data fails on roofs you know cold, it'll fail on the thousands you don't. Thirty minutes here saves a season of misrouted crews.
Building the data into your CRM and field workflow
Data that lives in a vendor portal nobody logs into is money set on fire. The operators who get real lift are the ones who push property data all the way down to the rep's phone, inside the same app they already use to log a knock. The mechanics matter more than people expect, so here's how the plumbing actually works.
Where the data should land. Your canvassing or CRM platform is the system of record — that's where reps log dispositions, where managers watch the funnel, and where appointments get set. Property data has to flow into that system as fields on the address or pin, not sit in a separate tab. Practically, that means one of three setups:
- Native integration. The data vendor has a built-in connector to your CRM, and roof-age band, structure basics, and storm flags show up automatically on each pin. Cleanest, when it exists.
- File import. You pull a scored list (CSV) and import it into the CRM as a territory or list, with custom fields for age range, owner-occupancy, and storm exposure. More manual, works everywhere.
- API push. Your data team or a contractor wires the vendor's API to your CRM so new addresses get enriched on a schedule. Highest effort, best for high-volume shops.
What fields to expose to the rep. Don't dump everything on the canvasser — overload kills usage. The rep needs four things on the pin: a priority tier (e.g., A/B/C derived from the combined score), the roof-age band, owner-occupied yes/no, and a one-line storm note. That's enough to make the rep walk to the A-tier doors first and skip the rentals. Keep the raw underlying data available to managers for tuning, but show the field team only what changes their next decision.
Disposition discipline closes the loop. None of the feedback tuning works if reps don't log clean dispositions. "Already replaced" is a critical disposition — it tells you the roof-age model missed, and enough of those in one segment means recalibrate. "Not home," "renter," "not interested," and "inspection set" each feed back differently. Make the disposition list short, mandatory, and consistent, or your loop-closing data turns to mush.
A reasonable cadence. For most retail-and-storm shops, refresh ownership and roof-age data quarterly, pull storm data within 24-48 hours of any significant event, and re-score your standing retail territories twice a year. Imagery-driven wear signals don't change fast, so chasing daily refreshes on those is wasted spend.
Residential vs. commercial: the data is not the same game
Most of the workflow above assumes residential retail and storm restoration, because that's where door-knocking and per-roof scoring pay off hardest. Commercial roofing runs on a different data profile, and conflating the two wastes effort.
Residential is a high-volume, many-decision-makers game. There are thousands of addresses in a metro, each with a single owner who can say yes on the porch, and the winning move is ranking — sorting a huge universe down to the few hundred doors worth a rep's time. Parcel data, roof-age ranges, hail swaths, and per-roof modeling all shine here precisely because the volume is high and the decisions are fast.
Commercial inverts almost every assumption:
- Decision-makers are hidden. The roof belongs to an LLC, a REIT, a property-management firm, or a facilities director — rarely the person you'd reach by knocking. The data question shifts from "is this roof due?" to "who actually controls this building and how do I reach them?" That's a business-entity and contact-research problem, not a door-knock problem.
- Roofs are low-slope and bigger. Year built and assessor footage are even less useful; automated measurement is least reliable on complex multi-level commercial roofs with rooftop units. You'll verify on site far more often.
- The cycle is long and relationship-driven. Commercial re-roofs run on budgets, capital planning, and bids — not a same-week storm response. Property data feeds a prospect list and account-research workflow, not a canvassing route.
- Permit and ownership data still help, but for different reasons: to identify aging building stock, spot recently-sold properties (new owners often reassess deferred maintenance), and map portfolios where one owner controls many roofs.
The lesson: pick the data stack for the side of the business you're running. A storm-restoration crew and a commercial re-roof estimator should not be buying the same dataset and expecting the same lift.
Should you build an in-house property database?
At some scale, operators ask whether to stop paying per-record vendors and build their own property database from raw county and public sources. The honest answer is: usually no, occasionally yes, and rarely as cleanly as you imagine.
The case against building. Normalizing 3,000-plus county assessor formats, matching permits to parcels, ingesting storm feeds, refreshing on a cadence, and handling the constant breakage when counties change their export format is a full-time data-engineering job — often several. Most roofing companies underestimate the maintenance cost, not the initial build. The raw data being free does not make the working dataset cheap.
The case for building. It can make sense if you operate at high volume in a small number of counties (so the normalization burden is bounded), you have genuine data-engineering capacity in-house, and the per-record vendor costs at your volume exceed the loaded cost of an engineer. A regional shop dominating five counties has a far better build case than a small operator spread across forty.
The middle path most pros take. Buy cleaned parcel and ownership data from an aggregator (let them eat the normalization pain), pull storm data from the free NOAA/SPC sources yourself (it's well-structured and public), and buy roof-age and per-roof modeling from a specialist because that inference is genuinely hard to build well. You end up assembling a stack rather than building or buying it whole — and you keep the right to swap any one layer when a better source appears. That optionality is worth more than the false economy of owning everything.
The metrics that tell you the data is working
If you can't measure the lift, you can't justify the spend or tune the targeting. Track these per data segment, never only in aggregate:
| Metric | What it tells you | Healthy direction |
|---|---|---|
| Doors knocked per inspection set | Targeting efficiency | Lower is better |
| Inspection-set rate by roof-age band | Whether age signal predicts intent | Older bands should outperform |
| "Already replaced" disposition rate | Roof-age model error | Should be low and falling |
| Contact rate by owner-occupancy filter | Whether you're skipping rentals well | Higher on owner-occupied |
| Signed-job rate by storm exposure tier | Whether storm modeling adds lift | Hit-and-due tier should lead |
| Cost per acquisition by source | Which data actually pays | Falling over time |
The single most revealing number is doors knocked per inspection set, segmented by roof-age band. If your 18-25 year band needs 40 knocks per inspection and your 0-8 band needs 200, the data is doing its job and you should pour reps into the older band. If both bands knock the same, your age signal isn't predictive in that market — investigate before you spend another dollar on it. Aggregate numbers hide this; segmentation exposes it.
A practical rule: don't evaluate a data source on whether the data is "accurate" in the abstract. Evaluate it on whether the segments it creates actually convert differently. Data that sorts your doors into buckets that close at the same rate is, for your purposes, useless — no matter how precise it claims to be.
Common ways roofing companies waste money on data
Patterns that show up again and again:
- Buying contact lists and calling it targeting. Owner names and phone numbers tell you who to reach, not whose roof is due. A list is a starting point, not a strategy.
- Treating year built as roof age. Worth repeating because it's that common and that costly. It sends crews to good roofs and skips bad ones.
- Over-trusting a single layer. Storm-only operators miss the quietly-aging retail market; parcel-only operators have no timing signal. The edge is in the combination.
- Ignoring data hygiene. Stale ownership, duplicate parcels, and bad address matching quietly poison routes. Budget time to clean, or pay a vendor who does.
- Never closing the loop. Buying data and never tracking which segments actually convert means you never learn which data is worth paying for. Tie every signed job back to the data segment it came from.
- Letting data make compliance promises. Using a hail map to promise a covered claim or a free roof is how you end up in front of a regulator. Keep the data in its lane: it points you at roofs to inspect.
Setting realistic accuracy expectations
New buyers swing between two errors: expecting the data to be perfect, then writing it off entirely the first time a field is wrong. Neither posture makes money. Property data is probabilistic, and the right mental model is a weather forecast, not a bank statement.
Think in terms of lift, not perfection. If a roof-age model is right about the band two times out of three, that is enormously useful even though it's wrong a third of the time — because the alternative (year built, or nothing) is far worse, and because you're using the signal to order a list, not to make irreversible calls on individual houses. A door mis-scored as A-tier costs you one wasted knock; the model earning you ten right A-tier doors for every wrong one is a massive win at the level of the route.
The failure mode to avoid is treating any single record as ground truth. A homeowner says "my roof's only four years old" and your data said fifteen — that's not proof the dataset is junk; it's one record, and you note the disposition, feed it back, and move to the next door. Judge data on aggregate segment performance over hundreds of doors, not on the anecdote from the porch you happen to remember. The reps who internalize this stay calm and productive; the ones who don't quit the data the first week and go back to knocking everything.
A second expectation to set: freshness and accuracy trade off against coverage. A vendor can have very current data in dense metros and stale or thin data in rural counties. Ask where their data is strong and where it's weak, and match that to your actual service area rather than trusting a single national accuracy number that averages the two together into a figure true nowhere.
How the data layers stack into a real operation
Put the whole thing in order and the workflow is straightforward:
- Parcel/ownership defines the universe and tells you who's reachable and authorized.
- Roof-age range (from permits + imagery + models) tells you which of those roofs are due.
- Storm/hail tells you which due roofs just got a trigger.
- Per-roof storm modeling ranks the intersection so your best reps hit the best doors first.
- Measurement scopes each job so you bid fast and consistently.
- Your own close data feeds back and re-weights every layer above it.
None of these layers is a magic button. Parcel data is stale in spots, permits are patchy, imagery is dated somewhere, age is a range, and storm models are odds. But stacked and ground-truthed against your own results, they reorder your week around the doors that actually convert — and that reordering, compounded over a season, is the difference between a crew that knocks 4,200 random doors and one that knocks 1,200 ranked ones and signs more jobs doing it.
The companies that win with property data aren't the ones with the most data. They're the ones who know exactly what each layer is for, exactly where it lies, and exactly how to turn it into a route a canvasser can run before lunch. Start with the four questions — who, what, due, hit — get one trustworthy source for each, ground-truth all of it on streets you know, and tie every signed job back to the segment it came from. The data won't close for you. It'll just make sure your closers are standing on the right porches.
FAQ
What is property data for roofing companies?
It's the set of data layers a roofing company uses to target work: ownership and parcel records (who owns a property and whether they live there), structure and measurement data (roof size, pitch, footprint), roof-age and condition signals (how due a roof is), and storm and hail data (whether weather likely damaged it). Used together, these let a company rank which addresses to inspect and knock first instead of canvassing entire neighborhoods blindly.
Can I get the exact age of a roof from property data?
Almost never as a precise install date. There's no clean public database of roof replacement dates. Roof age is inferred from a property's year built, any available re-roof permits, imagery showing wear, and regional patterns. The honest output is a range, such as 15 to 21 years, not an exact date. Any vendor promising an exact replacement date for every address is overstating what the underlying data can support. A calibrated range is enough to separate roofs worth knocking from roofs worth skipping.
Why shouldn't I use 'year built' as the roof age?
Year built tells you when the structure was constructed, not when the roof was last replaced. A 1985 house might have its original 40-year-old roof, or a 6-year-old roof installed after a hailstorm. Treating year built as roof age sends crews to perfectly good roofs and skips the genuinely due ones nearby. Year built is at best a weak floor on roof age, useful only as a sanity check alongside permit and imagery signals.
Where does hail and storm data come from?
Authoritative public sources include NOAA's Storm Prediction Center daily reports, NOAA's Storm Events Database, and Local Storm Reports from National Weather Service offices. Commercial vendors build on these by adding radar-derived hail swath estimates that fill the gaps between point reports. Public report data is credible but built from point observations, so it under-represents areas where no one was present to report hail. Radar swaths estimate hail size rather than measure it on any individual roof.
Does storm data tell me which specific roofs were damaged?
No. A hail map or swath describes the weather over an area, not the condition of any single roof. Two houses in the same swath can be in completely different shape depending on roof age, material, slope orientation, and tree cover. Storm data is a targeting and prioritization signal that tells you where to inspect. Actual damage is established on site by a person inspecting the roof, never by a map alone.
How is RoofPredict different from buying a lead list or a hail map?
A lead list gives you contacts and a hail map gives you a weather polygon, but neither tells you which individual roofs are most likely due or storm-worn. RoofPredict works per roof: it estimates a roof-age range for an address from aerial imagery plus supporting records, and models storm physics per roof so the same storm is scored differently on a 4-year-old roof than a 20-year-old one. The output is a ranking of which roofs are aging out and which a storm most plausibly wore out, so your reps inspect the highest-probability doors first.
Is RoofPredict a lead-buying service?
No. You're not buying pre-sold homeowners. You're buying better targeting, a smarter order of operations for your own crews, so trained reps spend their time on the roofs most likely to be due or storm-worn. The work of inspecting roofs, documenting conditions, providing estimates, and earning the job stays entirely with the contractor. The data ranks doors and routes; it doesn't close deals or replace fieldwork.
Are permit records a reliable way to find old roofs?
They're a strong positive signal and a weak negative one. A recent re-roof permit reliably means a newer roof, so permits are excellent for excluding recently-replaced roofs from a due list. But coverage is uneven across jurisdictions, plenty of re-roofs happen without a pulled permit, and recent permits may not be published yet. The absence of a permit does not mean a roof is old. Use permits to rule roofs out, not to confirm a roof is aged.
How do I avoid compliance problems when using storm data to canvass?
Keep the roles clean. The contractor documents roof conditions and provides repair estimates, the insurer decides coverage, and the homeowner owns the claim. Storm models and hail maps are reasons to inspect a roof, never proof that damage exists or that a claim will be approved. Don't promise a homeowner a covered claim, a paid deductible, or a free roof off a hail map, since those representations draw scrutiny from state insurance departments and the FTC. Let the data point reps at the right roofs and let the inspection and the carrier do their jobs.
How should a roofing company evaluate a property data vendor?
Ask for the underlying source and refresh rate, the capture date of any imagery, and whether roof age is given as a range or a single date (a single exact date is a red flag). Ask for permit coverage in your specific counties rather than national averages. Confirm you can filter absentee owners and how current the ownership is. Then run a ground-truth test: pull 20 addresses on streets you know cold, including roofs you know are new and old, and check whether the data agrees. If it fails on roofs you know, it'll fail on the ones you don't.
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
- Storm Events Database — ncei.noaa.gov
- NOAA Storm Prediction Center — Severe Weather Reports — spc.noaa.gov
- National Weather Service — Storm Report Records — weather.gov
- NSSL Research: Hail — nssl.noaa.gov
- IBHS — Relative Hail Impact Resistance of Asphalt Shingles — ibhs.org
- FORTIFIED Roof — A Program of IBHS — fortifiedhome.org
- National Roofing Contractors Association (NRCA) — nrca.net
- OSHA — Fall Protection in Construction — osha.gov
- BLS — Census of Fatal Occupational Injuries — bls.gov
- U.S. Census Bureau — American Housing Survey — census.gov
- International Code Council — International Residential Code (IRC) — iccsafe.org
- FTC — Advertising and Marketing Basics — ftc.gov
- Texas Department of Insurance — Roof Damage and Insurance Claims — tdi.texas.gov
- RoofPredict — roofpredict.com
Related Articles
How to Map Roof Ages Across a City (Without Knocking 10,000 Doors First)
A practical, address-level playbook for estimating roof age across an entire market, then turning that map into a knock list crews can actually run.
How to Target Storm-Damaged Areas With Direct Mail (Without Wasting Half Your Budget)
Most storm mailers go to the wrong streets at the wrong time with the wrong message. Here is the workflow pros use to put roofing mail in front of homes the storm actually hit.
How to Prioritize Storm Leads When You Have Too Many
When a hailstorm dumps 400 leads on your sales team in 48 hours, the winner isn't the company with the most doors. It's the one that knocks the right doors first.