Skip to main content

Roofing Customer List Segmentation Strategy: Turn a Flat List Into Booked Jobs

Michael Torres, Storm Damage Specialist··31 min readRoofing Sales & Growth
On this page

Most roofing companies own a list that is worth more than their next ad spend, and they treat it like a phone book. It sits in a spreadsheet, or it sprawls across a CRM nobody trims, and when it is time to drum up work the team blasts the whole thing or buys a fresh list and starts over. That is the most expensive habit in residential roofing. A flat list wastes mail on roofs that were replaced two years ago, sends green canvassers to doors that will never buy, and buries the past customer who is sitting on a 19-year-old roof and would say yes today if anyone bothered to call.

Segmentation is the fix, and it is not a marketing buzzword. It is the discipline of cutting one big pile of addresses into smaller piles that each get a different message, a different channel, and a different priority, because the homeowner behind each pile is in a different situation. A roof that is eight years old gets ignored. A roof that is twenty gets a letter. A past customer whose neighbor just had hail gets a phone call. Same list, three completely different plays, and the cost per booked job drops every time you tighten the cut.

What follows is a practitioner's playbook: the fields you need to capture, the segments that actually convert, the workflows to build each one, the math that tells you where to spend, and the mistakes that quietly drain budgets. Wherever roof age or storm exposure is the missing piece, there is honest guidance on how to get it, including where outside data like RoofPredict fits and where it does not.

Why a flat roofing list quietly loses money

Start with the arithmetic, because it is the part most owners skip. Say you mail 10,000 households at a blended cost of roughly $0.60 to $0.90 per piece for a decent postcard or letter, all-in with printing and postage. That is $6,000 to $9,000 a drop. If your list is untargeted, a large share of those homes have roofs that are too new to replace, are rentals where nobody on site makes the call, or belong to people who already used a competitor last season. You paid full freight to reach them anyway.

Now flip it. The same budget, aimed only at owner-occupied single-family homes with roofs in the replacement window, reaches far fewer households but a far higher concentration of real prospects. You either spend less for the same number of booked jobs, or you spend the same and book more. There is no third option where blasting everyone wins.

The waste is not only in mail. It shows up in:

  • Canvassing payroll. A door knocker costs you whether the door is worth knocking or not. Send a rep down a street where 70 percent of roofs are new and you have paid for the walk, the gas, and the morale hit of a flat afternoon.
  • Call-center and follow-up time. Every unqualified contact you chase is a qualified one you did not.
  • CRM rot. Old estimates and past customers decay into noise. The single most profitable name in your database can sit untouched for years because it is mixed in with 4,000 others and nobody segmented it out.

The goal of segmentation is simple to state and hard to do well: spend the next dollar on the household most likely to need a roof, be reachable, and decide yes. Every field you capture and every segment you build should serve that one sentence.

The data fields that make segmentation possible

You cannot segment on data you never captured. Before you design segments, audit what you actually hold on each contact, then close the gaps. Here is the field set that earns its keep, grouped by how hard it is to get.

Tier 1: fields you already have or can get for free

  • Full address, standardized. Standardize to USPS format (suite, directional, ZIP+4). Messy addresses break dedup, break mail, and break every join you will ever do against outside data.
  • Owner-occupied vs. renter/absentee. County assessor and parcel data usually tells you whether the mailing address matches the property address. Owner-occupied is your bread and butter for retail roofing; absentee owners are a different (sometimes slower, sometimes bulk) play.
  • Year built. Free from the assessor. Useful as a floor, not as roof age. A 1998 house tells you the roof is at most 27 years old and at least zero. More on why that gap matters below.
  • Property type and size. Single-family detached vs. townhome vs. condo vs. multifamily. Square footage and stories drive both job size and how you crew it.
  • Estimated home value / assessed value. A rough proxy for budget and for whether the homeowner will go insurance-only or pay out of pocket for upgrades.
  • Source of the contact. Past customer, old estimate, canvass note, web lead, referral, purchased list. This single field decides which playbook applies, so never let it go blank.

