Skip to main content

Roofing Market Analysis by City: A Contractor's Playbook for Reading a Metro Before You Spend a Dollar

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

Most owners pick a city to work the same way they pick a lunch spot: it's close, somebody mentioned it, and a storm rolled through last spring. Then they pour mail and payroll into it for two seasons before they figure out the roofs are too new, the competition is brutal, or the permit office is so slow it eats their cash flow. A real roofing market analysis by city is the cheap insurance against that. It costs you a few days of desk work and it tells you, before you spend a dollar, whether a metro will actually pay you back.

This is the method I'd hand a sales manager who got told "go figure out if we should open in Columbus." It's built around the only question that matters: how many roofs in this city are actually due, and can I win them profitably against the contractors already there? Everything else — population growth, median income, fancy GDP numbers — is supporting evidence. The roofs are the business.

A word on what you'll need before you start. None of the data here is paywalled or proprietary; every input comes from a public source, which means a sharp sales manager can produce a defensible analysis of any U.S. metro in a couple of days at the kitchen table. That's the whole appeal of doing the work — the contractors who skip it are betting payroll on a hunch, and the ones who do it walk into a new city already knowing the size of the prize and the shape of the fight.

I'll walk the whole thing: the five forces that decide a roofing market, where to pull each number for free, how to turn raw Census and weather data into a job-count estimate, how to read your competition without guessing, and the operational traps that make a "good market on paper" lose money. There are worked examples with real arithmetic, a scoring sheet you can copy, and a section on the document-and-estimate side of storm work where contractors get into legal trouble. No fluff, no fabricated industry stats — just the inputs and the math.

Why "by city" is the right altitude

National roofing numbers are useless for a contractor. The U.S. residential roofing market is enormous and growing, but you can't knock a door in "the United States." State-level data is a little better but still too coarse — Texas contains both the hail alley of the I-35 corridor and the mild Gulf coast, and they are completely different businesses.

The metro (or city plus its ring of suburbs) is the unit where the numbers start to mean something operational:

  • It's roughly one drive radius. A crew based in the metro can reach the whole thing without a hotel.
  • Housing stock tends to be built in waves you can see — a postwar ring, a 1970s ring, a 1990s subdivision belt, a 2010s exurb. Roof age tracks those waves.
  • Weather exposure is fairly uniform inside a metro. The hail and wind history of the county is a usable proxy for the whole city.
  • Permitting, licensing, and insurer behavior are set at the city/county/state level, and they decide your cycle time and your margin.
  • Your competition is local. The contractors you'll fight for those roofs are headquartered in or near that metro.

So when someone says "roofing market analysis by city," what they really need is a metro-level estimate of replaceable roofs, weighted by how exposed those roofs are to storms, divided by how hard it is to operate and win there. Let's build that.

The five forces that decide a roofing market

Every roofing market comes down to five things. Score each one honestly and the answer falls out.

  1. Roof supply that's actually due — how many roofs are old enough or storm-worn enough to replace, rather than simply how many roofs exist.
  2. Storm exposure — the hail and high-wind history that accelerates replacement and triggers insurance-funded work.
  3. Demand velocity — permits pulled, homes sold (sales trigger roof work), and population/household growth that adds new stock and turnover.
  4. Competition and saturation — how many contractors are chasing those same roofs, and how good they are.
  5. Operating friction — licensing, permit cycle time, labor availability, insurer behavior, and material/logistics costs that quietly eat margin.

Forces 1 and 2 are your opportunity. Force 3 tells you the opportunity is active, not merely theoretical. Forces 4 and 5 are your cost of capture. A market can have a mountain of old roofs and still be a bad bet if twelve aggressive contractors already own the relationships and the permit office takes six weeks.

The rest of this breaks each force into data you can pull and math you can run.

Force 1: Roof supply — counting the roofs that are actually due

This is the one almost everyone does wrong. They look up "number of housing units" in a metro, multiply by some replacement rate they made up, and call it a market size. That number is fiction because it ignores the single most important variable: age of the roof. A roof installed in 2019 is not in your market. A 22-year-old three-tab asphalt roof very much is.

The problem is that public data tells you the year the house was built, not the year the roof was last replaced. A 1985 house may have had its roof redone in 2008. So housing-stock age is a starting estimate that you correct, not a final answer. Here's how to build it.

Step 1: Pull the age distribution of the housing stock

