Skip to main content

How to Estimate Roofing Demand Before Opening a Location

Emily Crawford, Home Maintenance Editor··31 min readRoofing Business Operations
On this page

Opening a second location is the moment a roofing company stops being a crew and starts being a business. It is also the moment most owners lean on a gut feeling: a buddy moved to that metro, a storm rolled through last spring, the lot rents looked cheap. Gut feelings open branches that bleed cash for eighteen months and then quietly close.

You can do better than a feeling. The number of roofs that will need work in a market over the next three to five years is not a mystery. It is a function of how many roofs exist, how old they are, what weather has hit them, what people can afford to spend, and how many other contractors are already chasing the same doors. Every one of those inputs is measurable before you spend a dollar on rent.

What follows is the actual workflow a disciplined operator uses to size a market: where to pull each number, how to turn raw housing counts into an annual replacement figure, how to layer storm exposure on top without fooling yourself, and how to discount the whole thing down to the slice you can realistically win. Worked examples use a fictional mid-size metro so you can follow the math and swap in your own ZIP codes.

Why "roofing demand" is three different numbers

The first mistake is treating demand as one number. It is three, and they stack:

  1. Baseline replacement demand. Roofs wear out on a schedule. Asphalt shingle roofs in most of the country get replaced somewhere between 15 and 25 years depending on material grade, ventilation, slope, and sun exposure. In any given year a predictable slice of the housing stock crosses that threshold. This is the steady, recession-resistant floor of your business.
  2. Storm-driven demand. Hail, high wind, and the occasional tornado or hurricane pull replacement demand forward in time. A roof that would have been replaced in 2031 gets replaced in 2026 because a hailstorm bruised the mat and the homeowner files a claim. Storm demand is larger and faster than baseline, but it is lumpy and you do not control the timing.
  3. Discretionary and resale demand. Roofs replaced because a house is being sold, refinanced, remodeled, or because the owner just wants a different color. This tracks home sales volume, equity, and consumer confidence. It is the smallest and most economically sensitive bucket.

When someone says "that market does a lot of roofing," they usually mean storm demand, because that is the visible, loud part. But a branch built only on storm demand is a branch that lives and dies by the weather. The operators who survive size all three, then decide which ones their model is actually built to capture.

A quick gut check before any math

If you cannot answer these four questions about the target market, you are not ready to model it:

  • How many single-family detached homes are in the trade area, and how old are they?
  • What is the median household income, and what share of homes are owner-occupied?
  • How many significant hail and wind events have hit it in the last 10 years?
  • How many roofing contractors already pull permits there?

The rest of this is how to answer those four with real sources instead of vibes.

Step 1: Define the trade area before you count anything

Demand numbers are meaningless without a boundary. "The Dallas market" is not a trade area; it is a region with a two-hour drive across it. Your crews are not driving two hours twice a day.

Draw the trade area as a drive-time isochrone, not a radius. A 30-minute drive time from a candidate shop location is the practical default for residential reroof and repair work, because that is roughly the limit before windshield time destroys your gross margin per crew-day. Storm-chasing models stretch this to 45-60 minutes during an active event, but you should not build a permanent branch around demand you can only service when you are sleeping in a hotel.

Practical steps:

  • Pick two or three candidate shop addresses (cheap industrial flex space near a highway on-ramp beats a pretty retail address every time for a roofing branch).
  • Generate a 20-, 30-, and 45-minute drive-time polygon around each. Free and low-cost tools can do this; a mapping platform with isochrone support, or even manually sketching it against rush-hour traffic, will get you close.
  • List the ZIP codes that fall mostly inside the 30-minute polygon. Those ZIPs are your unit of analysis for everything that follows. Partial ZIPs at the edge get weighted down later.

Write the ZIP list down. Every number from here forward gets pulled at the ZIP level and summed, because metro-level averages hide the variation that actually decides whether a branch works. One ZIP of 1970s ranch homes with three hailstorms behind it is worth more than five ZIPs of new construction with builder warranties still in force.

Step 2: Count the roofs (housing stock)

You are not counting people. You are counting roofs you can actually sell, which means single-family detached homes and small multi-family in most residential models. Skip apartment complexes and commercial unless that is your trade.

Where the data lives

The U.S. Census Bureau is the backbone. Two products matter:

  • American Community Survey (ACS) 5-year estimates, available at the ZIP Code Tabulation Area (ZCTA) level through the Census data portal. Pull these tables:
    • Total housing units
    • Units in structure (to isolate 1-unit detached)
    • Tenure (owner-occupied vs. renter-occupied)
    • Year structure built — this is the gold mine, more on it in Step 3
    • Median household income
    • Median home value
  • Building permit data from the Census Building Permits Survey, for new-construction trend (a market adding 4,000 new roofs a year has a very different age curve coming than a fully built-out one).