Tier 2: fields you capture through your own operation

  • Last touch and outcome. When did anyone last contact this household, on what channel, and what happened? "Quoted, lost on price, March 2023" is a goldmine. "Never contacted" is a different segment entirely.
  • Job history. What did you do for them, when, and what did it cost? A repair customer from 2019 is a warranty touchpoint today and possibly a full-replacement conversation if their roof was already aging when you patched it.
  • Stated roof age or install date. If a homeowner ever told you "roof's about 15 years old" or you saw a permit, record it. Permits are public in many jurisdictions and are the closest thing to a true install date you will find.
  • Insurance posture. Did they file before, do they have a high deductible, are they out-of-pocket buyers? Capture facts they volunteer; never record guesses about coverage.

Tier 3: fields that need outside data or imagery

  • Roof age as a range. Not the year built, the actual roof. Aerial imagery analyzed over time can estimate when a roof was last replaced and express it as a range (for example, 16 to 20 years), which is the field most lists are missing and the one that moves conversion the most.
  • Storm exposure, modeled per roof. Not "a storm passed through this ZIP," but how hail and wind likely loaded this specific roof given its pitch, orientation, and the storm's track. A hail swath map tells you the county got hit; per-roof modeling narrows it to the houses that were actually worn out.
  • Roof material and complexity. Aerial measurement tools (the EagleView/HOVER category) give you squares, pitch, and facets for estimating. That is measurement, not age or condition, and it answers "how big is the job" rather than "is this house due." Both are useful; keep them straight.

A quick reality check on what each outside category actually does, because conflating them is where a lot of money goes sideways:

Data source What it gives you What it does NOT give you
County assessor / parcel Owner-occupancy, year built, value, lot Roof age, condition, storm exposure
Zillow / public records Year the house was built When the roof was last replaced (re-roofs are invisible)
Aerial measurement (EagleView, HOVER, Roofr) Squares, pitch, facets for the estimate Which house is due, roof age, who to contact
Hail/wind swath maps Where the storm passed, broadly Which specific roofs it actually wore out
Per-roof age + storm modeling (RoofPredict) Roof-age range and modeled storm load per address An exact install date, or proof of damage

Write that table on a whiteboard before your next list purchase. Half of bad targeting comes from buying the wrong category and expecting it to do a job it was never built for.

The dedup and data-hygiene traps nobody warns you about

Before the segments, a word on the unglamorous part that quietly poisons everything downstream. When you merge your CRM, your bid software, an old canvass app, and two purchased lists, you will hit these every time:

  • The same household under three spellings. "123 N Main St," "123 North Main Street," and "123 Main St N" are one house and three records. Standardize to USPS format before you dedup, or you will mail the same homeowner three postcards and look desperate.
  • Unit and suite collisions. Multifamily and townhome rows collapse incorrectly if you dedup on street address alone. Keep the unit in the key.
  • The richest record wins. When two records match, do not blindly keep the newest. Merge so you keep the past-customer tag, the install date someone wrote down in 2019, and the best phone number, even if those live on the older row.
  • Stale movers. A name attached to an address where that person no longer lives is worse than no name, because you will personalize to the wrong homeowner. National Change of Address processing through a mail vendor catches most of these and is cheap.
  • Do-not-contact carryover. If a homeowner opted out on one list, that opt-out has to survive the merge. Losing a suppression flag during a merge is how you end up texting someone who told you to stop.

Spend the day on this. A segmented list built on dirty data just lets you waste money faster and with more precision.

The core segments that book roofing jobs

With the fields in place, build segments. The list below is the working set most residential roofers can run profitably. You will not run all of them at once; you will pick the two or three that match your current capacity and market, then add the rest as you grow.

Segment 1: Aging-out roofs (the engine)

This is the segment that justifies the whole effort. Owner-occupied single-family homes where the roof is in or near the replacement window. For common asphalt shingle, that is roughly the 15-to-25-year band, with the exact cut depending on your local climate, the shingle grades common in your area, and how aggressive you want to be. The National Roofing Contractors Association and shingle manufacturers publish service-life ranges you can anchor to, but treat them as a starting point and tune against what your crews actually see in the field.

The trap here is using year built as a stand-in for roof age. A house built in 2001 might have its original roof (24 years, very due) or a re-roof from 2019 (six years, leave it alone). Year built cannot tell them apart, and re-roofs are invisible to assessor and Zillow data. If you mail the 2001 band on year built alone, you waste every piece that lands on a recently re-roofed home, and you skip the 1990 house that was re-roofed in 2008 and is now genuinely due.