The U.S. Census Bureau's American Community Survey (ACS) publishes "Year Structure Built" for every metro, county, and place, free, through data.census.gov. Pull table B25034 (Year Structure Built) for your target city or metro. You'll get a breakdown like:

  • Built 2020 or later
  • Built 2010 to 2019
  • Built 2000 to 2009
  • Built 1990 to 1999
  • Built 1980 to 1989
  • Built 1970 to 1979
  • Built 1960 to 1969
  • Built 1950 to 1959
  • Built 1940 to 1949
  • Built 1939 or earlier

Now restrict to owner-occupied single-family detached where you can (table B25032 splits units by structure type; B25127 crosses tenure, age, and units in structure). Apartments and condos with shared roofs are a different sale and usually a different contractor. For a residential re-roof business, owner-occupied single-family is your true denominator.

Step 2: Convert house age into an estimated roof-replacement-age band

Asphalt shingle — which dominates U.S. residential roofing — typically gets replaced somewhere in a 15-to-25-year window, earlier in hail and high-heat climates, later in mild ones. So a house built 25+ years ago has, on average, already been through at least one roof and is plausibly due again. A house built 12 years ago is almost certainly on its original roof and not yet due.

A workable rule of thumb for a first-pass estimate:

  • Houses 0–10 years old: assume original roof, not due. Count = 0 for now.
  • Houses 11–17 years old: original roofs starting to enter the window in storm-heavy or hot climates. Count maybe 10–20% as due.
  • Houses 18–30 years old: the sweet spot — original roofs aging out and first replacements (done early in the house's life) also aging out. Count 30–50% as due in a given multi-year window.
  • Houses 30+ years old: on their second or third roof; a steady stream are always due. Count 25–40% as due.

These percentages are deliberately rough and you'll tighten them with the storm and local-knowledge corrections below. The point is to stop multiplying total houses by one flat number.

Worked example: a mid-size metro

Say your ACS pull for a metro shows roughly 300,000 owner-occupied single-family detached homes, distributed like this (rounded for the example — you'll use your real pull):

House age band Homes Rough "due" rate Estimated due roofs
0–10 yrs 45,000 0% 0
11–17 yrs 55,000 15% 8,250
18–30 yrs 95,000 40% 38,000
30+ yrs 105,000 30% 31,500
Total 300,000 ~77,750

That ~78,000 is your standing pool of roofs plausibly due at any point. It is not your annual job count — a roof stays "due" for a few years before it's replaced or fails. To get an annual figure, divide the pool by the average years a roof lingers in the "due" state before action (call it 3–5 years as a planning assumption): 77,750 / 4 ≈ ~19,400 residential re-roofs a year across all contractors in that metro.

That single number reframes everything. If your average residential job is worth, say, $14,000 in revenue, the metro's residential re-roof spend is on the order of 19,400 × $14,000 ≈ $270M/year, split among every contractor in town. Now you can ask the only real question: what slice can you realistically take, and at what cost to capture it?

The correction layer: why house age lies

House-built age systematically over- or under-counts depending on the neighborhood's history. Two corrections matter most:

  • Re-roof history is invisible in public data. A neighborhood that got hammered by a hailstorm in 2016 had a wave of roofs replaced then — so a lot of its "30-year-old houses" are wearing 8-year-old roofs and are NOT due, even though the house-age table says otherwise. Conversely, a neighborhood that's never taken a storm may have a lot of original 25-year-old roofs all due at once.
  • Tear-down and rebuild churn. In hot inner-ring suburbs, old houses get scraped and replaced with new builds, quietly resetting the roof clock in ways the metro-level table smooths over.

This is exactly where address-level signal beats the spreadsheet, and I'll come back to it in the RoofPredict section — the difference between "this ZIP averages 28-year-old houses" and "these 1,900 specific roofs are in the 18-to-22-year range and the rest were redone after the 2016 storm" is the difference between mailing a whole city and mailing the right doors.

Force 2: Storm exposure — the accelerant

Two metros with identical housing-stock age can have wildly different roofing economics because of weather. Hail and high wind do two things: they shorten the replacement window (a hailed-on roof ages faster and can fail early), and they open the door to insurance-funded work, which changes the size and frequency of the jobs.

Where to get real storm history (free)

  • NOAA's Storm Prediction Center (SPC) publishes severe-weather report databases and archives — hail, wind, and tornado reports searchable by date and location. The SPC also maintains climatology maps showing where large hail and severe wind are most frequent.
  • NOAA's Storm Events Database (run by NCEI) lets you query historical hail and wind events by county and date, with hail size and wind speed. This is the cleanest free county-level storm history you'll find.
  • The National Weather Service local offices publish event summaries and post-storm reports.
  • IBHS (Insurance Institute for Business & Home Safety) publishes research on hail, wind, and impact-resistant roofing that helps you understand how exposure translates into damage and what carriers reward.

Pull the last 10–15 years of hail and severe-wind events for the county (or counties) your metro covers. You're looking for:

  • Frequency: how many significant hail days (say, 1"+ hail) per year on average?
  • Severity: the size distribution — 1" hail bruises, 1.75"+ hail breaks roofs.
  • Recency: a metro that took a major hail event 8 months ago has a fundamentally different short-term market than one whose last big storm was six years ago.
  • Wind: straight-line wind and derecho events that lift and crease shingles.

Turning storm history into a market multiplier

Use storm exposure to adjust your "due" rates from Force 1, not as a separate number. A high-hail metro pulls more roofs into the replacement window early. A practical adjustment:

  • High exposure (frequent 1.5"+ hail, e.g. parts of the Texas/Oklahoma/Colorado hail alley): bump your "due" rates up meaningfully and tighten the replacement window to the low end (12–18 years). Storm-driven demand can be a large share of total volume in these metros.
  • Moderate exposure (occasional damaging hail or wind every few years): modest bump; insurance work is real but episodic.
  • Low exposure (mild coastal or interior climates with rare severe hail): keep your age-driven rates; this is an age-out market, not a storm market, and that's a feature — demand is steadier and you're not fighting out-of-town storm crews.

A note worth internalizing: the steadiest roofing businesses are often in low-storm, aging-stock metros, where work comes from roofs simply wearing out on a predictable schedule. Storm markets are bigger but lumpier — feast-and-famine, and every big event brings a swarm of out-of-town crews competing for the same roofs. Neither is "better." They're different businesses, and your market analysis should tell you which one you're walking into.

Force 3: Demand velocity — is the opportunity active?

Forces 1 and 2 measure the standing pool. Force 3 measures whether money is actually moving. Three indicators:

Building permits

The Census Bureau's Building Permits Survey publishes residential permit counts by place and metro, monthly and annually. New-construction permits tell you how fast the housing stock is growing (future roof supply, plus near-term new-roof work if you do new construction). But for re-roof demand, the more useful local signal is the local permit office's own records — many cities require a permit for a roof replacement, and many publish permit data. A rising count of re-roof permits is the cleanest possible proof that replacement demand is live in that city right now.

If the city publishes permit data, pull re-roof/reroof permit counts for the last 3–5 years and look at the trend and the seasonality. If it doesn't, the Building Permits Survey new-residential trend plus home-sales data is your fallback.

Home sales and turnover

A home sale is a roof-work trigger: inspections flag aging roofs, buyers negotiate replacement, sellers re-roof to close. Markets with high turnover generate steady inspection-driven roof work independent of storms. You can read turnover from local MLS summaries, county recorder sales counts, or public real-estate data portals. Rising days-on-market and inspection-heavy buyer behavior both push roof work into deals.

Household and population growth

The Census Bureau's annual population and housing-unit estimates show whether a metro is adding households. Growth means new stock (future roofs), more turnover, and a larger long-run pool. Decline isn't automatically bad — a shrinking metro can still have a huge aging-stock pool — but growth makes the future easier.

The Bureau of Labor Statistics (BLS) Occupational Employment data and local employment trends are a useful sanity check on whether the local economy can fund discretionary and insurance-deductible roof spending.

Force 4: Competition and saturation

You now know roughly how many roofs are due and how active the market is. The next question is how crowded the field is. A market with 19,000 annual re-roofs and 400 established contractors is very different from the same demand split among 80.

Counting your competition without guessing

  • County Business Patterns (Census) reports establishment counts by industry (NAICS) and county. Roofing contractors fall under NAICS 238160. Pull the establishment count for your target county. It won't capture every one-truck operator, but it gives you a defensible baseline and lets you compare metros apples-to-apples.
  • State licensing boards publish lists of licensed roofing contractors in states that license the trade. That's a cleaner count of real, compliant competitors.
  • Local search reconnaissance: search the core service terms for the city and count who actually shows up — the businesses paying for ads, the ones ranking organically, the ones with hundreds of reviews. Note their positioning: are they storm/insurance specialists, retail re-roof shops, or commercial? That tells you which lane is crowded and which is open.

A rough saturation read

Divide your estimated annual re-roofs by the establishment count to get an average jobs-per-contractor figure:

  • Carrying the example: 19,400 annual re-roofs ÷ (say) 320 establishments ≈ ~60 residential re-roofs per contractor per year. A healthy small-to-mid crew can run 80–150+ residential jobs a year, so a figure well below that capacity suggests an oversupplied, knife-fight market; a figure near or above it suggests room.

This is crude — establishments vary hugely in size — but it's a real, comparable number across cities, which is the whole point of a by-city analysis. Run it for three candidate metros and the relative saturation jumps out.

Reading competitor quality, not only count

Count tells you density; quality tells you difficulty. Spend an afternoon on the top 15 competitors' web presence and review profiles. Cheap signals of a beatable market:

  • Lots of contractors with thin, neglected web presence and few recent reviews.
  • No one clearly owning the "document-it-right, insurance-savvy" position (an opening for a disciplined storm-restoration shop).
  • Heavy reliance on bought leads (a sign nobody has a real targeting advantage — they're all renting the same homeowners).

Signals it'll be a grind:

  • A few dominant brands with deep review counts, strong local SEO, and named recognition.
  • Aggressive, well-run storm specialists already in place when a storm hits.

Force 5: Operating friction — the margin killers

A market can look great on demand and competition and still lose you money because it's expensive or slow to operate in. This is the force owners underweight, and it's the one that shows up in the bank account.

Licensing and registration

Roofing licensing is set at the state (and sometimes city) level and ranges from "none" to "specialty contractor license + exam + bond + insurance." Before you commit, confirm the exact requirements with the state licensing board or contractor board and budget the time and cost. Some storm states also require registration to do insurance-related repair work and have rules about contracts, contingency agreements, and what you may advertise. Get those rules from the state's department of insurance, not from a competitor's website.

Permit cycle time

A roof-replacement permit that issues same-day is a non-event. One that takes three weeks ties up your scheduling, your crews, and your cash. Call the permit office (or check their published turnaround) for the actual current re-roof permit timeline and any inspection requirements. In high-volume storm aftermaths, permit offices back up badly — factor that into storm-market planning.

Labor availability

Roofing is labor-constrained everywhere, but some metros are worse. BLS data on construction-trade employment and local wage levels tells you what you'll pay and how tight the labor pool is. A market with great demand and no installers to staff it is a trap — you'll sell jobs you can't build.

Material and logistics cost

Distance from distribution, local disposal/landfill fees for tear-off, and regional pricing all move your job costs. A quick call to a couple of local suppliers tells you delivery lead times and whether you'll be paying a freight premium.

Insurer behavior (for storm markets)

In insurance-driven markets, carrier behavior is a real operating variable: how they scope hail damage, how they handle supplements, and how the state regulates the process. This is operational reality, not something to game — and it's where contractors get into legal trouble, which deserves its own section.

If your market analysis points you at a storm-driven metro, you're going to be working roofs where the homeowner has an insurance claim. There is a bright line here, and crossing it is unlicensed public adjusting in most states — a real legal risk, not a technicality. The state department of insurance defines and enforces it.

Here is the clean, defensible way to operate, and the do-not-say list that keeps you on the right side of it.

What a roofing contractor MAY do:

  • Inspect the roof and document the condition thoroughly — dated photos, measurements, a clear record of hail bruising, wind creasing, granule loss, and collateral (gutters, vents, soft metals, screens).
  • Write an accurate repair estimate for the work, aligned to standard estimating line items and local pricing (Xactimate-aligned, if that's the regional standard).
  • State facts about your own scope — what you found, what the repair requires, what it costs.
  • Hand that documentation and estimate to the homeowner, who files their own claim, and let the insurer decide coverage.

What a roofing contractor MUST NOT do (the do-not-say list):

  • Don't negotiate, adjust, or "handle" the claim for the homeowner for a fee. That's public adjusting.
  • Don't interpret the policy or coverage — don't tell a homeowner what is or isn't covered. The carrier decides that.
  • Don't promise a specific payout, approval, or outcome. You don't control the carrier's decision.
  • Don't promise the deductible will be waived, absorbed, eaten, or "gone." Offering to pay or rebate a customer's deductible is illegal in many states and is insurance fraud framing everywhere. Say nothing about making the deductible disappear.
  • Don't advertise a "free roof." The homeowner still owes their deductible; "free roof" implies you'll erase it.
  • Don't represent the homeowner against the insurer. Your role is to document your scope, not to argue their case.

The safe frame is simple and it's also the better business: document thoroughly, write an accurate estimate, hand it over, and let the homeowner file and the insurer decide. Contractors who do the documentation side rigorously — clean photo sets, defensible estimates, organized scope — win more approvals on the merits than the ones making promises they can't keep, and they don't carry the legal exposure. When you train new reps, teach the do-not-say list explicitly. It protects the company and it builds homeowner trust, because a rep who says "I document it accurately and hand it to you; your insurer makes the coverage call" sounds like a pro, not a hustler.

Material mix and roof type: what the city is built out of

Two metros with the same number of due roofs can pay very differently depending on what those roofs are made of, because material drives both job value and which competitors you fight.

Asphalt shingle dominates U.S. residential roofing, but the share and the grade shift by region and price tier. Knowing the local mix changes your pricing, your supplier relationships, and your crew skills:

  • Three-tab vs. architectural (dimensional) shingle. Older stock skews to three-tab; newer and upgraded homes carry architectural shingle. A metro full of aging three-tab roofs is a high-volume, mid-ticket replacement market. A metro where homeowners routinely upgrade to architectural or designer shingle on replacement runs a higher average job value.
  • Tile and concrete (common in the Southwest and parts of the Southeast) is a different trade — heavier, slower, more specialized labor, higher ticket, fewer competitors who can actually do it well. If the city is tile-heavy and you're a shingle shop, you're entering a market you're not yet staffed to win.
  • Metal roofing is a growing premium segment. A metro with rising metal adoption supports a higher-margin lane if you can install it, and it tends to be less crowded than the shingle scrum.
  • Low-slope/flat sections on residential and the whole light-commercial world are yet another skill set (TPO, modified bitumen) and another competitor set.

You can read the local mix cheaply: drive a few representative neighborhoods across price tiers, talk to a couple of local distributors about what moves in volume, and note what the top competitors advertise installing. Match your crew skills and supplier setup to what the city actually buys before you commit, or you'll be quoting jobs you can't profitably build.

Seasonality and cash flow: when the work actually happens

A market-size number is annual, but roofing money doesn't arrive in twelve equal slices, and the shape of the year decides whether a "good" market starves you in Q1.

Three seasonal patterns to map for any city:

  • Weather-driven install season. In cold-winter metros, installs compress into roughly March through November, with a hard slow stretch when it's freezing. That compression means you need enough crew and capital to capture a year's revenue in nine months, and a cash reserve to carry the winter. In mild climates the season runs nearly year-round, which smooths cash flow but also means competitors never get a breather either.
  • Storm timing. Hail and severe-wind seasons cluster (often spring into early summer across much of the hail belt). A storm-driven metro can be dead for months and then deliver a year's work in a six-week surge — and the permit office, suppliers, and labor pool all bottleneck at exactly that moment. Plan for the surge, not the average.
  • Real-estate season. Home sales peak in spring and summer, pulling inspection-driven roof work with them. A turnover-heavy market inherits that rhythm.

For each candidate city, sketch a 12-month revenue shape from the dominant driver (age-out is the steadiest; storm is the lumpiest). Then ask the cash-flow question honestly: can you fund payroll and materials through the slow months on the back of the busy ones? Markets that look identical on annual size can have completely different working-capital demands. The aging-stock, mild-climate metro that scores well on the scorecard often scores even better once you account for how forgiving its cash-flow shape is.

Residential vs. commercial: don't blend two markets

Everything above is built for residential re-roof, which is the right default for most growth-stage contractors. But many cities have a meaningful light-commercial and multifamily roof market sitting right next to the residential one, and the two behave nothing alike. Decide which you're analyzing before you start, because mixing them corrupts every number.

Commercial roofing runs on different math: bigger tickets, longer sales cycles, bid/spec processes, property managers and facility decision-makers instead of homeowners, low-slope membrane systems instead of shingle, and a far smaller, more specialized competitor set. The demand signals differ too — commercial replacement tracks building age, deferred-maintenance budgets, and roof-system service life more than it tracks storms or home sales. If you want to size a city's commercial opportunity, you'd pull non-residential building permits and the commercial building stock rather than the ACS housing tables, and you'd count a different slice of competitors.

For this analysis, pick a lane and stay in it. A residential re-roof shop sizing a city should keep its denominator to owner-occupied single-family and resist the temptation to inflate the market by stapling commercial square footage onto it — that's how an oversized estimate leads to an oversized, underperforming expansion.

Putting it together: a city scorecard you can copy

Here's a one-page scoring sheet that rolls the five forces into a single comparable number. Score each line 1–5, weight it, and total. Run the same sheet on every candidate city so you're comparing like with like.

Factor What you're scoring Source Weight
Standing due-roof pool Estimated roofs plausibly due (Force 1 math) Census ACS B25034/B25127 25%
Storm exposure Hail/wind frequency, severity, recency NOAA Storm Events DB / SPC 15%
Demand velocity Re-roof permits + home turnover + household growth Local permit office, Census permits/estimates 15%
Competition density Jobs-per-contractor estimate Census County Business Patterns, state board 20%
Competitor quality How beatable the top 15 look Search recon, review profiles 10%
Operating friction Licensing, permit cycle time, labor, materials State board, permit office, BLS, suppliers 15%

Score each 1 (terrible) to 5 (ideal). For competition density and operating friction, 5 = low/easy (good for you), 1 = saturated/painful. Multiply each score by its weight, sum, and you've got a 1–5 market index per city. Don't treat the number as gospel — treat it as a forced ranking that makes you look at every factor instead of falling for the one storm everybody's talking about.

A quick three-city comparison (illustrative)

Imagine you scored three metros:

Factor (weight) City A (aging stock, low storm) City B (storm alley, crowded) City C (growing exurb, moderate)
Due pool (25%) 5 4 3
Storm exposure (15%) 2 5 3
Demand velocity (15%) 3 4 5
Competition density (20%) 4 1 4
Competitor quality (10%) 4 2 4
Operating friction (15%) 4 2 3
Weighted index ~3.75 ~3.05 ~3.55

City B has the biggest raw opportunity (storm + big pool) but the crowding and friction drag it down — it's a knife fight. City A, the quiet aging-stock metro nobody's excited about, actually scores highest because the demand is steady and the field is thin. This is the classic finding of a disciplined by-city analysis: the best market is rarely the one with the most recent storm. The storm market is the obvious one, which is exactly why it's crowded.

From metro estimate to the actual doors

Here's the gap nobody closes with a spreadsheet. Everything above gets you to "this city has roughly 19,000 due roofs a year and the field is beatable." It does not tell you which roofs. And "which roofs" is where the money is won or lost, because the moment you start spending — mail, canvassers, gas, payroll — you're spending it on specific addresses.

The spreadsheet has two blind spots that matter at the door:

  1. It only knows house age, not roof age. Half the "old" houses in a storm-hit neighborhood already got new roofs after the last event. Mail them and you're paying to reach homeowners who'll laugh at you.
  2. It can't rank a street. Two houses on the same block, same build year — one's on its original 21-year-old roof, the other was redone five years ago. The spreadsheet treats them identically. Your crew shouldn't.

This is the layer where address-level roof data earns its keep, and it's the honest place to bring up what we built. RoofPredict reads aerial imagery to estimate a roof-age range for individual addresses — a range, never an exact install date, because no one can read an exact date off a photo — and pairs it with storm physics modeled per roof, not a flat county hail map. The difference is the whole point: a hail map tells you where it hailed; modeling the storm on each roof estimates which specific roofs likely took the worst of it, weighted by age. You get the city's roofs ranked by how due they actually are, so you mail and knock the worn-out ones and skip the new ones.

Where it fits in this workflow: the five-force analysis tells you whether to enter a city. RoofPredict tells you which doors to work once you're in it — and it can enrich a list you already have (your own CRM, an old estimate book, a mailing list) with roof-age-range and storm signals so the spend lands on the right addresses instead of the whole ZIP.

Honest limits, because a tight trade compares notes: it's a range and a probability, not a guarantee — a roof that scores "likely due" is odds, not proof, and you still confirm on the ground. It estimates age and exposure; it does not measure the roof or identify the exact shingle, and it is not a lead service — it doesn't hand you a homeowner who raised their hand; it sharpens the outbound you already do so you stop paying to reach roofs that aren't due. Used that way, it turns the metro-level estimate from this analysis into a ranked target list, which is the thing your marketing budget actually needs.

Common ways a "good market" loses money

Even with a clean analysis, owners blow up expansions. The recurring failure modes:

  • Counting houses instead of roofs. Multiplying total housing units by a flat replacement rate ignores age and storm history and over-counts your market two or three times over. You staff up for demand that isn't due.
  • Falling for the storm everyone saw. The metro that just took a big hail event is the one every contractor (including out-of-town swarms) is piling into. By the time you read about it, the easy roofs are spoken for and the field is jammed. The storm-driven opportunity is real but the competitive cost of capture is highest exactly when it looks best.
  • Ignoring permit cycle time and licensing. A six-week permit timeline or a licensing process you didn't budget for can strangle cash flow in the first season, before you've built any momentum.
  • Underestimating labor. Selling more than you can install burns your reputation and your reviews — the two things that compound in a local market. Confirm you can staff the volume before you generate it.
  • Mailing the whole ZIP. Treating a metro estimate as a marketing plan. The metro number is a go/no-go input; the spend has to be aimed at specific due roofs or your cost per job balloons.
  • Promising what you can't deliver on claims. A rep who says "we'll get your deductible covered" or "free roof" can sink the company's license and invite a regulator. Document-and-estimate only — every time.

A 7-step workflow to analyze any city

To make this concrete, here's the order I'd actually run it, start to finish, for a candidate metro. Budget two to three focused days.

  1. Define the geography. Pick the metro or city plus the suburban ring a crew can reach without a hotel. Note the counties it spans (you'll need them for storm and business data).
  2. Pull the housing-stock age from Census ACS (B25034; cross with tenure/structure via B25127 or B25032). Restrict to owner-occupied single-family detached. Build the age-band table.
  3. Run the due-roof math. Apply replacement-window "due" rates to each age band, sum the standing pool, divide by linger-years for an annual estimate, multiply by your average job revenue for a market-size figure.
  4. Layer storm exposure. Pull 10–15 years of county hail/wind from NOAA's Storm Events Database; adjust your due rates and replacement window up or down by exposure. Note recency.
  5. Check demand velocity. Get re-roof permit counts and trend from the local permit office (fallback: Census Building Permits Survey + home turnover + household growth).
  6. Size and read the competition. County Business Patterns establishment count (NAICS 238160) and the state licensing list for density; an afternoon of search/review recon for quality. Compute jobs-per-contractor.
  7. Audit operating friction. Confirm licensing/registration with the state board, permit cycle time with the office, labor and wages from BLS, and material lead times from two local suppliers. Then fill in the scorecard and rank against your other candidates.

Do this for two or three cities and the call stops being a hunch. You'll have a defensible ranking, a market-size number you can put in front of a lender or partner, and — once you're in — a clear plan to aim your spend at the roofs that are actually due rather than the whole map.

The bottom line

A roofing market analysis by city is not a research paper; it's a spending decision dressed up as one. The five forces — due-roof supply, storm exposure, demand velocity, competition, and operating friction — turn a vague "should we work Columbus?" into a number you can defend and a ranked list of cities. The discipline that separates the owners who expand profitably from the ones who bleed for two seasons is simple: count roofs, not houses; correct for storm history; respect the cost of capture; and never confuse a metro estimate with a marketing plan.

The metro analysis tells you where to play. Address-level roof-age-range and storm-modeled signal tells you which doors to knock once you're there. Get both right and your next market isn't a gamble — it's a list of roofs you can see that everyone else is still driving past.

FAQ

How do I estimate the size of a roofing market in a specific city?

Start with the Census American Community Survey (table B25034) to pull the housing stock by year built for that metro, restricted to owner-occupied single-family homes. Apply replacement-window 'due' rates to each age band (e.g., 18-30-year-old houses are the sweet spot), sum the standing pool of due roofs, divide by the years a roof lingers in the due state (3-5), and multiply by your average job revenue. That gives a defensible annual re-roof market-size figure to compare across cities.

Why can't I just multiply the number of houses by a replacement rate?

Because that ignores the only variable that matters: roof age. A 2019 house isn't in your market; a 22-year-old asphalt roof is. Flat multiplication over-counts a market two or three times by treating new and old roofs the same. You have to weight by the age distribution of the housing stock and then correct for storm history, because public data tells you when the house was built, not when the roof was last replaced.

Where do I get free storm and hail history for a city?

NOAA's Storm Events Database (run by NCEI) lets you query historical hail and wind events by county with hail size and wind speed. NOAA's Storm Prediction Center publishes severe-weather report archives and climatology maps, and the National Weather Service local offices post event summaries. Pull 10-15 years for the counties your metro covers and look at frequency, severity, and recency of damaging hail and wind.

Is house age the same as roof age?

No, and conflating them is the biggest mistake in market analysis. Public data only shows the year the structure was built. A 1990 house may be on its second or third roof, and a neighborhood hit by hail a few years ago has a wave of newer roofs hidden inside an 'old' housing stock. House age is a starting estimate you correct with storm history and, ideally, address-level roof-age data.

How do I figure out how saturated a city's roofing market is?

Use the Census County Business Patterns establishment count for roofing contractors (NAICS 238160) plus your state's licensing list to count competitors, then divide your estimated annual re-roofs by that count to get jobs-per-contractor. Well below a healthy crew's capacity (80-150+ residential jobs/year) signals an oversupplied market; near or above it suggests room. Then read the top competitors' web presence and reviews to judge quality, not only count.

Are storm markets better than steady aging-stock markets?

They're different businesses, not better or worse. Storm markets are bigger but lumpier - feast-and-famine, with out-of-town crews swarming after every major event, which raises your competitive cost of capture exactly when the market looks most attractive. Aging-stock, low-storm metros generate steadier roof-by-roof demand and thinner competition. A disciplined by-city analysis often finds the quiet aging-stock metro outscores the obvious storm market.

What operating factors quietly kill margin in a new city?

Licensing and registration you didn't budget for, slow permit cycle times that strangle cash flow, tight local labor that means you sell jobs you can't build, and material/disposal/freight costs that vary by region. Confirm licensing with the state contractor board, permit turnaround with the local office, labor and wages with BLS data, and material lead times with two local suppliers before you commit.

What can a roofing contractor legally do on a storm insurance claim?

A contractor may inspect, thoroughly document the damage with dated photos and measurements, write an accurate repair estimate aligned to standard line items, state facts about their own scope, and hand that documentation to the homeowner. The homeowner files the claim and the insurer decides coverage. A contractor may NOT negotiate or 'handle' the claim for a fee, interpret policy or coverage, promise a payout or approval, waive or absorb the deductible, advertise a 'free roof', or represent the homeowner against the insurer - that's unlicensed public adjusting in most states.

Why is offering to cover a homeowner's deductible a problem?

Rebating, absorbing, or 'making the deductible disappear' is illegal in many states and reads as insurance fraud everywhere; advertising a 'free roof' implies the same thing. The homeowner owes their deductible, period. Train reps to say nothing about erasing it. The safe and stronger position is to document accurately and let the homeowner and their insurer handle coverage - it avoids legal exposure and builds more trust than promises you can't keep.

How does RoofPredict fit into a by-city market analysis?

The five-force analysis tells you whether to enter a city. RoofPredict tells you which doors to work once you're in it: it reads aerial imagery to estimate a roof-age range per address and models storm physics per roof, then ranks the city's roofs by how due they actually are. It's a range and a probability, not a guarantee, and it's not a lead service - it sharpens the outbound you already do and can enrich your own CRM or mailing list so your spend lands on worn-out roofs instead of the whole ZIP.

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. American Community Survey, Table B25034 (Year Structure Built)census.gov
  2. Census Building Permits Surveycensus.gov
  3. Census County Business Patternscensus.gov
  4. NOAA Storm Events Database (NCEI)noaa.gov
  5. NOAA Storm Prediction Centernoaa.gov
  6. National Weather Serviceweather.gov
  7. Insurance Institute for Business & Home Safety (IBHS)ibhs.org
  8. National Roofing Contractors Association (NRCA)nrca.net
  9. Bureau of Labor Statistics, Occupational Employment and Wage Statisticsbls.gov
  10. OSHA Roofing / Fall Protection in Constructionosha.gov
  11. International Residential Code (ICC)iccsafe.org
  12. Texas Department of Insurance - Roofing and Storm Claimstdi.texas.gov
  13. Federal Trade Commission - Hiring a Contractorftc.gov
  14. RoofPredictroofpredict.com

Related Articles