County assessor / parcel data is the higher-resolution version of the same thing. Most counties publish parcel rolls with year built, structure type, square footage, and sometimes roof material. If your target county has an open parcel portal, that beats ACS because it is house-by-house instead of a ZIP average. The tradeoff is cleanup work.

Worked example

Say your 30-minute trade area covers eight ZIPs. You pull ACS and get:

Metric Trade-area total
Total housing units 142,000
1-unit detached 98,000
Owner-occupied (of detached) 71,000
Median household income $74,500
Median home value $312,000

Your serviceable roof count for a residential reroof model is roughly the 98,000 detached homes, with the 71,000 owner-occupied figure as the cleaner sales target (renters do not buy roofs; landlords do, but they buy differently and slower). Hold both numbers.

Step 3: Turn roof count into annual replacement demand

This is where you convert a static pile of houses into a flow of jobs per year. The lever is roof age, and the source is the year-structure-built distribution.

The age-band method

A roof's age is not the house's age forever — roofs get replaced, which resets the clock. But for a market you have never worked, the original construction year is your best available proxy for the first replacement wave, and homes built 20-plus years ago are statistically deep into their first or second roof cycle. ACS gives you year-built in bands. Map them like this:

Year built band Roof status assumption (asphalt shingle markets)
2015 or later New roof, likely under warranty, near-zero baseline demand
2000-2014 Approaching or in first replacement window
1980-1999 On second roof or due for it; steady demand
1960-1979 Multiple roof cycles; high repair + replacement
Before 1960 Old housing; high demand but more complex (multiple layers, decking issues)

The useful simplification: in a mature shingle market, a stable replacement rate is roughly 4-6% of the roof stock per year once the housing is past its first cycle. That comes straight from arithmetic — if shingle roofs last ~20 years on average, then in a steady state about 1/20 (5%) of roofs need replacement annually. Adjust the rate by your age mix: a market full of post-2015 construction runs lower (2-3%) for now; a market full of 1970s-1990s housing runs at the top of the range or above.

Worked example, continued

Take the 98,000 detached homes. Suppose the year-built bands work out to a blended replacement rate of 5% for this trade area (mostly 1985-2010 housing). Then:

Baseline annual replacement demand
= 98,000 roofs x 5% 
= ~4,900 roof replacements per year

Add a repair layer. Repairs (not full replacements) typically run 1.5 to 2.5 times the number of replacements in volume, at a much lower ticket. Call it 2x:

Baseline annual repair jobs
= 4,900 x 2 
= ~9,800 repair jobs per year

Now attach dollars. Use conservative average tickets for your market and material mix — do not use your best month. Suppose a full replacement averages $14,000 and a repair averages $900 in this metro:

Baseline replacement revenue pool = 4,900 x $14,000 = $68.6M / year
Baseline repair revenue pool       = 9,800 x $900    =  $8.8M / year
Total baseline demand pool         ≈ $77M / year

That $77M is the total addressable baseline — every dollar of routine, weather-independent roofing the trade area generates in a year. You will not get all of it. But now you have a real ceiling instead of a dream.

Sanity-check the rate against permits

Cross-check your modeled replacement count against actual reroof permits pulled in the trade area. Many jurisdictions require a permit for full reroofs and publish the counts. If your model says 4,900 replacements a year and the county issued 2,100 reroof permits last year, either permit compliance is low (common — a lot of reroofs skip permits), your age mix is younger than you assumed, or your rate is too high. Reconcile before you trust the number. Permit data is also a leading indicator of competitor activity, which matters in Step 6.

Step 4: Layer storm-driven demand on top

Baseline is the floor. Storm demand is the part that makes a market exciting and the part that makes operators reckless. The discipline here is to estimate it as odds and exposure, never as a promised windfall.

What actually drives storm reroof demand

Three perils do almost all of the work:

  • Hail. The single biggest driver of insurance-paid roof replacement in the interior U.S. Hail bruises and fractures the shingle mat; functional damage often qualifies for a claim even when the roof still looks fine from the street. Hail "alleys" through the Plains, Texas, the Front Range, and the upper Midwest carry structurally elevated demand year after year.
  • Straight-line wind and tornado. Wind lifts and creases shingles, peels ridge caps, and drives the dramatic total-loss events.
  • Hurricane. Wind plus wind-driven rain along the Gulf and Atlantic coasts; high tickets, but concentrated and episodic, with its own code and material requirements.