This is exactly the gap that per-roof age estimation fills. Aerial imagery compared over time can flag the homes whose roof was last replaced 16 to 20 years ago regardless of when the house went up, and express it as a range. You are not after a certificate; you are after a tight enough band to decide whether this address gets a stamp.

How to work it: direct mail and canvassing both perform here. Mail the band, then walk the densest streets within it. Lead with the homeowner's situation ("roofs in your neighborhood from the late 2000s are reaching the end of their service life") rather than a discount.

Segment 2: Storm-exposed roofs (time-sensitive, played carefully)

When hail or high wind comes through, the instinct is to blast the whole impacted ZIP. Resist it. A swath map shows where the storm passed; it does not tell you which roofs took a beating. Pitch, orientation to the storm track, roof age, and material all change how much a given roof absorbed. A new architectural-shingle roof on the lee side may be fine; a 17-year-old roof that faced the storm head-on is a different story.

Segment storm response by modeled exposure per roof crossed with roof age. The homes that were both older and more heavily loaded are where documentation visits convert. This is also where you protect yourself legally, so read the next section before you write a single line of storm copy.

The compliance line you do not cross. A roofing contractor may inspect a roof, document conditions with photos, and prepare an accurate estimate to repair their own scope of work. The homeowner then files their own claim and the insurer decides coverage. What a contractor may not do, for a fee, is negotiate or "handle" the claim, interpret the homeowner's policy or coverage, promise a specific payout or approval, promise the deductible will be waived or absorbed, advertise a "free roof," or represent the homeowner against their insurer. That last set of activities is unlicensed public adjusting in most states, and it is enforced. So your storm segment's job is to get a qualified, well-documented inspection in front of the right homeowners, full stop. Your copy targets the documentation and estimate side, never the claim outcome.

The do-not-say list for storm and claims copy:

  • Do not say "free roof" or "we'll get your roof paid for."
  • Do not say "we handle your claim" or "we deal with the insurance company for you."
  • Do not say "your deductible is covered/waived/absorbed/gone."
  • Do not promise approval, a payout amount, or that "insurance will cover it."
  • Do not interpret coverage ("your policy covers this") for the homeowner.

What you can say is honest and still compelling: we inspect, we photograph what we find, we write an accurate repair estimate aligned to standard pricing, and we hand the homeowner the documentation so they can decide whether to file. That framing books inspections without putting your license or your reputation on the line.

Segment 3: Past customers (the cheapest jobs you will ever book)

The money already in your book. Anyone you have done work for is a warmer contact than any cold address, and you have their permission, their address, and a track record. Segment past customers by what you did and when:

  • Repair-only customers from 5-plus years ago whose roofs were already aging when you patched them. A patch buys time; many of those roofs are now due for replacement.
  • Full-replacement customers approaching warranty milestones for maintenance, gutter, or related-trade upsells, and for referral asks.
  • Anyone in a neighborhood you are already working, because a past customer is your best door-opener on a street.

This segment is criminally underused. The CRM is full of people who liked you enough to pay you once, and they get zero contact because they are buried in the same undifferentiated list as cold purchased names. Cut them out and treat them as their own program.

Segment 4: Old estimates and dead leads (reactivation)

Every roofer has a graveyard of quotes that never closed. Lost on price, lost on timing, lost because the homeowner "wanted to think about it" and nobody followed up. Segment these by how and why they were lost, then re-approach with that reason in mind:

  • Quoted but never decided: a clean follow-up, especially if their roof has aged another year or two since.
  • Lost on price: a different time of year, a financing option, or a different scope.
  • Quoted right before a storm season: roof exposure may have changed the math entirely.

A two-year-old estimate is not dead; it is a qualified lead that went cold. The homeowner already invited you onto their property and watched you measure their roof. That is further into the funnel than any cold name will ever be.

Segment 5: Absentee owners and rentals

Different buyer, different cycle. A landlord or property manager makes a business decision, not an emotional one, and often manages several properties. These convert slower but can come in bulk. Keep them separate so your retail homeowner messaging does not get diluted, and so a slow-moving B2B-style conversation does not clog your canvassing queue.

Segment 6: New movers and recent buyers

