The Call Center Doctors Logo Get Started

Roofing lead ROI calculator

Four inputs -- how many leads or appointments you buy in a month, what each one costs, how often you close them, and what a job is worth -- and the calculator returns jobs won, revenue, total spend, a return multiple, and the cost of each job you acquired. It works the same whether you buy leads, buy appointments, or want to compare the two head to head.

It is deliberately blunt about one thing that most lead-vendor spreadsheets are not, and that caveat is the first section below.

Roofing ROI

Roofing Lead and Appointment ROI Calculator

Estimate the monthly return on your roofing lead or appointment spend. Adjust the inputs to match your numbers -- the results update instantly.

Total qualified leads or booked appointments your team works each month.

Blended marketing or vendor cost to generate one lead or appointment.

Share of leads or appointments that turn into a signed job.

Average contract value for a closed roofing job.

Your monthly estimate

Based on the inputs on the left.

Jobs won per month
18

Volume times close rate.

Revenue per month
$171,000

Jobs won times average job value.

Total ad or lead spend
$15,000

Volume times cost per lead or appointment.

ROI multiple
11.4x

Revenue divided by total spend.

Cost per acquisition
$833

Total spend divided by jobs won.

Estimates only. Actual results vary by market, season, and crew capacity. Default values are neutral US-market roofing figures, not a guarantee of performance.

The return multiple is revenue, not profit

The multiple divides revenue won by lead spend. It does not subtract materials, labour, dumpsters, warranty, overhead or the crew's drive time. On a re-roof carrying a gross margin somewhere around a third, a headline return of three to one is roughly break-even before you have paid for anything else in the business, and a return that looks spectacular can still be a losing account once the job costs land.

So use the multiple to rank channels against each other, and use cost per job won to decide whether any of them is worth doing. Cost per job is the figure to carry into a negotiation: it converts a cost-per-lead argument, which every vendor is practised at winning, into a question about their lead quality, which they are not.

If you want a profit answer rather than a revenue answer, put your gross profit per job into the job-value field instead of the contract price. The multiple then reads as return on gross margin, which is the number a sensible owner actually manages to.

The close rate is the input to argue about

Volume and price are printed on the invoice. Close rate is the one number in the model that is genuinely yours, and it is where two shops buying identical leads end up with opposite verdicts on the same vendor. Before you blame the source, check three things: how long the lead sat before its first dial, how many attempts it got before you gave up, and whether the person calling knew enough about roofing to survive the first objection.

A useful discipline is to run the calculator twice -- once at your current close rate, once at the rate you would reach if none of your leads went unworked -- and treat the gap as the value of fixing follow-up. It is frequently larger than the saving from switching vendor, and it does not require anyone to sell you anything.

Why the answer changes by season

Roofing demand is weather-driven, so a lead-spend model built on an average month misprices both halves of the year. NOAA's Storm Events Database is the public series to anchor against:

9,205 hail events logged in 2025 (2024: 8,941). Top states by 2025 hail-event count: Texas 1,453, Oklahoma 836, Kansas 541.
US hail events logged by NOAA in a calendar yearNOAA NCEI Storm Events Database, https://www.ncei.noaa.gov/stormevents/, 2025

Read those as events LOGGED, not as a count of what physically happened -- the database records storm reports, so it reflects population density and spotter coverage as well as weather. What it is good for is the shape: the concentration by state and by season is why a cost per job won that looked fine in March can be unrecognisable in June, and why buying the same lead volume every month is the most common way to overpay.

Where this fits

Booked inspections, priced per appointment

If the cost-per-job column is the one that matters to you, that is the column we sell on. Twenty minutes is enough to see whether the numbers work in your market.

Book a Free Consultation
Call Now Book a Call