Where to pull storm history

  • NOAA's Storm Prediction Center (SPC) publishes historical severe weather reports and climatology, including hail and wind event records you can filter by location and date.
  • NOAA / National Weather Service Storm Events Database lets you query event type, county, date, and magnitude (hail size, wind speed) going back decades.
  • IBHS (Insurance Institute for Business & Home Safety) publishes research on hail and wind frequency and building performance that helps you reason about which events actually produce roof claims versus which are noise.

Building a storm-exposure index

You are not predicting next year's weather. You are measuring how storm-prone the trade area has been, which is the best available proxy for how storm-prone it will keep being. Build a simple 10-year index per ZIP:

  1. Pull every recorded hail event of 1" diameter or larger and every wind event of 58 mph (50 knots) or greater in each ZIP's county over the last 10 years. (1" hail is a rough functional-damage threshold for asphalt shingles; smaller hail rarely produces claimable mat damage.)
  2. Count events per year. A market with 6-10 qualifying hail days per decade is meaningfully exposed; a market with 25+ is a hail-alley market where storm demand can rival or exceed baseline.
  3. Note the gap since the last major event. This is the timing variable nobody likes. Markets that got hammered last year already converted a chunk of their demand; markets that are "overdue" since their last big hit have a backlog of aging, undamaged-on-paper roofs waiting for the next storm.

How to translate exposure into a demand estimate honestly

Resist the urge to say "a storm will add X jobs." You do not know that. Instead, frame it as an annualized expectation:

Expected annual storm replacements
= (roofs in trade area)
  x (probability any given roof takes claimable damage in a year)
  x (share of damaged roofs that convert to a paid replacement)

In a moderately hail-exposed market, the per-roof annual probability of claimable damage might run a few percent in a typical year and spike far higher in a hit year. Use a 10-year average so one monster storm does not warp the model:

Example (moderate-exposure trade area):
98,000 roofs x 3% annual claimable-damage rate x 60% claim-to-replacement conversion
= ~1,760 storm-driven replacements per year (10-yr average)
x $14,000 average ticket
= ~$24.6M / year storm replacement pool (averaged)

The word averaged is doing heavy lifting. The real distribution is something like three quiet years near zero and one year at $80M+. Your branch has to survive the quiet years on baseline and bank the storm years. Model the average for sizing, model the worst quiet year for survival.

The compliance line you cannot cross when storm demand is your pitch

Storm demand is real and you should chase it. But the way a lot of contractors talk about it crosses into unlicensed public adjusting, and that can sink a branch faster than slow weather. Keep your offer and your marketing strictly on the document-and-estimate side of the line:

You may:

  • Inspect the roof and document hail or wind damage thoroughly, with dated, geotagged photos.
  • Write an accurate, Xactimate-aligned repair estimate for your own scope of work.
  • State facts about your scope to the carrier when you are the one repairing the roof.
  • Hand the homeowner a clear estimate and damage documentation so the homeowner files the claim and the insurer decides coverage.

You may not, for a fee:

  • Negotiate, adjust, or "handle" the claim on the homeowner's behalf.
  • Interpret the policy or tell the homeowner what is or is not covered.
  • Promise a specific payout, approval, or that the claim "will go through."
  • Promise the deductible will be waived, absorbed, eaten, or made to disappear. Waiving or rebating a deductible is illegal in many states and is insurance fraud regardless.
  • Advertise a "free roof" or represent the homeowner against their insurer.

That last list is not legal nitpicking; it is the difference between a documentation business and an unlicensed-public-adjusting business, and state departments of insurance (Texas TDI among the most active) pursue the latter. Build the branch's sales process around thorough documentation and an honest estimate handed to the homeowner. The homeowner files; the insurer decides. That frame is both legal and, in practice, more durable, because it does not depend on promises you cannot keep.

Step 5: Apply the economic filters (can they pay, will they buy)

A roof being due does not mean it gets bought. Two demographic filters separate theoretical demand from money:

Income and equity

Full replacements are a 5-figure decision. Two numbers from your ACS pull tell you whether the trade area can absorb that:

  • Median household income. Below roughly $55-60k, a larger share of replacements stall, get patched, or wait for a storm so insurance carries the cost. That is not a no — it means your model leans more on storm and financing and less on retail cash-pay.
  • Median home value and home equity. High-equity homeowners self-finance retail reroofs. Low-equity, high-mortgage households are far more storm- and financing-dependent. The mix tells you which sales process to staff for.