Homeowners who bought a house with an aging roof in the inspection report are primed. A buyer who just closed on a 1990s home with an original roof has a fresh reason to act and often a renovation budget already in motion. Recent-mover data is available from list vendors; cross it with roof age and you have a sharp, small, high-intent segment.

A worked example: cutting one 12,000-name list

Theory is cheap. Here is how the cuts actually fall on a realistic suburban database.

Start with 12,000 single-family addresses in your service area pulled from parcel data.

  1. Remove non-owner-occupied: drop roughly 18 percent as rentals/absentee, set aside for the absentee segment. ~9,840 remain.
  2. Remove homes outside any plausible roof-age window: houses built in the last 8 years with no re-roof signal almost certainly have roofs too new. Drop, say, 12 percent. ~8,660 remain.
  3. Layer in roof-age estimates: of the rest, suppose per-roof data flags ~3,400 with a roof-age range of 15-plus years. Those are your aging-out core.
  4. Flag storm-exposed within that core: if a hail event modeled meaningful load on ~900 of those 3,400 roofs, that is your time-sensitive documentation list.
  5. Pull past customers and old estimates from your CRM and match them against the address set: maybe 600 past customers and 450 dead estimates, several of which fall inside the aging-out core (call those first).

You started with 12,000 undifferentiated names. You end with a ranked stack:

Priority Segment Approx. count Primary channel
1 Past customers in the aging-out window ~250 Phone, then visit
2 Storm-exposed aging-out roofs ~900 Documentation visit + mail
3 Old estimates in the aging-out window ~180 Phone follow-up
4 Remaining aging-out roofs ~2,300 Mail, then canvass dense streets
5 Absentee owners ~1,800 Bulk/B2B outreach
6 Everyone else ~6,000 Hold / light brand-only mail

Notice what happened to your mail budget. Instead of $9,000 across 12,000 names, you might spend $2,000 mailing the ~2,300 aging-out core and the ~900 storm-exposed homes, put your phone time on the ~430 warm CRM contacts, and hold the 6,000 that do not yet earn a stamp. Same database, a fraction of the spend, and every dollar lands on a household with a real reason to talk to you.

How RoofPredict fits into the segmentation step

The hard part of everything above is steps 3 and 4: getting roof age and storm exposure onto each address. Year built does not give it to you, Zillow does not give it to you, and measurement tools answer a different question. This is the specific gap RoofPredict was built to fill.

RoofPredict reads aerial imagery to estimate, for a given address, a roof-age range (for example, 17 to 21 years rather than a single false-precision date) and models storm exposure per roof rather than per ZIP. You can scan your service area and get back a ranked view of which roofs are old enough to be due, and which ones a recent storm likely wore out, then enrich your own list or CRM with those two fields. In segmentation terms, it populates the Tier 3 fields that make Segments 1 and 2 possible.

It is worth being straight about the limits, because honest limits are the whole point of using data instead of guessing:

  • Roof age is a range, not an install date. Imagery-based estimation narrows the band; it does not pull a permit. Use it to decide who gets a touch, not to tell a homeowner their exact roof age.
  • Storm modeling is odds, not proof. Per-roof modeling tells you which roofs were likely loaded hardest. It does not certify damage. A crew member still has to inspect and document what is actually on the roof.
  • It is not a lead service. RoofPredict does not sell you homeowners or hand you names to call from. It sharpens the targeting on the list and the streets you already work, and enriches the CRM you already own. You still do the outreach, the inspection, and the selling.

Used that way, it turns the most painful and most valuable segments from "we wish we knew" into "here are the addresses, ranked." Where it does not belong: it is not a measurement tool (keep your aerial measurement vendor for squares and pitch), and it is not a claims tool (it tells you which roofs likely qualify by age and storm; your crew still does the documentation, and the homeowner and insurer still own the claim).

A documentation-first storm workflow that stays on the right side of the line

