A storm-season revenue model should follow demand through capacity and collection. Multiplying leads by a hoped-for close rate and average contract value produces booked-revenue math, not a reliable cash forecast.
Core formulas
Held appointments = valid leads × contact rate × appointment-set rate × held rate
Signed jobs = held appointments × close rate
Expected completed jobs = lesser of signed jobs and production capacity × completion rate
Collected revenue = completed jobs × collected revenue per job × collection rate
Collected gross profit = collected revenue − direct job cost
Define every rate using comparable historical storm, territory, source, job type, and team data.
Use the sales KPI scorecard to preserve those definitions before managers populate the downside, base, and upside cases.
Input worksheet
| Input | Downside | Base | Upside | Evidence |
|---|---|---|---|---|
| Raw leads | source plan/history | |||
| Valid/unique rate | CRM audit | |||
| Contact rate | call/CRM log | |||
| Appointment-set rate | CRM | |||
| Held rate | CRM | |||
| Close rate | matched cohort | |||
| Weekly production capacity | operations | |||
| Completion rate in horizon | job history | |||
| Collected revenue/job | accounting | |||
| Direct job cost/job | job costing | |||
| Collection rate | accounting |
Worked scenario
Illustrative base case:
- 400 raw leads;
- 80% valid/unique;
- 65% contact rate;
- 45% appointment-set rate;
- 75% held rate;
- 28% close rate;
- 16-job production capacity during the selected horizon;
- 90% completion within the horizon;
- $15,000 collected revenue per completed job;
- $10,500 direct job cost per job;
- 97% collection rate.
The funnel produces about 19.7 signed jobs, but capacity limits the period to 16. At 90% completion, 14.4 jobs complete. Expected collected revenue is 14.4 × $15,000 × 0.97 = $209,520. Expected direct cost is 14.4 × $10,500 = $151,200, producing $58,320 in modeled gross profit before acquisition, sales, and overhead costs.
These are examples, not industry averages.
Model job mix
Do not use one “average roof” when the storm produces repairs, replacements, retail upgrades, commercial work, or jobs with materially different margins and timelines.
Create a row for each job type:
| Job type | Share | Collected revenue | Direct cost | Cycle time | Capacity unit |
|---|
Weight the result, and include cancellation, change-order, supplement, and collection timing under the company's verified process. Do not assume an insurer will approve, pay, or time an amount.
Capacity constraint
Estimate capacity by the actual bottleneck:
- inspections per qualified inspector;
- estimates/scopes per estimator;
- permits and material availability;
- crews and job-days by roof type;
- production-manager bandwidth;
- quality-control and punch-list capacity;
- collections and administrative processing.
Booked revenue above capacity can increase cancellations, cycle time, customer issues, and cash strain.
Cash timing
Build a monthly waterfall from lead to collection. Record deposit/payment terms, financing timing, customer responsibility, production schedule, invoicing, and historical collection lag. Keep coverage and carrier decisions outside the sales forecast unless documented by the authorized party.
Acquisition and profit
Subtract fully loaded source cost and sales cost:
Storm contribution = collected gross profit − lead/marketing cost − incremental sales cost − storm setup/operating cost
Include temporary office, travel, lodging, data, permits, fleet, devices, recruiting, training, management, and cleanup when they are incremental.
Use the roofing lead-cost calculator for source economics and the 30-day onboarding plan for safe capacity gates.
Use the roofing marketing ROI calculator when fully loaded acquisition cost must be compared with collected gross profit, and the AI sales forecasting guide when the model must reconcile signed work with production and cash timing.
Sensitivity checks
Test:
- valid and contact rates;
- held and close rates;
- job mix and gross margin;
- cancellation and collection;
- crew/job-day capacity;
- weather interruptions;
- material/permit lag;
- lead cost and manager capacity.
Publish downside, base, and upside results. A plan that is viable only at the highest close rate and fastest production case is fragile.
Frequently asked questions
Is storm revenue the same as signed contract value?
No. Separate signed, completed, invoiced, collected, and gross-profit values.
What is the most important input?
The current bottleneck. More leads do not help when inspection, estimating, production, or collection capacity is full.
Should insurance proceeds be forecast?
Use only documented information from authorized parties and preserve uncertainty. Do not have sales staff or a calculator predict coverage or approval.
How should close rate be chosen?
Use mature comparable cohorts by source, territory, job type, rep experience, and season. Show a range.
How often should the forecast update?
At a cadence operations can use—often weekly during an active storm—with a data cutoff, changed assumptions, and actual-versus-forecast review.
Free lead-generation resources
Turn traffic strategy into pipeline actions
Use free marketing and field tools to turn website, referral, and follow-up ideas into lead flow your reps can actually work.
Marketing tools
Generate ad copy, email sequences, company bios, and lead-conversion messaging for your market.
Browse marketing tools →Field sales tools
Create follow-up assets, texts, and homeowner-facing copy once a lead is already in motion.
Browse field sales tools →Job Intel
Give reps better customer context before the follow-up so lead quality is easier to convert.
See Job Intel →About the Author
Tim Nussbeck
Founder & CEO of GhostRep
20+ years in roofing and home improvement sales—knocking doors, running teams, and building practical coaching systems. Built GhostRep to give every rep access to the coaching top teams get.
Lead-gen next step
Turn traffic into pipeline math before you buy more leads
Start with the ROI calculator or lead-generation tools if you are still diagnosing the economics. Book a walkthrough if you want GhostRep tied to lead handling, follow-up, and close-rate lift.
- ✓Best fit if traffic is arriving but too little of it turns into revenue.
- ✓Useful for modeling conversion lift before you increase spend.
- ✓Demo shows how field execution and coaching change lead economics after the click.
Start Here
Model your conversion lift
Estimate what more leads, better close rates, and faster rep ramp are worth in revenue.
Model your conversion liftNeed it mapped to your team?
Talk through your current workflow, traffic mix, and where GhostRep fits before you change anything.
Book a 15-minute walkthroughYou Might Also Like
Angi and HomeAdvisor share a parent. Compare published lead-sharing and credit terms, account fees, renewal risks, and a free contractor offer worksheet.
Read article →Enter your local HomeAdvisor lead quote, contact rate, held inspections, sold jobs, labor, and gross profit to plan a controlled roofing lead pilot.
Read article →Compare roofing SEO and Google Ads using fully loaded spend, qualified leads, signed and completed jobs, gross profit, cost per job, and true ROI.
Read article →