Owner-occupancy and age of householder

Owner-occupied homes convert better than rentals for retail work. Long-tenure owners (the Census tracks year-householder-moved-in) are more likely to invest in the home they intend to keep. A trade area that is 80% owner-occupied with long tenure is a retail-friendly market; one that is 45% renter is a market where you are selling to property managers and investors, a different motion entirely.

Adjust the demand pool

Apply an economic-conversion haircut to the baseline pool. If the trade area skews lower-income and lower-equity, a meaningful share of "due" roofs will not convert to paid work in a given year without a storm or financing. Discounting the $77M baseline pool by, say, 20-30% for economic friction gives a more honest serviceable figure. Document your assumption; do not pretend the haircut is precise. It is a judgment you are making visible so you can revisit it once you have real close-rate data from the market.

Step 6: Subtract the competition (the number everyone skips)

Every demand estimate so far is total demand — what the whole market generates. Your branch captures a slice, and the size of that slice depends on how crowded the market already is.

Measure competitor density

  • Permit data again. Pull reroof permits for the trade area and count distinct contractor names. Ten contractors pulling permits is a different fight than 120. The permit roll also tells you who the volume players are, by job count.
  • State licensing boards (where roofing is licensed) give you a registered-contractor count, though it overstates active competition.
  • A simple search-and-map exercise. Map every roofing company with a physical presence or heavy advertising in the trade area. Note the national franchises and the dominant locals.
  • Storm-chaser load. In hail markets, out-of-state storm crews flood in after events and compete hard for the storm pool specifically. Your baseline business is more defensible than your storm business for exactly this reason.

Estimate a realistic capture rate

There is no formula that hands you market share, but you can bound it. In a fragmented market (dozens of small contractors, no dominant player above ~10% share), a well-run new branch with real marketing can realistically target 2-5% of total trade-area demand within 24-36 months, more if it brings a genuine advantage (better financing, a manufacturer elite designation, a sharper targeting system, an existing brand spilling over from an adjacent market).

Run the capture math:

Serviceable baseline pool (after economic haircut) ≈ $77M x 0.75 = ~$58M
Target capture in year 2-3 at 3%                    ≈ $1.7M baseline revenue
Plus averaged storm pool $24.6M x 0.75 x 3%         ≈ $0.55M
Modeled year 2-3 branch revenue (steady state)      ≈ $2.2M

Now you have a number you can build a P&L against. Compare it to your fully-loaded branch cost: shop lease, a branch manager, sales reps, crews or subs, trucks, marketing, software, insurance, workers' comp. If the modeled revenue does not clear breakeven by month 18-24 with conservative inputs, the market is either too crowded, too small, too poor, or too far — and you just saved yourself the most expensive mistake in the trade.

Step 7: Pressure-test with primary research

Desk research gets you 80% of the way. The last 20% comes from touching the market before you commit:

  • Run a small paid lead test. Spend a controlled budget on local search and social in the trade-area ZIPs for 30-60 days and measure cost per qualified lead and cost per booked inspection. A market where leads cost $400 and close at 25% behaves very differently from one at $90 and 40%. This is the single most predictive cheap test you can run.
  • Door-knock a few storm-affected streets if there has been a recent event, purely to gauge receptiveness, competitor saturation, and how many roofs are tarped or already being worked.
  • Talk to suppliers. Your distributor's branch manager in that market knows the real volume, who is growing, who is slow-paying, and which crews are available to hire. A 30-minute conversation with an ABC Supply or SRS branch is worth a week of spreadsheet work.
  • Check labor availability. Demand you cannot install is not demand you can capture. Pull roofing-trade employment and wage data for the metro from the Bureau of Labor Statistics and ask suppliers and competitors how tight crew availability is. A red-hot demand market with zero available labor is a trap.

Putting the model together: a one-page market scorecard

Reduce everything to a single comparison sheet so you can rank candidate markets side by side instead of falling in love with one:

Factor Source Market A Market B
Detached homes (30-min trade area) ACS / parcel 98,000 61,000
Blended replacement rate Year-built bands 5.0% 3.2%
Baseline replacements / yr Calculated 4,900 1,950
Baseline demand pool x avg ticket $77M $31M
10-yr qualifying hail days NOAA SPC 18 4
Storm pool (10-yr avg) Calculated $24.6M $5M
Median household income ACS $74,500 $96,000
Owner-occupied share ACS 72% 81%
Active permit-pulling competitors Permit roll 60 22
Cost per qualified lead (test) Paid test $140 $95
Modeled yr-2/3 branch revenue Capture model $2.2M $1.0M
Months to breakeven (est.) P&L 16 28