Storm segments are where the most money and the most legal risk sit together, so it is worth spelling out the actual visit workflow, beyond the targeting. The targeting got you to the door; this keeps you compliant once you are there.

  1. Lead with the inspection, not the claim. The offer that booked the appointment was a roof check after the storm. Honor exactly that. The rep is there to look at the roof and document what is on it, not to talk the homeowner through their policy.
  2. Photograph everything, dated and addressed. Overview shots, slope-by-slope detail, close-ups of impact marks, soft metals, vents, and flashing. The photo set is the deliverable. It is also your protection if anyone later questions what you found.
  3. Note conditions factually. "Bruising consistent with hail on the south slope, granule loss at the field" is a fact about the roof. "This is covered hail damage" is an interpretation of a policy you have not read and are not licensed to read. Stay in the first column.
  4. Write an accurate repair estimate for your scope. Align it to standard industry pricing for the work you would actually do. State facts about your scope to anyone who asks. Do not build the estimate around hitting a number you think the carrier will pay.
  5. Hand the homeowner the documentation and step back. The photos and the estimate go to the homeowner. They decide whether to file. The insurer decides coverage. Your job ends at handing over an honest, thorough package.

Notice what is missing from those five steps: any promise about approval, any mention of the deductible, any offer to call the insurance company on the homeowner's behalf, any "free roof." That is deliberate. The contractor who documents thoroughly and writes an accurate estimate is doing real, valuable, legal work. The contractor who promises a payout and handles the claim is doing unlicensed public adjusting, and the segment that was supposed to grow the business becomes the thing that draws a regulator's attention. Build the workflow so the legal version is the only version your reps know how to run.

Build the segments: a step-by-step workflow

Here is the operational sequence to go from flat list to working segments. Budget a focused week for the first pass; after that it is maintenance.

Step 1 — Consolidate and standardize. Pull every source of names you have (CRM, old spreadsheets, canvass apps, the bid software, the email list) into one place. Standardize every address to USPS format. Deduplicate on standardized address, keeping the richest record. This is unglamorous and it is the foundation; skip it and every downstream join breaks.

Step 2 — Tag the source on every record. Past customer, old estimate, canvass, web lead, purchased, referral. If you cannot tell where a record came from, treat it as cold for now and fix the intake so the next batch is tagged at the door.

Step 3 — Append parcel and ownership data. Owner-occupancy, year built, property type, value. This is cheap and it lets you cut absentee owners and obviously-too-new homes before you spend on anything else.

Step 4 — Append roof age and storm exposure. This is the Tier 3 step. Run your service area or your existing list through aerial-based roof-age and storm modeling and write the range and exposure score back onto each record. Now you can actually find the aging-out core instead of approximating it with year built.

Step 5 — Cut the segments. Apply the rules from the worked example. Build saved views or filters in your CRM for each segment so they are live, not a one-time export. A static export is stale the day you make it; a saved filter updates as records change.

Step 6 — Assign a channel and a message to each segment. Past customers get a call. Aging-out core gets mail then a canvass. Storm-exposed gets a documentation-first inspection offer. Write the message to the segment's situation, not a generic "we do roofs."

Step 7 — Set a cadence and measure. Decide how often each segment gets touched and on what channel, then track response and cost per booked job by segment. The whole point is to learn which cuts pay, so the measurement has to be per-segment or you learn nothing.

Matching channel and message to each segment

A segment is only half the play; the channel and message are the other half. Same household, wrong channel, no job.

Direct mail

Mail rewards tight targeting because the cost is per piece. It is the right tool for the aging-out core and for storm-exposed homes where you want a documentation inspection. Keep the message about the homeowner's roof situation, not a percentage-off coupon, and make the call to action a roof check rather than a hard sell. The U.S. Postal Service's Every Door Direct Mail program is cheap per piece but blunt; it hits every door on a route, which is the opposite of segmentation. Use targeted addressed mail when your segment is a subset of a route, and only fall back to EDDM when a route is genuinely saturated with your segment.

Canvassing

Door knocking is payroll, so it has to be aimed. Send reps down the densest streets within the aging-out core, ideally streets where you also have a past customer to name-drop. Hand a green canvasser a per-home talking point ("the roofs on this street from around 2007 are reaching the end of their typical service life") and a branded homeowner report, and a new hire sounds like a veteran without having climbed a ladder. That single change keeps new reps from burning out on flat streets, which is the quiet reason canvassing teams churn.

Phone

Reserve the phone for warm segments: past customers and old estimates. These people know you. A call costs more per contact than a postcard but converts at a multiple, because you are not introducing yourself, you are re-opening a relationship. This is where the highest-margin jobs hide.

