Skip to main content

How to Make Roofing Revenue More Predictable

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

Most roofing owners can tell you their best month and their worst month off the top of their head, and the gap between the two is usually 4x or more. June books $480,000; February books $90,000. A hailstorm drops in April and you scramble to staff it; July goes quiet and you lay half the crew off. That swing is the real problem in roofing. It is not that the money isn't there over a full year — it usually is — it is that it arrives in lumps you can't see coming, so you can't staff against it, can't price with confidence, and can't sleep.

Predictable revenue does not mean flat revenue. A predictable roofing business still has a busy season and a slow season. The difference is that the owner of a predictable business knows in March roughly what May and June will produce, knows which weeks the crews will be tight, and knows where the next 40 jobs are coming from before the phone stops ringing. That foresight changes every decision downstream: hiring, equipment, marketing spend, even how aggressively you can negotiate with suppliers.

This is an operator's breakdown of how that foresight gets built. It covers the math of a roofing pipeline, a forecasting model you can run in a spreadsheet, the margin and cash-flow discipline that keeps a good month from being undone by a bad one, and the targeting work that fills the gap between storms so you are not living and dying on weather. Numbers used here are illustrative round figures so the method is clear — plug in your own.

Why roofing revenue feels random (and where it actually isn't)

There are three real sources of revenue in residential roofing, and they behave completely differently. Lumping them together is the first mistake.

Storm-driven work. A hail or high-wind event ages a neighborhood's roofs overnight and creates a surge of insurance-eligible replacements. This is the biggest single lever in most markets, and the most unpredictable. You can't schedule a storm. But storms are not random the way a coin flip is random — they follow climatology, and once one hits, the demand it creates is knowable for months afterward. The unpredictability is in the trigger, not in the aftermath.

Age-driven work. Every asphalt shingle roof has a service life. A typical 3-tab roof runs roughly 15 to 20 years; architectural laminate shingles run longer, often 20 to 30, depending on climate, ventilation, and install quality. That means that in any neighborhood built in a given era, a predictable share of roofs cross into replacement range every single year, storm or no storm. This is the most predictable revenue in roofing and the most under-worked, because aging roofs don't announce themselves with a news segment.

Referral and repeat work. Past customers, their neighbors, their relatives. Slow to build, but the highest-margin and most stable channel you have once it exists. A roof lasts decades, so a homeowner won't buy again — but they refer, and their roof's failure is a marker for the rest of the street.

When owners say revenue is random, what they usually mean is that they have built their whole company on the one source that is genuinely hard to time (storms) and neglected the two that aren't (age and referral). Predictability comes from rebalancing toward the sources you can see in advance.

A quick exercise makes this concrete. Pull last year's jobs and tag each one by source, then sum the revenue per bucket. Most storm-dependent roofers find something like this:

Source Share of revenue How far ahead you can see it
Storm-driven 70% Days to weeks, and only after the event
Age-driven (cold) 10% Months to a year, if you work it
Referral / repeat 15% Weeks to months, tied to recent jobs
Repair / maintenance 5% Weeks

The column that matters is the right one, not the middle. Seventy percent of this company's revenue can't be seen more than a few weeks out, and only after a storm has already arrived. That is the mathematical definition of an unpredictable business, and no amount of forecasting skill fixes it until the mix changes. A roofer who moves that same revenue to, say, 45% storm / 30% age / 20% referral / 5% repair has not necessarily grown the top line — but has made most of it visible months ahead. Same dollars, radically different predictability.

The cost of the swing

Before the fix, it is worth pricing the problem, because the swing costs more than the lost revenue itself.

  • Idle crews. A production crew you keep on payroll through a slow stretch is pure burn. Lose them by laying off, and you pay to recruit and ramps a green crew back up when work returns, plus the quality dip while they re-learn.
  • Panic marketing. When the schedule empties, owners buy whatever lead source promises volume fastest, usually shared leads at the worst possible price, because they are bidding against every other panicked roofer at the same moment.
  • Margin erosion. A slow month makes you discount to win the job in front of you. A busy month makes you say yes to work you should have passed on. Both happen because you can't see what's coming.
  • Cash crunches. Roofing has brutal working-capital timing — you front material and labor, then wait on the homeowner or the insurer. A lumpy revenue line turns into a lumpier cash line, and that is what actually sinks roofing companies.

Predictability attacks every one of these. It is not a vanity metric; it is the difference between a business you operate and one that operates you.

The roofing pipeline, as math

You cannot make revenue predictable until you can model it, and you cannot model it until you treat your sales process as a pipeline with stages and conversion rates. Most roofing companies don't, which is exactly why their revenue feels like weather.

Here is a clean residential pipeline. Adapt the stage names to how you actually sell, but keep the structure.

Stage What it means Typical drop-off
Targets Addresses worth approaching (mail, door, list)
Conversations A homeowner engaged (answered door, replied, called) Most targets never convert here
Inspections You got on the roof / did the assessment Roughly half of conversations
Estimates You presented a number Most inspections produce one
Signed Contract executed This is your close rate
Produced Job built and invoiced Near-total, minus cancels
Collected Cash in the door Watch insurance/finance timing

The single most useful thing you will ever do for predictability is measure the conversion rate between each of these stages for your own business, by channel. Not the industry's numbers — yours.

A worked example

Say you want to produce $150,000 of revenue in a given month, and your average job is $12,000. That's 12.5 signed jobs, call it 13.

Now walk the pipeline backward using realistic conversion rates. These are illustrative — measure your own — but the arithmetic is the point.

  • 13 signed jobs
  • At a 35% estimate-to-sign close rate, you need ~37 estimates
  • At an 80% inspection-to-estimate rate, you need ~46 inspections
  • At a 45% conversation-to-inspection rate, you need ~103 real conversations
  • At a 6% target-to-conversation rate (e.g., quality direct mail or canvassing), you need ~1,720 well-chosen targets

That last number is the one that turns roofing from a guessing game into a plan. If you know you need roughly 1,700 good targets to produce $150,000, then the question "will I hit my number?" becomes "do I have 1,700 good targets in the funnel right now?" — and that is a question you can answer on the 1st of the month instead of discovering on the 30th.

Why "good targets" carries all the weight

Look at that funnel again. The leverage point is not the close rate at the bottom — it is the quality of the targets at the top. If your 1,700 targets are random addresses, your target-to-conversation rate might be 2% instead of 6%, and now you need 5,000+ targets to hit the same number. You'll work three times as hard for the same result, your reps will burn out knocking on roofs that are fine, and your forecast will be garbage because the input was garbage.

This is the real reason roofing revenue is hard to predict: most companies feed the top of the funnel with whatever they can get — bought leads, blanket mailers, knocking every door on the street — and the conversion rate on undifferentiated targets is both low and wildly variable. You can't forecast off an input you can't characterize. Sharpen the top of the funnel and everything below it gets steadier.

What pros get wrong about the close rate

When revenue is soft, the owner's instinct is almost always to fix the bottom of the funnel — "my closers need to close harder." Sometimes true. Far more often, the close rate is a symptom of a targeting problem disguised as a sales problem. Run the numbers and it's obvious why.

Suppose you have a closer sitting at a 35% close rate on estimates presented. You can spend three months and real money on sales training to push that to 40% — a genuine 14% relative improvement, and hard to get. Or you can improve the quality of who lands in front of that closer in the first place. A rep presenting estimates to homeowners whose roofs are actually due, who have already half-decided they need a roof, will close those at a higher rate with no coaching at all, because the qualification happened before the appointment. The same closer can look like a 35% closer on bad targets and a 50% closer on good ones. The lever everyone reaches for last — target quality — moves the number everyone obsesses over first.

There's a second thing pros get wrong: they don't separate close rate by source. A blended 35% close rate might be hiding a 55% rate on referral and a 20% rate on bought leads. Average them and you learn nothing. Split them and you discover that a chunk of your sales effort is being spent on a channel that converts so poorly it isn't worth the gas. That single split — close rate by source — frequently reveals more about where to invest than any other number in the business.

Why variability, more than volume, is the enemy

A subtle point that separates operators who forecast well from those who don't: predictability is hurt more by variance in conversion than by a low average. A channel that converts at a steady 4% is more forecastable than one that swings between 1% and 9% even if the second averages higher. You can plan against a steady 4% — you know exactly how many targets you need. You can't plan against a number that swings, because you never know if this month's batch will land high or low.

This is the hidden cost of shared leads and blanket outreach. Their conversion doesn't just run low; it runs erratic, because you have no control over who's in the batch. Owned, characterized targets — roofs you know are in age range, in your own area — convert with far less variance, which is the property that actually makes a forecast hold up. When you're choosing where to spend, weigh consistency alongside the raw rate.

Build a 90-day rolling forecast

Predictability is a forecast you trust enough to staff and spend against. You don't need software to start — a spreadsheet refreshed weekly beats anything you check once a quarter. The goal is a 90-day rolling view, because that's roughly the horizon over which a roofing pipeline plays out from first contact to collected cash.

Step 1: Stage-weight your live pipeline

Every open opportunity gets a probability based on its stage. This is standard pipeline math; the discipline is applying it honestly.

Stage Win probability Example: $12k job contributes
Conversation 10% $1,200
Inspection booked 25% $3,000
Inspection done 40% $4,800
Estimate presented 55% $6,600
Verbal yes / signing 85% $10,200
Signed 100% $12,000

Sum the weighted values across every open deal and you have your weighted pipeline — a single number that says, given everything currently in motion, this is what we should expect to close. Track it weekly. When it dips below the revenue you need, you have early warning, which is the whole point.

Step 2: Add the base layer you can predict without a pipeline

The weighted pipeline only counts deals already in motion. Layer on the revenue you can forecast structurally:

  • Aging-roof base. In a defined service area, a calculable number of roofs cross into replacement range each year. If you know your area holds, say, 40,000 homes and a meaningful share were roofed in the same 15-to-20-year window, you can estimate how many roofs become candidates per quarter. Capture even a small slice of that and it's a floor under your revenue that does not depend on a storm or a current lead.
  • Referral run-rate. If you reliably get a referral for every X completed jobs, then your current production schedule is itself a leading indicator of referral revenue 60 to 120 days out.
  • Maintenance and repair. Smaller tickets, but steady and counter-cyclical — they fill the calendar in slow stretches and keep crews employed.

Step 3: Reconcile forecast to actuals every month

The forecast is only as good as your willingness to grade it. Each month, compare what you predicted to what you booked, and find the leak:

  • Did fewer targets convert to conversations than modeled? Your targeting or your outreach is off.
  • Did conversations stall before inspection? An appointment-setting or follow-up problem.
  • Did estimates not close? A pricing, presentation, or qualification problem.

This monthly reconciliation is where predictability compounds. After three or four cycles your conversion rates stabilize, your forecast tightens, and you start trusting it enough to make real decisions on it. The first month's forecast will be wrong. The sixth month's will be close enough to staff against.

A simple monthly forecast worksheet

Line How to get it Example
Weighted pipeline (this month) Sum of stage-weighted open deals $96,000
Aging-roof base Area candidates x your capture rate x avg job $40,000
Referral run-rate Completed jobs x referral rate x conversion x avg job $18,000
Repair/maintenance Trailing 3-month average $14,000
Forecast Sum $168,000
Actual (fill at month end) From accounting
Variance + cause note Forecast vs actual, with the why

Run this every month and your revenue stops being a surprise. That is, mechanically, what predictability is.

Common forecasting mistakes that wreck the model

The model above is simple, which is the point. The ways people break it are also predictable:

  • Happy-ears staging. A rep marks a deal at "verbal yes" because the homeowner was friendly. Stage probabilities only work if the stage criteria are concrete and consistently applied. Define what "estimate presented" and "verbal yes" actually require — a signed proposal sent, a stated intent to move forward — and audit a few each week so the weights mean something.
  • Stale pipeline. A deal that hasn't moved in 45 days is usually dead but still inflating your weighted pipeline. Set an aging rule: if an opportunity sits in a stage past a threshold, it drops in probability or out of the forecast entirely. A pipeline full of zombies forecasts revenue that will never come.
  • Ignoring seasonality. Conversion rates aren't constant across the year. A homeowner is likelier to commit before winter than in the dead of it. If you apply summer conversion rates to a November pipeline, you'll over-forecast. Keep separate rate assumptions for your busy and slow seasons once you have enough history.
  • Forecasting revenue but not capacity. A forecast that says you'll close $300,000 of production next month is useless if your crews can only build $200,000. Predictability cuts both ways — you have to forecast whether you can deliver the work, not only sell it. An over-sold schedule pushes jobs out, frustrates customers, and turns a good month into a backlog problem.
  • Never grading the forecast. A forecast you don't reconcile against actuals is a wish. The grading is where the learning lives.

What the forecast lets you do once you trust it

A forecast you believe changes specific decisions, and it's worth naming them so the work feels worth it:

  • Hiring ahead of demand instead of behind it. If the model shows a busy stretch 60 days out, you recruit and onboard now, so a trained crew is ready when the work lands — rather than scrambling for warm bodies mid-surge.
  • Negotiating supply on volume you can see. When you can show a supplier the work that's coming, you negotiate from a position of visibility instead of buying spot-price in a panic.
  • Spending marketing counter-cyclically. A full pipeline means you can pull back spend and bank the cash; a thin one 45 days out means you push outreach now, while there's still time for it to convert. Most roofers do the opposite — they spend when busy and go quiet when slow, amplifying the swing.
  • Saying no. The most underrated benefit. When you can see your floor, you can decline underpriced or bad-fit work without fear, which protects both margin and crew morale.

Defend your margin so a good month actually counts

Predictable revenue is worthless if the margin underneath it is unpredictable. Two companies can both book $2M a year; one nets 12% and white-knuckles every payroll, the other nets 22% and builds a cushion. The second one is the predictable business, because margin is what survives the slow months.

Know your real job cost before you quote

The most common margin killer in roofing is quoting off a gut number instead of a built-up cost. For every job, your estimate should be assembled from:

  • Materials — shingles, underlayment, flashing, vents, fasteners, plus a realistic waste factor (steep and cut-up roofs waste more).
  • Labor — by squares and complexity, not a flat per-job guess. Steep-slope, multiple stories, and tear-off of multiple layers all change the labor line materially.
  • Tear-off and disposal — dumpster, dump fees, and the labor to strip.
  • Overhead allocation — your trucks, office, insurance, software, and sales cost spread across jobs. If you don't load overhead into the job, your "profit" is an illusion.
  • Target net margin — the number on top that is the actual reason you're in business.

A company that builds estimates this way quotes consistently and knows that a booked dollar carries a known margin. A company that eyeballs it books revenue of unknown profitability — which is just a more expensive form of unpredictability.

Watch the metrics that move margin

  • Average job size. Drifting down? You're winning small jobs and losing big ones, often a sign you're competing on price.
  • Material-to-revenue ratio. Spiking? Pricing hasn't kept up with supplier increases, a real risk given how much shingle and OSB prices have moved.
  • Labor-to-revenue ratio. Climbing? Production inefficiency, crew quality, or jobs scoped too tight.
  • Rework rate. Callbacks and warranty fixes are pure margin loss and a quality signal. Track them by crew.

None of this is glamorous, but predictable margin is built in this ledger, line by line.

Price for the value you actually deliver

The instinct in a slow month is to drop price to win the job. Occasionally correct; usually a slow bleed. A better lever is to make the value obvious so you don't have to discount: thorough documentation of the roof's condition, a clean professional estimate, clear scope, and proof you understand this specific roof. A homeowner who believes you know what you're talking about will pay your number. The targeting and documentation work below feeds directly into this — when you walk up already knowing the roof's age range and storm exposure, you present like the expert, and experts discount less.

Work the math on a discount before you offer one. On a $12,000 job at a 20% gross margin, you're earning $2,400. Drop the price 10% to win it, and you don't lose 10% of the profit — you lose $1,200, which is half of it, because the discount comes straight off the margin, not off the whole price. To net the same total profit you'd have to do roughly twice the volume. Reps who internalize that discounting is a margin-halving move, not a small concession, hold price far better. Give them that calculation, not a lecture about "don't discount."

The change-order and scope-creep leak

Margin also bleeds quietly after the sale. Decking that turns out rotten and needs replacing, a chimney flashing detail nobody priced, an HOA color requirement that bumps the material — these eat the job's profit if you absorb them silently. Predictable margin means a clear contract with a per-sheet decking-replacement price stated up front, a documented scope, and a change-order process your crews actually use. The homeowner agreed to a roof in good condition underneath; surprises are a conversation, not a gift. Companies that don't manage change orders watch their as-sold margin and their as-built margin diverge job after job and never understand why the year's profit came in light.

Stabilize cash flow as well as revenue

Roofing is a working-capital business. You front materials and labor, then wait — sometimes weeks, sometimes months on an insurance-funded job — to collect. A perfectly predictable revenue line can still produce a cash crisis if collections lag spending. Predictable cash takes its own discipline.

  • Stage your payments. Where your contracts and state rules allow, structure deposits and progress payments so cash arrives closer to when costs are incurred rather than all at the end.
  • Tighten collections. Invoice the day the job is done, not the end of the month. Make it easy to pay. Every day of slack in collections is a day you're financing the homeowner for free.
  • Manage insurance-paid timing realistically. On storm work, the homeowner files and the insurer decides on their own clock; your job is to document the roof's condition and scope your estimate cleanly so there's nothing to slow approval. Build that lag into your cash forecast — assume it will take longer than you'd like, because it usually does.
  • Keep a real reserve. A predictable business holds enough cash to cover a couple of slow months of fixed costs. That reserve is what lets you keep your crew through a soft stretch instead of laying off and re-hiring, which is itself one of the biggest sources of operational unpredictability.
  • Offer financing. Homeowner financing converts a "can't afford it right now" into a signed job and often moves cash to you faster than waiting on the customer to arrange their own funds.

Forecast cash on the same 90-day horizon as revenue, with collection timing built in. Revenue tells you the business is healthy; cash tells you it will survive the gap until the revenue arrives.

The real fix: stop depending on the channels you can't control

Everything above — pipeline math, forecasting, margin, cash — makes your business legible. But there's a structural problem underneath all of it: most roofing companies depend on inputs they don't own. Shared lead sites resell the same homeowner to four or five competitors, so your close rate and your cost-per-lead are set by an auction you don't control. Storms come when they come. Blanket mailers and knock-every-door canvassing are so low-yield that the result is mostly noise.

You cannot build a predictable forecast on top of an unpredictable, un-owned input. The way out is to build your demand from things you do control: your own service area and your own customer book. Two roofs in a neighborhood tell you almost everything — the homes built in the same era, with the same roof installed around the same time, exposed to the same storms, are aging on the same clock. That is a demand signal sitting in plain sight, and it doesn't depend on anyone selling it to you.

Three owned channels that steady the line

1. Work the aging-roof base in your own area. Somewhere in your service radius, a predictable number of roofs cross into replacement range every quarter. Reaching those specific homeowners — rather than the whole street — is the single most reliable way to fill the calendar between storms. The roofs aging out don't make the news, which is exactly why they're under-worked and why the homeowners aren't being hammered by five other roofers at once.

2. Mine your own CRM and past estimates. The money already in your book. Old estimates that never closed, past customers whose neighbors are now in range, jobs you bid two years ago where the roof has since aged into urgency. This is the highest-ROI outbound you can do because there's no acquisition cost — you already paid to generate these contacts once.

3. Turn completed jobs into a referral engine. A finished job is a yard sign, a happy homeowner, and a marker on a street where the surrounding roofs are likely the same age as the one you just replaced. Systematize the ask. Referrals are the most stable revenue in roofing precisely because they don't depend on any external market.

The common thread: these channels are yours. No auction, no swarm of out-of-town crews, no waiting on weather. That ownership is what makes the resulting revenue predictable.

A worked example: the aging-roof base as a revenue floor

Make the aging-roof base tangible, because it's the channel roofers most often dismiss as too slow to matter. Say your service area holds 40,000 single-family homes. Suppose, conservatively, that 25% of them carry asphalt roofs installed 15 or more years ago — that's 10,000 homes already in or near replacement range, with more crossing the line every year as the housing stock ages. You will never reach all of them, and you don't need to.

Work backward from a modest goal. To add $600,000 of age-driven revenue at a $12,000 average job, you need 50 jobs from this base over the year. At even a conservative close rate on well-targeted aging-roof homeowners, that's a few hundred quality conversations across twelve months — a few dozen well-aimed contacts a month, not thousands. That is an entirely reachable number against a pool of 10,000 candidates, and it doesn't depend on a single storm. Run it monthly and it's a floor under your revenue line that holds in February as surely as June.

The reason most roofers don't capture this isn't that the demand isn't there — the arithmetic above says it plainly is. It's that identifying which of those 10,000 homes are the strongest candidates, by hand, is impractical. That's the targeting problem, and it's where the right data input changes the economics.

Re-engaging your CRM: a 30-day mining routine

The fastest predictability win for an established roofer is usually the book you already have. Here's a concrete routine:

  1. Pull every lost estimate from 18+ months ago. A roof you quoted two years ago that the homeowner deferred is now two years closer to failing — and two years past whatever objection killed the deal. Many of those homeowners are ready now.
  2. Pull past customers and look at their neighbors. A roof you replaced eight years ago sits among roofs of similar age. The completed job is a marker for the surrounding block.
  3. Segment by likely roof condition, rather than by date in the system. A contact from 2019 whose roof is now 22 years old is a hotter target than a 2023 contact whose roof is 6 years old. Age of the roof, not age of the lead, drives priority.
  4. Sequence the outreach. A short, specific message referencing their roof's likely condition beats a generic blast. Specificity is what separates re-engagement from spam.

This costs almost nothing because the acquisition was already paid for. It's the highest-ROI hour a sales manager can spend in a slow week, and it's a channel you fully own.

How RoofPredict fits the predictability problem

The targeting work above is the hard part to do by hand. Figuring out which specific homes in your area have roofs aging into replacement range — and which ones a recent storm actually wore out versus merely passed near — is exactly the input a forecast needs and exactly the input most roofers can't generate on their own.

That's the gap RoofPredict is built to fill. It reads aerial imagery to estimate a roof's age as a range per address (for example, an 18-to-22-year window, not a false exact date — re-roofs aren't recorded in public data, so a range is the honest answer), and it models storm physics on each roof rather than just showing where a storm passed. A hail map tells you it hailed in a ZIP code; modeling impact house by house tells you which roofs in that ZIP likely took the hit. Pair roof age with storm exposure and you get a ranked view of which homes are actually due — the doors to knock, the addresses to mail, and the records in your own list to re-engage first.

Used as a forecasting input, that does a few concrete things:

  • It sharpens the top of your funnel. Going back to the worked example, the difference between a 2% and a 6% target-to-conversation rate is whether you need 1,700 good targets or 5,000 random ones. Better targets are the highest-leverage move on the whole pipeline, and they make conversion rates steady enough to forecast.
  • It quantifies the aging-roof base. Instead of guessing how many roofs in your area are coming due, you can see the candidates, which turns the "base layer" of your forecast from an estimate into a count.
  • It enriches your own CRM. Layer roof-age range and storm signals onto the contacts you already have, so you know which old estimates and past customers to call first.
  • It fills the gap between storms. Because age-driven demand doesn't wait on weather, it's the steadying counterweight to the spiky storm work.

Honest limits, because the trade compares notes: roof age is a range, not a birth certificate, and storm modeling is odds, not proof — it ranks which roofs were most likely worn out, and you still get on the roof to verify before you promise a homeowner anything. RoofPredict is not a lead-buying service and doesn't pretend to be; it doesn't replace your sales process, your inspection, or your judgment. What it does is make the top of your funnel something you can characterize and count — which is the prerequisite for a forecast you can trust. On the storm side specifically, it stays on the documentation-and-targeting side of the line: it helps you find and document the roofs a storm likely damaged; the homeowner files the claim and the insurer decides.

The practical way to read it is as a ranking, not a yes/no. A street comes back ordered by which roofs are most likely due — an 18-to-22-year roof that also took two modeled hail events ranks above a 10-year roof that a storm merely passed near. You work the top of that list first. That ordering is what converts a vague "this neighborhood is old" hunch into a route your crew can knock in priority order, and it's the same ordering that lets you put a number on the aging-roof base in your forecast instead of a guess.

Keep storm work, but treat it as upside

None of this means walking away from storm restoration. Storm work is real, it's a big share of the market, and a hail event is still the fastest way to a busy quarter. The shift is one of posture: build a business that is predictable on the age-and-referral base, and treat storms as upside on top of a stable floor — not as the floor itself.

That reframe changes how you run a storm. When a storm hits a company that already has a steady base, the owner can be selective, staff up deliberately, and protect margin, because the lights stay on either way. When a storm hits a company that lives or dies on storms, the owner takes every job at any price because there may not be another storm for a year. Same storm, completely different economics — and the difference is whether you built a predictable base underneath it.

Storm work, kept on the right side of the line

A note that protects your license and your reputation: on insurance-related storm work, stay strictly on the document-and-estimate side. You can inspect a roof, document the damage you find, and write an estimate for the repair scope you'd perform — those are facts about your own work. You should not, for a fee, negotiate or handle the homeowner's claim, interpret their coverage, promise a payout or an approval, advertise a "free roof," or offer to waive or absorb the deductible. The homeowner files; the insurer decides. Teach your reps this list explicitly, because a single rep promising a homeowner their claim will be approved or their deductible covered can create real liability. Predictable revenue is not worth a regulatory problem — and clean, factual documentation actually closes better than overpromising anyway.

A 90-day plan to make your revenue predictable

Reading about predictability doesn't create it. Here's the sequence to actually install it, starting from wherever you are now.

Days 1-30: See your business clearly.

  1. Define your pipeline stages and start logging every opportunity in them, even in a spreadsheet.
  2. Pull the last 12 months of revenue and split it by source: storm, age/cold, referral, repair. Now you know your real mix and your real exposure.
  3. Calculate your true average job cost on the last 10 jobs, fully loaded with overhead. Find out what you actually net.
  4. Measure your current conversion rates between stages, even roughly. This is your baseline.

Days 31-60: Build the model and sharpen the inputs.

  1. Stand up the weighted-pipeline forecast and the monthly worksheet. Refresh weekly.
  2. Add the base layers: estimate your aging-roof base and your referral run-rate.
  3. Sharpen your targeting. Stop feeding the funnel with random addresses; start with the roofs most likely to be due, in your own area and your own CRM. This is where a tool like RoofPredict earns its place — it makes "which roofs are due" a count instead of a guess.
  4. Tighten collections: invoice on completion, offer financing, build insurance timing into your cash forecast.

Days 61-90: Operate on the forecast.

  1. Run your first full forecast-to-actual reconciliation. Find the biggest leak and fix that one thing.
  2. Make a staffing and spending decision based on the forecast — keep a crew through a soft week because you can see work coming, or hold marketing spend because the pipeline's already full.
  3. Set the rhythm: weekly pipeline review, monthly forecast reconciliation. Predictability is a habit, not a project.

The weekly rhythm that keeps it alive

The 90-day install gets you to predictability; a weekly cadence keeps you there. The companies that hold predictability run a tight, repeatable meeting — 30 minutes, same time every week — that looks at four things and nothing else:

  1. Weighted pipeline versus target. Are we above or below the revenue we need, and by how much? This is the early-warning gauge.
  2. Top-of-funnel input. How many new quality targets and conversations entered this week? A thin top this week is a thin bottom in 60 days.
  3. Stuck deals. Which opportunities haven't moved, and what's the single next action on each? This is where revenue quietly dies if nobody looks.
  4. Capacity. Can production build what sales is closing, or is the schedule running hot?

Monthly, you add the forecast-to-actual reconciliation on top. That's the whole system. It is deliberately boring, and boring is the point — predictability is a property of businesses that do unremarkable things consistently, not of businesses that do remarkable things occasionally.

What to measure, on one page

If you track nothing else, track these, reviewed on the cadence noted:

Metric Why it matters Cadence
Weighted pipeline Forward revenue signal Weekly
New quality targets added Leading indicator of future revenue Weekly
Conversion rate by stage, by source Where the funnel leaks Monthly
Average job size Margin and competitive-position signal Monthly
As-sold vs as-built margin Catches scope-creep leaks Monthly
Forecast vs actual + cause Tightens the model over time Monthly
Days from completion to collection Cash health Monthly

None of these requires expensive software to start. They require the discipline to look every week and the honesty to grade yourself every month.

By day 90 you won't have eliminated the busy season and the slow season — that's not the goal. You'll have something better: the ability to see them coming far enough ahead to act. The owner who knows in March what June will produce makes calmer, smarter decisions all year, prices with confidence, keeps good crews, and sleeps. That's what predictable revenue actually buys you, and it's built from exactly these unglamorous parts: a measured pipeline, a forecast you reconcile, defended margin, managed cash, and a top of funnel aimed at the roofs that are genuinely due. Start with the part that's holding you back most — for most roofers, that's the targeting at the top — and the rest of the system has something solid to stand on.

FAQ

Can a roofing business ever have truly predictable revenue when it depends on weather?

Not in the sense of flat, identical months — and that's the wrong goal. Predictability means seeing your busy and slow periods far enough ahead to staff and spend against them. The trick is to build a stable base from age-driven and referral work, which you can forecast, and treat storm work as upside on top of that floor rather than the floor itself. A company with a predictable base can be selective and protect margin when a storm hits; a storm-dependent company has to take every job at any price.

What's the single most important metric for predicting roofing revenue?

Your stage-to-stage conversion rates, measured for your own business by channel. Once you know that, for example, 1,700 good targets reliably produce roughly 13 signed jobs, your monthly revenue question becomes 'do I have enough quality targets in the funnel right now?' — answerable on the 1st instead of discovered on the 30th. If you track only one thing, track the conversion rate from target to booked conversation, because the top of the funnel carries the most leverage.

How far out can a roofing company realistically forecast?

A 90-day rolling forecast is the practical horizon, because that roughly matches how long a residential roofing opportunity takes from first contact to collected cash. Combine a stage-weighted view of your live pipeline with structural base layers — your aging-roof base and referral run-rate — and refresh it weekly. The first month's forecast will be off; after three or four monthly reconciliations your conversion rates stabilize and the forecast tightens enough to staff and spend against.

Why are bought leads bad for revenue predictability?

Shared lead services resell the same homeowner to several competitors, so your close rate and cost-per-lead are set by an auction you don't control, and both swing month to month. You can't build a reliable forecast on an input you can't characterize. Owned channels — the aging roofs in your own service area, your own CRM and past estimates, and referrals from completed jobs — are more predictable precisely because no auction or external market sits between you and the homeowner.

How do I keep margin predictable as well as revenue?

Build every estimate from a fully loaded cost: materials with a realistic waste factor, labor by squares and complexity, tear-off and disposal, allocated overhead, then your target net margin on top. Quoting off a gut number books revenue of unknown profitability. Then track average job size, material-to-revenue and labor-to-revenue ratios, and rework rate. Defended margin is what carries you through slow months, so a predictable revenue line is only useful if the margin under it is predictable too.

What does roof-age data actually tell me, and how accurate is it?

Tools that estimate roof age from aerial imagery give you a range — for example an 18-to-22-year window — not an exact install date. That's the honest output, because re-roofs generally aren't recorded in public records, so no source can give a precise date. A range is still highly useful: it tells you which homes are likely in or near replacement range so you can prioritize them. You still verify on the roof before promising a homeowner anything. Treat it as a sharp targeting input, not a guarantee.

How is modeling storm impact per roof different from a hail map?

A hail map shows where a storm passed — typically a ZIP code or a swath. Modeling impact house by house estimates which specific roofs in that area were most likely worn out, by accounting for the storm's physics against each roof rather than just its general location. The output is odds, not proof: it ranks which roofs to inspect first. You still get on the roof to confirm actual damage before documenting it for a homeowner.

You can inspect the roof, document the damage you find, and write an estimate for the repair scope you would perform — those are facts about your own work. You should not, for a fee, negotiate or handle their claim, interpret their coverage, promise that a claim will be approved or paid, advertise a 'free roof,' or offer to waive or absorb the deductible. The homeowner files the claim and the insurer decides. Train every rep on this list explicitly; one overpromise can create real liability.

How much cash reserve should a roofing company keep for predictability?

Enough to cover a couple of months of fixed costs through a slow stretch. That reserve is what lets you keep a good crew employed during a soft period instead of laying off and re-hiring — which is itself a major source of operational unpredictability and quality loss. Forecast cash on the same 90-day horizon as revenue, building in realistic collection timing, especially the lag on insurance-funded jobs where the insurer decides on its own clock.

Where do I start if my revenue is currently feast-or-famine?

Spend the first 30 days getting visibility: log every opportunity in defined pipeline stages, split last year's revenue by source, calculate your true fully-loaded job cost, and measure your conversion rates. Then build a weighted-pipeline forecast and sharpen your targeting toward roofs that are genuinely due in your own area and CRM. By day 90, make at least one real staffing or spending decision based on the forecast. Predictability is a weekly-review and monthly-reconciliation habit, not a one-time project.

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. Asphalt Shingle Roofing for Homeownersnrca.net
  2. IBHS Hail Research and Resilient Roofingibhs.org
  3. NOAA Storm Prediction Centerspc.noaa.gov
  4. National Weather Service Storm Damage and Hailweather.gov
  5. OSHA Fall Protection in Constructionosha.gov
  6. U.S. Census Bureau American Housing Surveycensus.gov
  7. International Residential Code (Roof Coverings)codes.iccsafe.org
  8. BLS Occupational Outlook: Roofersbls.gov
  9. FTC Guidance for Home Improvement Businessesftc.gov
  10. SBA Cash Flow and Managing Your Businesssba.gov
  11. Texas Department of Insurance: Roofing and Storm Claimstdi.texas.gov
  12. NAIC Consumer Insight on Homeowners Insurance Claimsnaic.org
  13. Verisk / Xactimate Property Estimatingverisk.com
  14. RoofPredictroofpredict.com

Related Articles