Market A looks bigger and stormier; Market B is wealthier and less crowded. Neither is obviously "right" — the scorecard forces you to decide based on what your model is built to win, not on which market feels hot. A storm-heavy operator with a documentation-and-estimating machine wants Market A. A retail-financing, premium-brand operator might quietly clean up in Market B where competition is thin and equity is high.

Where roof-level data replaces the averages

Everything above uses ZIP and county averages because that is what is free and public. Averages are good enough to rank markets and decide whether to open. They are not good enough to operate once you are in, because the moment you open, the question changes from "how big is the market" to "which specific 800 roofs do I send a crew to this month."

That is the gap a per-roof targeting layer fills, and it is where RoofPredict fits the workflow. Instead of a ZIP that averages "5% of roofs are due," you get a roof-age range estimated from aerial imagery for each individual address, plus storm physics modeled per roof — which specific houses sat under the hail core at a damaging size and angle, rather than only knowing which county had a hail day. You feed it your own list or your CRM and it ranks the doors and routes so crews hit the roofs the storm actually wore out and the roofs aging out of their service life, in the order most likely to convert.

Honest limits, because the data deserves them: a roof age delivered from imagery is a range, not a birth certificate — it tells you a roof is likely 18-23 years old, not that it was installed on a Tuesday in 2004. Storm modeling gives you odds of damage, not proof of damage; the inspection still has to confirm it, and the homeowner still files and the insurer still decides. What it does is stop you from canvassing 10,000 doors to find the 1,500 that matter. For a new branch with one or two crews and a tight marketing budget, that targeting is the difference between a profitable first year and burning your launch capital on roofs that were not due.

Use the public-data model in this piece to decide whether to open the location and how big it could get. Use per-roof age-and-storm data to decide where to send the crew on Monday once you are open. They are two different jobs.

Common ways operators get this wrong

A few failure patterns show up again and again when branches underperform their forecast:

  • Sizing the whole metro instead of the drive-time trade area. Counting roofs your crews will never profitably reach. Always model the 30-minute polygon.
  • Building the branch on storm demand alone. One quiet weather year and the doors close. Storm is the upside; baseline is the survival floor. Size both, fund off the floor.
  • Using best-case tickets and close rates. The model has to work on conservative numbers. If it only works on your career-best month, it does not work.
  • Ignoring competitor and storm-chaser density. Total demand is not your demand. The capture-rate haircut is where most rosy forecasts die.
  • Skipping the live lead test. Sixty days and a few thousand dollars of ad spend will tell you more about real demand than any spreadsheet. Run it before the lease, not after.
  • Forgetting labor. A market full of due roofs and no available crews is a market where you grow the backlog, not the bank account.
  • Letting the storm pitch drift into claims handling. Promising payouts, waived deductibles, or "free roofs" turns a demand advantage into a regulatory liability. Stay on the documentation-and-estimate side; the homeowner files, the insurer decides.

A 30-day market-validation sequence

If you want this as a runnable checklist, here is the sequence in order:

  1. Days 1-3. Pick 2-3 candidate shop locations near highway access. Draw 20/30/45-minute drive-time polygons. Lock the ZIP list.
  2. Days 4-7. Pull ACS at ZCTA level: detached homes, owner-occupancy, year built, income, home value. Sum to the trade area.
  3. Days 8-10. Build the year-built age bands, set a blended replacement rate, calculate baseline replacements, repairs, and the dollar pool.
  4. Days 11-13. Pull 10 years of NOAA SPC / Storm Events hail and wind data by county. Build the storm-exposure index and the averaged storm pool.
  5. Days 14-16. Apply the income/equity/owner-occupancy haircut. Pull reroof permits; reconcile against your modeled replacement count and count competitors.
  6. Days 17-18. Estimate capture rate, model year 2-3 revenue, and run it against a fully-loaded branch P&L to find breakeven.
  7. Days 19-25. Launch a controlled paid-lead test in the trade-area ZIPs. Call distributor branch managers. Check BLS roofing employment and ask about crew availability.
  8. Days 26-30. Fill in the scorecard for each candidate market, compare on breakeven and fit-to-model, and make the open / pass / wait decision.

Thirty days and a few thousand dollars buys you a defensible answer to a decision that will cost you several hundred thousand if you get it wrong. That is the cheapest insurance in the business.

Refining the replacement rate: material mix and the age curve