Email and text

Low cost, good for nurture and warranty reminders to people who opted in. Respect the rules: the FTC's CAN-SPAM requirements govern commercial email, and texting consumers without consent runs into TCPA exposure. Use these channels for your own opted-in past customers, not cold purchased lists.

Scoring and prioritizing within a segment

Even a clean segment has a best-to-worst order. A simple, defensible score beats gut feel and beats an overcomplicated model nobody trusts. Build a 0-to-100 priority score from a handful of weighted factors:

  • Roof age within the window (older = higher), the single strongest signal.
  • Storm exposure modeled on the roof (heavier load = higher), especially recent.
  • Relationship (past customer > old estimate > cold).
  • Reachability (owner-occupied, good phone/address on file).
  • Home value fit for your typical job and crew.

Weight roof age and storm exposure most heavily, because they are the factors that determine whether the homeowner has a real reason to act. A worked illustration:

Factor Weight Home A Home B
Roof-age range (15+) 35 22yr → 35 11yr → 8
Storm exposure 25 heavy → 25 none → 0
Relationship 20 past customer → 20 cold → 5
Reachability 10 owner-occ → 10 owner-occ → 10
Value fit 10 good → 9 good → 9
Total 100 99 32

Home A is a 22-year-old roof, storm-exposed, owned by a past customer: call them today. Home B is an 11-year-old roof with no storm history: it sits in the hold pile. The score makes that obvious and makes it repeatable across a list of thousands, so your team works the right addresses in the right order instead of starting at the top of an alphabetical export.

Cadence and suppression: how often, and when to stop

