How Many Roofing Leads Do I Need to Hit My Revenue Goal? The Real Math
On this page
Every roofing owner I have ever talked to can tell me their revenue goal to the dollar. Ask the same person how many leads that goal requires and the answer turns into a shrug, a round number that sounds nice, or whatever the last marketing rep told them. That gap is where money leaks. A revenue goal without a lead count behind it is a wish. A lead count without the funnel math behind it is a different kind of wish.
The good news: the math is not hard, and once you build it one time you can re-run it every January, every storm season, and every time someone pitches you a new lead source. You work backward from the dollar figure to the number of signed jobs, then back through your close rate to appointments, then back through your set rate to raw leads. Five numbers and three division problems. The hard part is being honest about the inputs, because most contractors plug in the close rate they wish they had instead of the one their CRM actually shows.
Below is the full backward walk, the four ratios that decide everything, worked examples for retail and storm shops, a per-channel breakdown so you know how many leads each source has to produce, and the operational stuff nobody mentions: how seasonality wrecks a flat monthly target, why your cancel rate quietly steals a fifth of your bookings, and how to build a lead plan that survives contact with a slow March. I will also be straight about where buying or generating raw leads stops being the answer and targeting the right roofs starts.
The one equation everything hangs on
Here is the whole model in one line, then we will take it apart:
Leads needed = (Revenue goal / Average job value) / Lead-to-sale close rate
That is it. Revenue divided by job size gives you jobs. Jobs divided by your true close rate gives you leads. Everything else in this piece is about getting those three inputs right and then slicing the result into something you can manage week to week.
Let me run a fast one so the shape is clear. Say your goal is $3,000,000 in revenue, your average job is $15,000, and your honest lead-to-sale close rate is 20%.
- Jobs needed: $3,000,000 / $15,000 = 200 jobs
- Leads needed: 200 / 0.20 = 1,000 leads
One thousand leads for the year. Roughly 84 a month if demand were flat, which it never is. Hold that 1,000 in your head; we are going to pressure-test every input because a small error in any one of them swings that number by hundreds.
Get your inputs honest first
The model is only as good as the numbers you feed it. Three of them come straight from accounting and one comes from your CRM, and that last one is where people lie to themselves.
Revenue goal: use the right line
Decide whether your goal is total revenue or gross profit, and whether it includes or excludes things you do not control. A storm shop doing supplement-heavy insurance work has a final job value that drifts up after the initial scope; a retail replacement shop knows the number at signing. For lead math, use collected revenue per signed job as your job value and total collected revenue as your goal, so the two line up. If you mix a goal stated in gross profit with a job value stated in top-line revenue, every downstream number is wrong.
If you only know your profit target, convert it. A shop that wants $600,000 in gross profit at a 30% gross margin needs $600,000 / 0.30 = $2,000,000 in revenue. Run the lead math on the $2,000,000.
Average job value: weight it, do not eyeball it
Pull your last 12 months of signed jobs and take the real average. Two traps:
- Mixing job types. A repair averaging $1,800 and a full replacement averaging $16,000 cannot share one number. If you sell both, split them into two funnels (more on that below) because their close rates and lead sources differ wildly.
- Outlier commercial jobs. One $140,000 commercial re-roof will yank your residential average up and make your lead target look smaller than reality. Pull commercial into its own line.
Use the median alongside the mean. If your mean job is $15,000 but your median is $11,000, you have a handful of big jobs propping up the average, and a year without those whales blows up your plan.
Close rate: the number people fake
This is the input that moves the needle hardest, and it is the one contractors most often guess. There are three different "close rates" floating around and people mix them constantly:
- Lead-to-sale (signed jobs / total leads). This is the one the master equation needs.
- Appointment-to-sale (signed jobs / inspections run). Usually much higher.
- Set rate (appointments booked / leads). The first leak in the funnel.
If a sales manager tells you they "close 50%," they almost always mean appointment-to-sale, after the no-shows and dead leads already fell out. Your lead-to-sale rate is lower, often a lot lower, because it includes every tire-kicker, every wrong number, and every lead who ghosted before the inspection. Use the lead-to-sale number in the master equation or you will badly under-order leads.
Compute it from your CRM over a trailing 12 months: signed jobs divided by total leads entered. If you cannot compute it because your CRM is a mess, that is your first project, not your lead budget. You are flying blind until you can.
Sales cycle length: the number people forget
Leads do not convert the day they arrive. A retail replacement might take 2 to 6 weeks from first contact to signed contract; an insurance restoration job can run 60 to 120 days from the storm to a signed scope after the adjuster meeting. If your sales cycle is 45 days, the leads you need for Q4 revenue have to land in Q3. Lead timing, not only lead count, is what makes or breaks a quarterly number. We will build this into the seasonal plan.
The four ratios that decide everything
The master equation hides four sub-ratios inside that single "close rate." Breaking them out is what lets you fix the funnel instead of just buying more leads to paper over a leak. Here is the full funnel, top to bottom:
| Stage | Definition | Healthy retail range | Healthy storm/canvass range |
|---|---|---|---|
| Lead to contact | You actually reach the person | 60-85% | 50-75% |
| Contact to appointment (set rate) | They agree to an inspection | 40-65% | 50-70% |
| Appointment to inspection (show rate) | The inspection actually happens | 70-90% | 60-80% |
| Inspection to sale | They sign | 30-55% | 35-60% |
Multiply the four together and you get your lead-to-sale rate. Worked example with mid-range retail numbers:
0.75 (contact) x 0.55 (set) x 0.85 (show) x 0.40 (sign) = 0.140, a 14% lead-to-sale rate.
Notice that every stage is doing damage. People obsess over the inspection-to-sale number because that is where the salesperson "closes," but the biggest leak for most shops is the top: leads you never reach and appointments that no-show. A 14% lead-to-sale rate means you need 7.1 leads per signed job. Push the contact rate from 75% to 90% (faster callbacks, better follow-up) and you get 0.90 x 0.55 x 0.85 x 0.40 = 0.168, which is 5.95 leads per job. That one improvement cut your lead requirement by 16% without spending a dollar more on marketing.
This is the central lesson: improving a ratio is cheaper than buying more leads. Always run the funnel before you run the budget.
Speed-to-lead is a multiplier, not a nicety
The single most reliable way to lift the contact and set rates is responding fast. A lead contacted in the first few minutes is far more likely to convert than one called back the next day, because they are still in buying mode and have not yet filled out three competitors' forms. If your average first-response time is measured in hours, you are throwing away the top of your funnel. Before you increase lead spend, fix this. It is free and it changes the math.
Worked example 1: the $3M retail replacement shop
Let us build the full plan for a residential retail shop. No storm dependency, sells replacements and a few repairs.
Inputs (pulled honest from the books and CRM):
- Revenue goal: $3,000,000
- Average replacement job: $15,000
- Lead-to-sale rate: 14% (from the funnel above)
- Repairs handled in a separate, smaller funnel
Backward walk:
| Step | Math | Result |
|---|---|---|
| Jobs needed | $3,000,000 / $15,000 | 200 jobs |
| Inspections needed | 200 / 0.40 sign rate | 500 inspections |
| Appointments needed | 500 / 0.85 show rate | 588 appointments |
| Contacts needed | 588 / 0.55 set rate | 1,069 contacts |
| Leads needed | 1,069 / 0.75 contact rate | 1,425 leads |
So the same shop that looked like it needed 1,000 leads at a clean 20% close rate actually needs 1,425 leads at a realistic 14%. That difference, 425 leads, is the gap between hitting and missing $3M. It is also exactly why the honest close rate matters more than any other input.
Per-week reality: 1,425 leads / 50 working weeks is about 29 leads a week, producing 4 signed jobs a week, run by however many crews 200 jobs a year requires. If each crew installs about 50 jobs a year, you need 4 crews and a sales team that can run 10 inspections a week.
Worked example 2: the storm-restoration shop
Storm work breaks the flat model because demand is lumpy and the sales cycle is long. Same backward walk, different inputs and a very different calendar.
Inputs:
- Revenue goal: $4,000,000
- Average insurance restoration job (collected): $18,000
- Lead-to-sale rate: 12% (canvass-heavy, lots of "no damage" inspections)
Backward walk:
| Step | Math | Result |
|---|---|---|
| Jobs needed | $4,000,000 / $18,000 | 223 jobs |
| Leads needed | 223 / 0.12 | 1,858 leads |
But here is the storm twist: those 1,858 leads do not arrive evenly. A single qualifying hail event can hand you a season's worth of demand in three weeks, and the eight months around it can be thin. So the storm shop's real question is not "how many leads per month" but "how many qualifying roofs can I document and sign before the claim window and my competitors close it."
That reframes the whole exercise. For a storm shop, lead quality and timing dominate lead quantity. Knocking 1,858 random doors is brutal; knocking 1,858 doors on streets where roofs are both aging out and took the hail core is a different business. We will come back to that.
A note on what you can and cannot say on storm work
Since storm leads pull you toward insurance, keep your sales process on the right side of the line, because crossing it is how shops lose their license and their reputation. You and your crew may inspect the roof, document the damage thoroughly with photos and measurements, and prepare an accurate repair estimate aligned to standard pricing tools. You then hand that documentation to the homeowner. The homeowner files their own claim and the insurer decides coverage.
What you may not do, for a fee, is negotiate or "handle" the claim, interpret the homeowner's policy or coverage, promise a specific payout or approval, tell the homeowner their deductible will be waived or absorbed, advertise a "free roof," or represent the homeowner against their carrier. That last cluster is unlicensed public adjusting in most states and it is a fast way to a cease-and-desist. Train your canvassers on this do-not-say list before they touch a door. The safe, effective frame is simple: we document, we estimate, you file, the insurer decides. It converts fine and it keeps you legal.
Slicing the annual number into a real calendar
A flat "84 leads a month" target is a trap because roofing demand is seasonal almost everywhere. Late spring through fall is heavy; deep winter is light in cold climates. If you order leads evenly, you overpay in slow months and run short when crews are starving for backlog.
Build a seasonality index from your own last two or three years of signed jobs. Take each month's share of annual jobs and you get a weighting. A rough Northern-climate retail pattern might look like this:
| Month | Share of annual jobs | Leads of 1,425 |
|---|---|---|
| January | 4% | 57 |
| February | 4% | 57 |
| March | 6% | 86 |
| April | 9% | 128 |
| May | 11% | 157 |
| June | 11% | 157 |
| July | 10% | 143 |
| August | 10% | 143 |
| September | 11% | 157 |
| October | 10% | 143 |
| November | 8% | 114 |
| December | 6% | 86 |
Now account for the sales cycle lag. If your cycle is 30 days, the leads that produce May revenue need to arrive in April. Shift the lead targets one month earlier than the revenue you want them to create. For a 60-90 day storm cycle, shift two to three months. This is the step almost everyone skips, and it is why shops feel "behind" all summer: they started buying leads the month they wanted the money instead of the month before.
Use your own numbers, not mine. The shape matters more than the exact percentages, and a hail-driven shop's curve will be spiky around its storm history, not smooth like the table above.
How many leads per channel
Now split the requirement across sources, because no single channel can or should carry the whole load, and each one has a different cost, close rate, and reliability. Your blended 14% lead-to-sale rate is an average of very different channels.
| Channel | Typical lead-to-sale | Lead cost profile | Reliability | Notes |
|---|---|---|---|---|
| Referrals / past customers | High (often 40-60%) | Near zero hard cost | Steady but capped | Your best leads; you cannot scale them on demand |
| Door knocking / canvassing | Low per door, high per qualified | Labor cost | You control the volume | Quality depends entirely on which streets |
| Google LSA / PPC | Medium (15-30%) | Pay per lead/click | On demand, pricey | High intent, competitive cost |
| SEO / organic | Medium-high | Time, not cash | Slow to build, compounding | Cheapest at scale once ranked |
| Purchased shared leads | Low (5-12%) | Pay per lead | Instant but worst quality | Sold to 3-4 competitors; speed-to-lead is everything |
| Retargeting / direct mail | Low-medium | Per piece | Predictable | Works best on a targeted list, not blanket |
Build a channel mix table so each source has a quota. Example for the $3M retail shop needing 1,425 leads:
| Channel | Lead share | Leads | Lead-to-sale | Jobs |
|---|---|---|---|---|
| Referrals | 12% | 171 | 45% | 77 |
| Canvassing | 25% | 356 | 12% | 43 |
| LSA / PPC | 28% | 399 | 20% | 80 |
| SEO / organic | 20% | 285 | 18% | 51 |
| Direct mail (targeted) | 15% | 214 | 10% | 21 |
| Total | 100% | 1,425 | blended ~19% | 272 |
Wait, that produces 272 jobs against a 200-job goal. Good. You want your channel plan to overshoot the raw requirement by 20-35%, because some channels will underperform their assumed rate, some months will miss, and a buffer keeps you off the knife's edge. If your plan exactly hits 200, you will miss, because something always slips. Plan to 260-270 jobs of capacity to bank 200.
This table is also where you catch a bad investment. If purchased shared leads close at 8% and cost $90 each, that is $1,125 in lead cost per job before you pay a salesperson. Compare that to canvassing labor or SEO and you may decide to move the budget. Run the cost-per-job, not the cost-per-lead, on every channel.
The cost-per-job math that controls your budget
Leads cost money, and the only number that tells you whether a channel is worth it is cost per acquired job against your gross profit per job. Here is the chain:
- Cost per lead (CPL): what you pay for one lead in a channel
- Cost per job = CPL / lead-to-sale rate
- Marketing as % of revenue = cost per job / average job value
Worked example: PPC at $65 CPL, 20% lead-to-sale, $15,000 job.
- Cost per job: $65 / 0.20 = $325
- As % of revenue: $325 / $15,000 = 2.2%
That is healthy. Most roofing shops target total marketing spend somewhere around 8-12% of revenue across all channels, with the best-run retail shops often landing lower once referrals and SEO compound. Now run the bad channel: shared leads at $90 CPL, 8% close.
- Cost per job: $90 / 0.08 = $1,125
- As % of revenue: $1,125 / $15,000 = 7.5%
One channel at 7.5% of revenue is a budget hog. It might still be worth it to fill a slow month, but you should know the number and decide on purpose, not by default. Build a one-row calculation per channel and update it quarterly as your real close rates come in.
What pros get wrong
After enough of these planning sessions, the same mistakes show up again and again. Avoid these and you are ahead of most of your market.
1. Using the appointment-to-sale rate as the close rate. Covered above, but it is the number one error and it makes shops under-order leads by 30-50%. Always feed the lead-to-sale rate into the master equation.
2. Ignoring cancellations and the show rate. A signed contract is not a job. Storm shops especially see 10-20% of signed jobs cancel before install, often when the claim does not go the homeowner's way. If you cancel 15%, you need to sign 235 jobs to install 200. Add a cancel buffer to your jobs-needed number: jobs to sign = jobs to install / (1 - cancel rate).
3. Treating one annual number as a plan. Without the seasonal and sales-cycle shifts, you will start every busy season behind and panic-buy expensive leads in June.
4. No buffer. Planning to exactly hit the goal guarantees a miss. Build 20-35% overcapacity into the channel plan.
5. Buying more leads to fix a funnel leak. If your set rate is 35% because nobody calls leads back for four hours, doubling lead spend just doubles the leads you waste. Fix speed-to-lead and the inspection-to-sale process first.
6. One funnel for two products. Repairs and replacements have different job sizes, close rates, and lead sources. Mixing them produces a blended average that describes neither and plans for an imaginary business.
7. Forgetting capacity. Leads that produce more jobs than your crews can install on time turn into cancellations and bad reviews. Your lead plan and your crew plan have to match. If you can install 200 jobs, do not build a lead engine that signs 300; build one that signs 230 and protect your install quality.
A repeatable monthly operating rhythm
The plan is worthless if you only look at it in January. Run this loop every month and you will catch a miss while you can still fix it.
- Pull actuals. Leads, contacts, appointments, inspections, signed jobs, cancellations, collected revenue. Pull them by channel.
- Recompute the four ratios on the trailing 90 days. Ratios drift. A salesperson who left can drop your inspection-to-sale rate five points overnight.
- Compare to the seasonal target for the month, shifted for sales cycle.
- Find the worst-performing stage and the worst-performing channel. Fix the stage; reallocate the channel budget.
- Re-forecast the rest of the year with the updated ratios. If you are tracking 10% behind in April, you need the corrected lead number now, not a discovery in September.
A simple scoreboard, even a spreadsheet, with these rows updated monthly is worth more than any expensive dashboard you never read.
When more leads is the wrong answer
Here is the uncomfortable part. Past a certain point, buying more leads has a terrible return because you are paying to talk to homeowners whose roofs are not ready, who already replaced last year, or who took no real damage. Every dead lead costs you a phone call, a drive, and an inspection slot a real prospect could have used. The lever that beats "more leads" is better-targeted leads: spending your canvassing hours, mail pieces, and ad dollars on the roofs most likely to actually convert.
Two things make a residential roof likely to convert: it is aging out of its service life, and it took a real storm hit. A 22-year-old asphalt roof that sat under the core of a hail event is a far better door than a 6-year-old roof three miles from the storm track. The problem is you usually cannot see either signal from the street, so canvassers knock blind and your close rate sits at the bottom of the range.
This is the gap RoofPredict is built for. It estimates a roof-age range per address from aerial imagery and models storm exposure per individual roof, then ranks addresses so your crews work the doors where age and storm damage line up. It can also enrich a list you already own, your CRM, a farm area, a storm footprint, with those roof-age and storm signals, so the mail piece and the knock land on the roofs that are actually due. Used this way, the same canvassing labor produces more qualified inspections, which lifts your lead-to-sale rate, which, per the master equation, lowers the number of leads you need to hit the same revenue. That is the whole point: you are not buying more leads, you are wasting fewer.
A few honest limits, because the math only works if you trust the inputs. The age is a range, not a build date off a permit, so treat a "likely 18-24 years" as a strong prioritization signal, not a guarantee. The storm exposure is modeled odds, not proof of damage; the roof still has to be inspected and documented before anyone talks about an estimate. And targeting does not replace a good sales process. If your set rate and show rate are broken, better doors will not save you. RoofPredict tightens the top of the funnel by pointing you at the right roofs; you still have to run the inspection, document honestly, and let the homeowner and the insurer do their parts. Within those limits, prioritizing which roofs are due is usually a better dollar than buying another batch of shared leads.
Quick-start checklist
Run this in an afternoon and you will have a real lead number instead of a guess.
- Write down your revenue goal and confirm it is stated as collected revenue (convert from profit if needed).
- Pull your trailing-12-month average and median job value, split by product type, commercial pulled out.
- Compute your true lead-to-sale rate from the CRM, not the appointment close rate.
- Break it into the four ratios: contact, set, show, sign. Find your weakest stage.
- Run the backward walk: jobs, inspections, appointments, contacts, leads.
- Add a cancel buffer to jobs-to-sign and a 20-35% capacity buffer to the plan.
- Slice the annual lead number by your own seasonality index.
- Shift lead timing earlier by your sales-cycle length.
- Assign each channel a lead quota and compute cost-per-job for each.
- Check that your crew capacity can install the jobs the plan produces.
- Set a monthly review to recompute ratios and re-forecast.
Do this once and the question that opened all this, how many leads do I need, stops being a shrug and becomes a number you can defend, manage, and beat.
Build the calculator once, reuse it forever
You do not need software for this. A single spreadsheet tab with the inputs at the top and the backward walk below it will outlast any tool you buy. Here is the layout I hand contractors so they can stop redoing the math each year.
Input block (the cells you change):
- Revenue goal (collected)
- Average job value (weighted, by product line)
- Lead-to-contact rate
- Contact-to-appointment (set) rate
- Appointment-to-inspection (show) rate
- Inspection-to-sale (sign) rate
- Cancel rate
- Capacity buffer %
- Sales-cycle length in days
Calculated block (formulas off the inputs):
- Jobs to install = Revenue goal / Average job value
- Jobs to sign = Jobs to install / (1 - cancel rate)
- Inspections = Jobs to sign / sign rate
- Appointments = Inspections / show rate
- Contacts = Appointments / set rate
- Leads (raw) = Contacts / contact rate
- Leads (with buffer) = Leads (raw) x (1 + capacity buffer)
Lock the formulas, leave the input cells open, and now anyone in the office can answer "what if we want $4M instead of $3M" or "what happens if our close rate drops two points" in ten seconds. That second question matters more than the first, which is the next thing to build.
Run the sensitivity table
The most useful thing a spreadsheet does here is show you which input to protect. Build a small grid that varies your two scariest inputs, average job value and lead-to-sale rate, and watch the lead requirement move. For the $3M shop:
| | Close 10% | Close 14% | Close 18% | Close 22% |\n|---|---|---|---|---|\n| $12,000 job | 2,500 | 1,786 | 1,389 | 1,136 |\n| $15,000 job | 2,000 | 1,429 | 1,111 | 909 |\n| $18,000 job | 1,667 | 1,190 | 926 | 758 |\n\nLook at the spread. At a $15,000 job, moving your close rate from 14% to 18% drops your lead need from 1,429 to 1,111, a 318-lead swing. Raising your average job by $3,000 at a fixed 14% close moves you from 1,429 to 1,190. Both levers are powerful, and both are usually cheaper than buying 300 more leads. The table tells you where to spend your attention: protect the close rate and the job value first, then fill the remaining gap with volume.
Leads, prospects, and opportunities are not the same thing
A lot of confusion in these conversations comes from one word doing four jobs. Before you trust any benchmark someone quotes you, pin down the definition, because a "lead" at one shop is a different animal than a "lead" at another.
- A raw lead is any inbound contact or knocked door with a name attached, including the junk.
- A qualified lead has a real roof problem, owns the home, and is inside your service area.
- An opportunity is a qualified lead that agreed to an inspection.
- A deal is a signed contract.
When a marketing vendor says they deliver leads at a 25% close rate, ask which definition they are using. If they mean qualified leads they pre-screened, the rate is believable. If they mean every form fill including the renters and the wrong zip codes, 25% is fantasy. Standardize your own definitions in the CRM so your trailing-12-month rate means something. The master equation uses raw leads in the denominator on purpose, because raw leads are what you pay for and plan around. Just make sure the rate you pair with it uses the same denominator.
A note on commercial and the long sales cycle
Commercial roofing breaks the residential model in two ways and deserves its own funnel entirely. The job values are large and uneven, and the sales cycle stretches to months or quarters because of bidding, specs, and decision committees. If commercial is part of your revenue goal, do not blend it into the residential lead plan.
Run a separate, much lower-volume funnel for it. A commercial shop might need only a handful of leads per signed job because the leads are relationship-driven bids rather than cold inbound, but each lead takes far more time and the cycle from first contact to signed contract can run 90 to 180 days. The practical consequence: the commercial leads that produce next year's first-quarter revenue need to be in your pipeline this fall. Plot the cycle backward on a calendar and you will see that a commercial number is won or lost two quarters before the money lands. Mixing this into a flat monthly residential lead target is how shops end up with a feast-or-famine commercial line that nobody planned.
Tracking the numbers without a data team
You do not need a business intelligence stack to run this. You need five fields filled in consistently on every lead, every time:
- Source/channel (where it came from)
- Date received (for speed-to-lead and cycle tracking)
- Stage (lead, contacted, appointment set, inspected, signed, cancelled, lost)
- Job value (estimate at inspection, contract at signing, collected at close)
- Product line (repair, replacement residential, commercial, storm)
If every lead carries those five fields, every ratio in this piece falls out of a pivot table. The reason most shops cannot compute their true close rate is not that the math is hard, it is that half their leads never got entered and the other half are missing a source or a stage. Discipline on data entry is the unglamorous foundation under the whole plan. Make it a non-negotiable part of how leads are handled, ideally automated at intake so a human cannot skip it.
The weekly scoreboard
Between the deep monthly review, keep a tiny weekly scoreboard the whole team can see: leads in, appointments set, inspections run, jobs signed, and revenue signed, against the weekly target derived from your seasonal plan. Five numbers, posted where the sales team works. The point is early warning. If week three of a heavy month is tracking 40% of where it should be, you have three weeks to react rather than finding out at month-end that you missed. The scoreboard is also a coaching tool: when the set rate dips, you can hear it on the call recordings and fix it the same week instead of the next quarter.
Worked example 3: the small shop chasing its first $1M
The math scales down cleanly, and small shops often need it most because every wasted lead dollar hurts more. Say a two-crew shop wants its first $1,000,000 year. Average job $14,000, honest lead-to-sale rate 16%.
| Step | Math | Result |\n|---|---|---|\n| Jobs to install | $1,000,000 / $14,000 | 72 jobs |\n| Jobs to sign (10% cancel) | 72 / 0.90 | 80 jobs |\n| Leads needed (raw) | 80 / 0.16 | 500 leads |\n| Leads with 25% buffer | 500 x 1.25 | 625 leads |\n\nSix hundred twenty-five leads to confidently bank $1M. That is about 12 leads a week. For a small shop, that number is reachable almost entirely through referrals, targeted canvassing, and a tight local SEO presence, with little or no spend on purchased leads. The lesson for the small shop: at this volume you do not need to buy your way to the goal, you need to maximize the close rate on a modest number of well-chosen doors. A small shop knocking the right 625 doors will beat a bigger competitor blasting 1,500 random ones, because the small shop's whole pipeline is qualified.
How storm seasons change the plan mid-year
Storm-driven shops have to be willing to throw out the calendar. You can build the most careful seasonal plan in the world and then a single supercell rewrites your year in an afternoon. The discipline is different from retail: instead of a smooth monthly lead quota, you run a baseline retail-style plan for the non-storm months and keep a surge playbook ready to execute the moment a qualifying event hits your market.
The surge playbook is about speed and focus. When hail lands, the roofs that took the core of the storm and are already aging out are the doors that convert, and the window before competitors and the homeowner's claim deadline closes is short. The shops that win storm seasons are not the ones with the most canvassers, they are the ones who get the right canvassers to the right streets first, with clean documentation discipline so every qualifying roof is photographed and measured properly the same day. This is exactly where per-roof storm modeling and roof-age data earn their keep: the morning after a storm, the question is not "where did it hail" in general but "which specific roofs in the hail footprint were already worn enough to have real, documentable damage." Aim the surge there.
Keep the compliance frame airtight during a surge, because that is when pressure tempts crews to overpromise. Document and estimate; let the homeowner file and the insurer decide. No promised payouts, no "we'll get your deductible covered," no "free roof." A surge that generates a pile of complaints or a regulator's attention is worse than a slow season.
Putting a dollar figure on a wasted inspection
One number reframes the whole "more leads versus better leads" debate: the fully loaded cost of an inspection that goes nowhere. Add up the salesperson's time to drive out, climb the roof, write it up, and follow up, plus the windshield time and the opportunity cost of the slot. For most shops that lands somewhere between $75 and $200 per inspection in real cost, and far more if you count the deals your best closer could not run because they were on a dead roof.
Now multiply by your no-sale inspections. If you run 500 inspections to sign 200 jobs, that is 300 inspections that did not close, at, say, $150 each, roughly $45,000 a year spent looking at roofs that were never going to sign. Some of that is unavoidable, you have to inspect to sell. But a meaningful slice of it is roofs you should never have visited: too new, no damage, wrong fit. Cutting your no-sale inspections by even a third by targeting better is real money straight back to the bottom line, and it frees your closers to spend their hours on roofs that are actually due. That is the practical case for spending on targeting before spending on raw volume.
Why the close rate beats the lead count, one more time
If you take only one idea away, make it this: every point you add to your lead-to-sale rate is worth more than the leads it saves you, because it compounds across the entire funnel and costs nothing per unit once the process is fixed. Buying leads is linear, you pay for each one. Fixing a ratio is leverage, you fix it once and every future lead converts better. A shop that drills its callback time, tightens its inspection-to-sale pitch, and stops driving to roofs that were never going to buy will quietly need fewer leads every year while its competitors keep buying their way out of a leaky funnel. That is the whole game, and the spreadsheet above is just the scoreboard that keeps you honest about it.
The short version
Leads needed equals your revenue goal divided by average job value divided by your honest lead-to-sale close rate. Get the close rate right by breaking it into contact, set, show, and sign, then fix the weakest stage before you spend a dollar on more leads. Slice the annual number by your own seasonality, shift it earlier by your sales cycle, give every channel a quota and a cost-per-job, and build in a buffer because something always slips. And when buying more leads stops paying off, the next gain comes from aiming your existing effort at the roofs that are actually due, the ones aging out and the ones the storm wore down. That is the difference between hoping for $3M and planning for it.
FAQ
What is the simplest formula for how many roofing leads I need?
Leads needed equals your revenue goal divided by your average job value, then divided by your lead-to-sale close rate. For example, a $3,000,000 goal with $15,000 average jobs and a 14% lead-to-sale rate works out to 200 jobs and about 1,425 leads. The only tricky input is using the true lead-to-sale rate rather than the higher appointment-to-sale rate.
What close rate should I use in the calculation?
Use your lead-to-sale rate: signed jobs divided by total leads entered, over a trailing 12 months. Most contractors mistakenly use the appointment-to-sale rate, which only counts inspections that actually happened and is far higher. Using the appointment rate makes you under-order leads by 30 to 50 percent, which is the single most common planning error.
What is a typical lead-to-sale conversion rate for roofing?
It varies by channel and is a blended average. Referrals can close at 40 to 60 percent, paid search around 15 to 30 percent, and purchased shared leads often only 5 to 12 percent. A typical blended retail shop lands somewhere around 12 to 20 percent lead-to-sale. Compute your own from the CRM rather than borrowing a benchmark.
How do I turn my annual lead goal into a monthly plan?
Do not divide evenly. Build a seasonality index from your own last two or three years of signed jobs, giving each month its real share of the annual total, then apply those weights to your annual lead number. After that, shift the lead targets earlier by your sales-cycle length so leads arrive in time to produce the revenue you want in a given month.
How many leads do I need per job?
Divide one by your lead-to-sale rate. At a 14 percent rate you need about 7.1 leads per signed job; at 20 percent you need 5. Improving any stage of the funnel, especially contact and set rates through faster lead response, lowers this ratio and cuts your total lead requirement without spending more on marketing.
How big a buffer should I build into my lead plan?
Plan your channel mix to produce 20 to 35 percent more jobs than your raw requirement. Some channels underperform their assumed close rate, some months miss, and signed jobs cancel before install. If you plan to exactly hit your goal you will miss it, because something always slips. Also add a separate cancel buffer when converting jobs-to-install into jobs-to-sign.
How do I budget lead spend across channels?
Calculate cost per acquired job for each channel, not cost per lead: divide the cost per lead by that channel's lead-to-sale rate. A channel at $65 per lead and 20 percent closes jobs at $325 each; a channel at $90 per lead and 8 percent costs $1,125 per job. Compare each against your gross profit per job and aim for total marketing in the range of 8 to 12 percent of revenue.
Should repairs and replacements use the same lead calculation?
No. They have different average job values, close rates, and lead sources, so a blended average describes neither. Build a separate funnel for each product line, with its own job value and lead-to-sale rate, then add the lead requirements together. Pull commercial jobs out too, since one large commercial project can distort your residential average.
Is buying more leads always the way to hit a higher revenue goal?
Not past a certain point. Beyond a threshold you pay to talk to homeowners whose roofs are not ready or took no real damage, and each dead lead burns an inspection slot. Better-targeted leads, aimed at roofs that are aging out and that took a genuine storm hit, raise your close rate, which by the formula lowers the number of leads you need for the same revenue.
How does targeting roofs by age and storm exposure change the math?
Targeting raises your lead-to-sale rate by sending crews to doors more likely to convert. Tools like RoofPredict estimate a roof-age range per address from aerial imagery and model storm exposure per roof, then rank or enrich your list so effort lands on roofs that are due. A higher close rate means fewer leads are needed to hit the same goal. Note the age is a range and the storm exposure is modeled odds, so roofs still must be inspected and documented before any estimate.
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.
Sources
- National Roofing Contractors Association — nrca.net
- Insurance Institute for Business & Home Safety (IBHS) — ibhs.org
- NOAA Storm Prediction Center — spc.noaa.gov
- National Weather Service — weather.gov
- NOAA National Centers for Environmental Information - Storm Events Database — ncdc.noaa.gov
- U.S. Bureau of Labor Statistics - Roofers — bls.gov
- Federal Trade Commission - Advertising and Marketing Basics — ftc.gov
- International Code Council - International Residential Code — iccsafe.org
- Occupational Safety and Health Administration - Roofing — osha.gov
- U.S. Census Bureau - American Housing Survey — census.gov
- Texas Department of Insurance - Public Adjusters — tdi.texas.gov
- U.S. Small Business Administration - Marketing and Sales — sba.gov
- National Association of Insurance Commissioners — naic.org
- RoofPredict — roofpredict.com
Related Articles
How to Fill a New Roofing Crew's Schedule From Scratch
You hired the crew, bought the trucks, and now Monday is empty. Here is the exact playbook owners use to go from zero booked jobs to a full board.
Reduce Roofing Canvasser Turnover by Improving Door Quality
Most roofing canvasser turnover is not a hiring problem or a coaching problem. It is a door-quality problem. Fix the list and the people stay.
How to Compete Against National Roofing Franchises Locally (Without Burning Cash)
National franchises win on ad budget and brand recognition. You win on speed, local trust, route density, and knowing exactly which roofs are due. Here is the operational playbook.