The flat 5% replacement rate is a starting point, and for ranking markets it is usually good enough. Once a market makes your shortlist, sharpen it, because the difference between a 4% and a 6% rate on 98,000 roofs is roughly 2,000 jobs a year — the entire reason a branch lives or dies.

Two things bend the rate:

Material mix. Asphalt three-tab roofs from the 1990s and earlier wear out faster (often 15-18 years) than the architectural/laminate shingles that dominate post-2005 construction (often 22-28 years). Tile and metal markets in the Southwest run on a completely different clock — tile underlayment fails long before the tile does, and metal lasts 40-plus years, which collapses replacement demand and shifts it toward repair and re-underlayment. If your target market is heavy tile or metal, your shingle-based replacement rate is simply wrong, and you should rebuild it around the dominant material. Pull the dominant roof material from county parcel records where it exists, or from a windshield survey of a few representative neighborhoods.

The age curve is not flat. Housing was not built evenly across the decades. A market that boomed in the late 1990s and again from 2003-2007 has two big cohorts of homes that will hit their replacement window in clusters, not a smooth 5% per year. Map the year-built histogram and you can see the waves coming. A market with a giant 2004-2007 build cohort and architectural shingles is approaching a replacement surge around 2027-2032 as those 20-something-year-old roofs age out together. That is exactly the kind of forward-looking signal that justifies opening ahead of the wave rather than after it.

Building a five-year forward demand curve

Instead of one annual number, project demand forward by aging each year-built cohort into its replacement window:

  1. Take the year-built histogram for the trade area (counts of homes per build-year band).
  2. Assign each band a replacement window based on its likely material (e.g., a 2004 architectural-shingle home enters its window around 2026-2032).
  3. Spread each cohort's replacements across its window as a probability curve — a small share replace early, the bulk in the middle, a tail late.
  4. Sum across cohorts by calendar year to get a demand curve for the next five years.

You will usually find the curve is gently rising or has a visible hump. A rising or humped curve is a green flag for a new branch; a falling curve (a market that built heavily 25 years ago and little since) means you are arriving as baseline demand softens, and you had better have a storm or competitive reason to be there anyway.

Financing changes who can buy

Income and equity tell you who can pay cash. Financing tells you who can pay at all. A trade area with a $58,000 median income and modest equity looks weak on a cash-pay model and much stronger if you bring a real financing program. Roofing finance partners now approve a wide band of credit profiles for 5-figure tickets, and a branch that leads with affordable monthly payments converts roofs that a cash-only competitor walks away from.

When you model a lower-income trade area, run two scenarios: one where your offer is cash-and-insurance only, and one where financing is part of the pitch. The financing scenario can lift your effective conversion rate by several points in exactly the markets where cash-pay struggles, which can flip a marginal market into a viable one. Just keep the financing claims clean — advertise the actual program terms, not a fantasy monthly payment, and keep the FTC's truth-in-advertising standards in mind for any rate or payment you put in front of a homeowner.

Seasonality and the cash-flow trap

Demand is not spread evenly across the calendar, and a forecast that reports only an annual number hides a cash-flow problem that has killed plenty of branches. In most of the country roofing is heavily seasonal: a slow, often money-losing winter; a spring ramp; a summer-and-fall peak that does most of the year's volume. Hail season concentrates further — much of the interior U.S. takes its damaging hail between March and June.

The implication for a new branch is brutal and simple: if you open in the fall, you may sign a great first 60 days and then walk straight into a four-month winter with a full overhead load and almost no incoming work, burning launch capital before your first real season arrives. Open in late winter or very early spring so your ramp aligns with the demand curve and you have a full peak season to find your footing before the next winter.

Build the seasonality into the P&L as monthly, not annual, numbers. A branch that pencils out on a smooth annual revenue line can still run out of cash in February if you never modeled the trough. Carry enough working capital to cover the first slow season plus a cushion, because suppliers want paying and crews want paychecks whether or not the phone is ringing.

Beyond single-family: when multi-family and commercial belong in the model

The residential-detached model covers most launch decisions, but two adjacent pools can change a market's size if your company is built to serve them:

Small multi-family and rental portfolios. Duplexes, fourplexes, and small apartment buildings still wear out roofs, and a single property-management company or investor can own dozens of them. The sales motion is slower and more price-driven than retail, but the revenue per relationship is large and recurring. If the trade area has a high renter share, do not write it off as weak — re-read it as a B2B opportunity and size the rental-owned roof stock separately.