Segmentation without cadence rules turns into spam. Two homeowners getting the wrong frequency will both cost you: the aging-out prospect mailed once a year forgets you, and the past customer mailed every two weeks resents you. Set rules per segment:

  • Aging-out core: a mail piece every 6 to 10 weeks during your selling season, with a canvass pass on the densest streets. Roofs age into the window continuously, so refresh the segment quarterly.
  • Storm-exposed: fast and finite. Hit it hard right after the event while the homeowner is paying attention, then suppress it. Storm windows are short; a documentation inspection offer six months late lands flat.
  • Past customers: a light, relationship cadence — a couple of value touches a year, plus event-driven outreach (their neighbor's storm, their warranty milestone).
  • Old estimates: a structured follow-up sequence, then move them to long-term nurture if they do not re-engage.

Suppression rules matter as much as targeting. Suppress anyone who just bought from you, anyone who asked you to stop, anyone who is mid-job, and any address you re-roofed recently. The fastest way to make segmentation look like a failure is to mail a job you already did. Build the suppression list into the same saved filters so it applies automatically.

What pros get wrong

A decade of watching roofing teams build lists turns up the same handful of self-inflicted wounds.

Using year built as roof age. Covered above, and it is the big one. Re-roofs are invisible to year-built data. If your aging-out segment is built on year built alone, it is wrong on both ends — mailing recently re-roofed homes and skipping old houses that were re-roofed years ago.

Buying the wrong data category. Spending on aerial measurement and expecting it to tell you which house is due, or buying a hail swath map and treating every ZIP resident as storm-damaged. Measurement answers "how big," age and storm answer "which house," and a swath map answers "roughly where." Match the purchase to the question.

Treating the CRM as an archive instead of an asset. Past customers and dead estimates are the warmest, cheapest jobs available, and they sit untouched because nobody segmented them out. If the only time your database gets used is to look up an old invoice, you are leaving the easiest money on the table.

One message for everyone. A storm message to a no-storm street, a discount message to a relationship contact, a hard sell to someone who just needs a reason to act. The segment is wasted if the message does not match the situation behind it.

Crossing the claims line in storm copy. Promising a free roof, claiming you handle the claim, or saying the deductible disappears. It violates public-adjusting rules in most states, it draws regulatory attention, and it is the kind of thing that ends with a state Department of Insurance complaint. Keep storm copy on the documentation-and-estimate side.

Never measuring per segment. Tracking one blended response rate across the whole campaign tells you nothing about which cut paid. Measure cost per booked job by segment or you cannot improve the targeting next time.

Letting the list go stale. Roofs age into the window every quarter, people move, storms hit. A segment built once and never refreshed decays. Treat segmentation as a standing process with a quarterly refresh, not a one-time project.

Sizing the payoff before you spend a dollar

Owners want a number before they commit the week. Here is how to estimate the upside honestly, using your own figures rather than borrowed stats.

Take your current blended cost per booked job from untargeted marketing. Suppose you mail 10,000 names a few times a season, spend roughly $24,000 over three drops, and book 30 jobs. That is $800 per booked job in marketing cost, before you count the canvassing payroll spent on flat streets.

Now model the segmented version. You hold the 6,000 that do not earn a stamp and concentrate the same effort on the ~3,000 aging-out and storm-exposed homes. Even if your response rate per piece only doubles on the tighter list — a conservative assumption when you stop mailing new roofs — your cost per booked job falls toward the $300 to $400 range, and you free budget you used to burn on the cold 6,000. Run the same arithmetic on your own historicals before the project, then again after the first season. The point is not the exact figure; it is that you can predict the direction with confidence, and direction is enough to justify a week of cleanup.

The second, slower payoff is rep retention. A green canvasser sent down a street where most roofs are new has a brutal day, makes no money, and quits. The same rep sent down an aging-out street with a per-home talking point closes something, earns, and stays. Reduced churn does not show up in a single campaign report, but it is often the larger dollar number over a year, because every rep who quits takes weeks of recruiting and ramp cost with them. Segmentation is, quietly, a retention tool.

A 30-day rollout plan

If you are starting from a flat list and want this running inside a month, here is a realistic sequence.

Week 1 — Foundation. Consolidate all your name sources into one place, standardize and dedupe addresses, and tag every record's source. Append parcel/ownership data and cut the obvious non-fits (rentals, brand-new homes). End the week knowing exactly how many real prospects you actually have.

Week 2 — Enrich. Append roof-age ranges and storm exposure to your service area or your existing list. Pull past customers and dead estimates out of the CRM and match them in. Build the priority score.

Week 3 — Cut and load. Build saved segment filters in your CRM for each segment. Assign a channel and write the message for each. Build your suppression list. Get mail designed for the aging-out core and a documentation-inspection offer designed for storm-exposed homes.

Week 4 — Launch and instrument. Call the warm segments (past customers and old estimates in the aging-out window) first, because those are the fastest jobs. Drop mail on the aging-out core. Walk the densest streets. Set up tracking so you can see cost per booked job by segment from day one.

By the end of the month you have replaced "blast the list and hope" with a ranked, measurable system where the next dollar goes to the household most likely to need a roof and say yes. That is the entire goal, and it compounds: every quarter the segments get sharper, the warm pile gets bigger, and the cost per booked job gets lower.

The bottom line

Your list is an asset, and a flat list is an asset you are not using. Segmentation is how you turn a pile of addresses into a ranked queue your crew can work: the aging-out roofs that are genuinely due, the storm-exposed homes documented carefully and legally, the past customers and dead estimates that are the cheapest jobs you will ever book. The fields that make it possible are roof age as a range and storm exposure modeled per roof, and those are the exact fields most lists are missing.

Get those two fields onto your addresses, cut the segments, match the message to each, and measure by segment. You will spend less to book more, your green reps will close because they are knocking the right doors, and the money already sitting in your CRM will finally get worked. If you want to see which roofs in your area are actually due and which ones a recent storm likely wore out, that is what RoofPredict scores per address — honestly, as a range and as odds, on the list and streets you already own. Hand it a roof you already know and judge for yourself whether it nailed the call.

FAQ

What is roofing customer list segmentation, in plain terms?

It is the practice of cutting one big list of addresses into smaller groups that each get a different message, channel, and priority, because the homeowner behind each group is in a different situation. A roof that is eight years old, a roof that is twenty, and a past customer near a recent storm are three different plays even though they sit on the same master list. Segmentation makes sure your next marketing dollar lands on the household most likely to need a roof, be reachable, and say yes.

Why can't I just use the year the house was built to find old roofs?

Because year built tells you the age of the house, not the roof. Re-roofs are invisible to assessor and Zillow data, so a 1998 house might have a four-year-old roof and a 2005 house might be overdue. If you build your aging-out segment on year built alone, you waste mail on recently re-roofed homes and skip old houses that were re-roofed years ago. You need an estimate of the roof's actual age, which comes from aerial imagery analyzed over time, not from public records.

How accurate is an aerial estimate of roof age?

It produces a range, not an exact install date. Imagery analyzed over time can narrow a roof to a band such as 16 to 20 years, which is tight enough to decide whether an address gets a mailer or a knock. It will not pull a permit or tell a homeowner the precise day their roof went on. Treat it as a targeting signal that tells you who to touch, not as a certificate of roof age.

What's the difference between RoofPredict and a measurement tool like EagleView or HOVER?

They answer different questions. EagleView, HOVER, and Roofr measure the roof — squares, pitch, facets — so you can write an accurate estimate. RoofPredict tells you which roof is due and which storm-exposed, by estimating roof-age range and modeling storm load per address. Measurement answers how big the job is; roof age and storm exposure answer which house to target. Most roofers use both, for different steps in the process.

Segment by modeled storm exposure on each roof crossed with roof age, then offer a documentation-first inspection. In your copy you can say you will inspect, photograph what you find, and write an accurate repair estimate the homeowner can use to decide whether to file. You may not say free roof, claim you handle or negotiate the claim, promise a payout or approval, or say the deductible is waived. Those activities are unlicensed public adjusting in most states. Keep the message on the documentation and estimate side and let the homeowner file and the insurer decide coverage.

Which segment usually has the best return on effort?

Past customers and old estimates that fall inside the aging-out roof window. They already know you, you have their address, and many of them are sitting on roofs that have aged another few years since you last talked. A phone call to that group converts at a multiple of cold outreach because you are re-opening a relationship, not introducing yourself. The catch is they are usually buried in an untrimmed CRM, which is exactly why segmenting them out pays so well.

How often should I refresh my segments?

At least quarterly for the aging-out core, because roofs age into the replacement window continuously and people move. Storm-exposed segments are event-driven and short-lived — build them fast after a storm and suppress them once the window closes. Past-customer and dead-estimate segments can refresh on a slower cadence tied to warranty milestones and seasonal selling. The key is to treat segmentation as a standing process with a regular refresh, not a one-time export that goes stale the day you make it.

Do I need a fancy CRM to do this?

No, but you need somewhere to store and filter records reliably. A clean spreadsheet can run a first segmentation pass; the limitation is that exports go stale and rules have to be re-run by hand. A CRM with saved filters or views lets each segment stay live and update as records change, which matters once you are refreshing quarterly and tracking cost per booked job by segment. Start with what you have, standardize your addresses first, and upgrade the tooling when the manual work starts costing more than the software.

How do I know if my segmentation is actually working?

Measure cost per booked job by segment, not as one blended number across the whole campaign. A single overall response rate hides which cut paid and which wasted budget. When you can see that the aging-out core booked jobs at a certain cost and the cold remainder booked almost none, you know where to put the next dollar. Per-segment measurement is what turns segmentation from a one-time cleanup into a system that gets sharper every quarter.

Is RoofPredict a lead service that sells me homeowners to call?

No. It does not sell or hand you names. It scores the roofs in your area by age range and modeled storm exposure so you can target the list and streets you already work and enrich the CRM you already own. You still do the outreach, the inspection, and the selling. It sharpens the targeting; it does not replace your sales process or resell the same homeowner to your competitors the way a lead site would.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. National Roofing Contractors Associationnrca.net
  2. Insurance Institute for Business & Home Safety (IBHS)ibhs.org
  3. NOAA Storm Prediction Centerspc.noaa.gov
  4. National Weather Serviceweather.gov
  5. FTC CAN-SPAM Act: A Compliance Guide for Businessftc.gov
  6. FCC Telephone Consumer Protection Act (TCPA) Rulesfcc.gov
  7. USPS Every Door Direct Mail (EDDM)usps.com
  8. U.S. Census Bureau American Housing Surveycensus.gov
  9. Bureau of Labor Statistics: Roofersbls.gov
  10. International Code Council (IRC / building codes)iccsafe.org
  11. Texas Department of Insurance: Public Adjusterstdi.texas.gov
  12. National Association of Insurance Commissioners (NAIC)naic.org
  13. NOAA National Centers for Environmental Information: Storm Events Databasencdc.noaa.gov
  14. RoofPredictroofpredict.com

Related Articles