Light commercial. Strip retail, small offices, churches, and warehouses run on flat or low-slope systems (TPO, EPDM, modified bitumen) with their own replacement clocks, typically 15-25 years. This is a genuinely different trade with different crews, materials, and estimating, so only fold it into your demand model if you actually intend to staff for it. Where it fits, it smooths seasonality (commercial work is less weather-emotional and can run in shoulder seasons) and diversifies you away from a purely storm-and-retail revenue base. Size it from commercial parcel records and the age of the local commercial corridors, and keep it as a separate line on the scorecard rather than blending it into the residential pool.

A worked branch P&L against the demand model

The demand number only matters relative to what the branch costs to run. Tie them together so the decision is about profit, not revenue. Using Market A from the scorecard with a conservative ~$2.2M steady-state year-2/3 revenue:

Line Annual (steady state)
Revenue $2,200,000
Materials & subcontracted labor (~50%) $1,100,000
Gross profit (~50%) $1,100,000
Branch manager (salary + burden) $130,000
Sales reps (2-3, base + commission in COGS-adjacent) $120,000
Shop lease + utilities $72,000
Trucks, equipment, fuel $90,000
Marketing & lead gen $180,000
Software, insurance, workers' comp, admin $140,000
Total operating overhead $732,000
Branch operating profit (pre-allocation) ~$368,000

Those are illustrative numbers — yours will differ by region, COGS structure, and how much you sub versus self-perform — but the shape is the lesson. At ~$2.2M and a 50% gross, the branch clears its overhead with room to spare. Now run the same sheet at a pessimistic 1.5% capture (a slow ramp, a tough competitor, a quiet storm year) and revenue falls near $1.1M, gross profit near $550k, and the branch is roughly at or slightly below breakeven against that same overhead. That spread — comfortably profitable at 3% capture, breakeven at 1.5% — is the actual risk you are underwriting. If the market only works at your best-case capture rate, it does not work.

The launch-capital question

Separate from steady-state profit is the cash you burn getting there. Budget for a ramp where the branch loses money for the first several months while marketing spend runs ahead of revenue, crews are underutilized, and the brand is unknown. A realistic launch reserve covers fixed overhead plus marketing for the months until cumulative gross profit catches up — frequently 6 to 12 months of overhead, more if you open into the wrong season. Underfunding the ramp is the most common way a fundamentally good market still produces a failed branch.

Reading the demand signals competitors miss

The public data everyone can pull tells you market size. The edge comes from a few signals that most operators never look at:

  • Re-roof permit recency by neighborhood. A subdivision where 40% of homes already pulled reroof permits in the last five years is largely spent for a decade; a same-age subdivision with almost no permit activity is a backlog waiting to be worked. Same age on paper, opposite opportunity.
  • The gap between a market's storm history and its claim-conversion behavior. Some regions convert storm damage to replacements aggressively; others under-claim because of high deductibles or carrier behavior. Distributor branch managers and local adjusters can tell you which you are walking into.
  • Carrier and deductible mix. Markets with widespread high wind/hail deductibles (a percentage of dwelling value rather than a flat amount) convert storm damage to paid roofs more slowly because the homeowner's out-of-pocket is larger. This is a demand dampener you will not see in a NOAA hail count, and it argues for a stronger retail and financing motion alongside storm work.
  • New-construction slowdown as a future tailwind. A market that is largely built out (low new-permit volume) has a fixed, aging roof stock and no fresh warranty-protected roofs diluting the pool — quietly favorable for replacement demand over the next decade.

None of these show up in a basic market-size spreadsheet, and all of them are knowable from permits, parcel data, and a few honest phone calls. They are where the difference between an average forecast and a sharp one lives.

The bottom line

Roofing demand in a new market is not unknowable. It is roof count times replacement rate, plus storm exposure, filtered by what people can pay and how many competitors are already there, discounted to the slice your branch can realistically win. Pull the housing and age data from the Census, the storm history from NOAA, the competitive picture from permits, and the reality check from a live lead test. Build the scorecard, run it against a conservative P&L, and let the breakeven month — not the buddy who moved there or the storm everyone is still talking about — decide whether you sign the lease.

Size the market with public averages. Operate it with per-roof age and storm data. Keep every storm conversation on the document-and-estimate side of the line. Do that and your second location starts from a number instead of a hope.

FAQ

What is the single most important number when estimating roofing demand for a new location?

The annual baseline replacement count: the number of detached homes in your drive-time trade area multiplied by a realistic replacement rate (often 4-6% per year in a mature shingle market). It is the recession- and weather-resistant floor your branch survives on. Storm demand is the upside, but you should never build a permanent branch on storm demand alone, because one quiet weather year can close it.

How do I find the age of roofs in a market I have never worked?

Use the Census American Community Survey 'year structure built' data at the ZIP Code Tabulation Area level, or, for higher resolution, county parcel/assessor records that list year built per address. Original construction year is a proxy for the first replacement wave. For per-address roof age once you are operating, aerial-imagery roof-age estimates give a likely age range per house rather than a single ZIP average.

How big should my trade area be?

Define it as a drive-time isochrone, not a radius. A 30-minute drive time from the candidate shop is the practical default for residential reroof and repair, because windshield time beyond that erodes gross margin per crew-day. Storm models stretch to 45-60 minutes during active events, but do not anchor a permanent branch to demand you can only reach when chasing a storm.

Where do I get reliable storm history for a market?

NOAA's Storm Prediction Center and the NOAA/National Weather Service Storm Events Database let you query historical hail and wind events by county, date, and magnitude. Filter for hail 1 inch or larger and wind 58 mph or greater as rough claimable-damage thresholds. IBHS publishes research on which events actually produce roof damage versus noise.

How do I estimate storm-driven demand without overpromising?

Frame it as a 10-year average, not a future windfall. Multiply roofs in the trade area by an annual claimable-damage probability and a claim-to-replacement conversion rate, using a decade of data so one monster storm does not warp the model. Expect the real distribution to be several near-zero years and one big year. Size off the average, but make sure the branch can survive the worst quiet year on baseline demand alone.

What can I legally promise homeowners about storm and insurance claims?

You can inspect the roof, document damage thoroughly with dated photos, write an accurate Xactimate-aligned repair estimate for your own scope, and hand it to the homeowner so they file the claim and the insurer decides coverage. You cannot, for a fee, negotiate or handle the claim, interpret policy coverage, promise a payout or approval, promise a waived or absorbed deductible, or advertise a 'free roof.' Those cross into unlicensed public adjusting and, in the case of deductibles, often insurance fraud.

How do I account for competition in my demand estimate?

Total demand is not your demand. Count the distinct contractors pulling reroof permits in the trade area, map the established locals and franchises, and factor in storm-chaser crews that flood hail markets after events. In a fragmented market a well-run new branch can realistically target 2-5% of total demand within 24-36 months. Apply that capture rate to the total pool to get a revenue figure you can build a P&L against.

What replacement rate should I assume for a market?

Start from arithmetic: if shingle roofs last about 20 years, a steady-state market replaces roughly 5% of its roofs per year. Adjust by the age mix from the Census year-built data. A market dominated by post-2015 construction runs lower (2-3%) because those roofs are still under warranty, while a market full of 1970s-1990s housing runs at the top of the 4-6% range or above. Always reconcile your modeled count against actual reroof permit counts.

Should I open a location based only on a recent big storm?

No. A recent storm pulls demand forward, but a market that got hammered last year has already converted a large share of its storm pool, and out-of-state crews likely captured much of it. Recent-storm markets can be poor permanent-branch candidates precisely because the easy demand is spent. Size the baseline first; treat storm history as a long-run exposure index, not a reason to sign a lease this quarter.

How does per-roof data change the picture versus ZIP averages?

ZIP and county averages are good enough to rank markets and decide whether to open. They cannot tell you which specific houses to send a crew to once you are operating. Per-roof age ranges from aerial imagery plus storm physics modeled per address let you rank individual doors and routes so crews hit the roofs that are actually due or storm-worn, instead of canvassing thousands of doors to find the few hundred that matter. Roof age is a range, and storm modeling gives odds, not proof, so inspections still confirm.

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 (ACS)census.gov
  2. Census Building Permits Surveycensus.gov
  3. ZIP Code Tabulation Areas (ZCTAs)census.gov
  4. NOAA Storm Prediction Centerspc.noaa.gov
  5. NOAA / NWS Storm Events Databasencdc.noaa.gov
  6. Insurance Institute for Business & Home Safety (IBHS)ibhs.org
  7. National Roofing Contractors Association (NRCA)nrca.net
  8. Bureau of Labor Statistics — Roofers (OOH)bls.gov
  9. OSHA — Fall Protection in Roofingosha.gov
  10. International Code Council — IRCiccsafe.org
  11. Texas Department of Insurance — Public Adjusterstdi.texas.gov
  12. FTC — Truth in Advertisingftc.gov
  13. Census QuickFactscensus.gov
  14. RoofPredictroofpredict.com

Related Articles