What Separates a $2M and a $5M Roofing Company

August 3, 2026
Blog Thumbnail

Every roofing company stuck at $2M has a theory about what is holding it back. Not enough leads. Not enough crew. The market is tighter than it used to be. Usually the real answer is less dramatic and more uncomfortable: five or six ordinary things are each running at seventy percent instead of ninety, and the gap between $2M and $5M is what happens when an owner finally goes through and tightens all of them at once.

Production Capacity Gets Confused With Crew Size

The first assumption most owners make is that growth requires more crews. Sometimes that is true. More often, the company already has enough install capacity sitting in its existing schedule and is simply not using it well.

Start with backlog. A healthy backlog means jobs are lined up far enough ahead that a crew never finishes one and has nowhere to go next. An unhealthy backlog looks similar from the outside: plenty of signed jobs, but is actually a sign that production cannot keep pace with sales, which creates its own kind of ceiling further down the line. Neither extreme is obvious from a glance at the calendar. It shows up in job throughput, how many roofs a crew actually completes in a month compared to how many they are scheduled for, and most $2M companies have never measured that number at all.

The reasons throughput lags are rarely dramatic. Weather pushes a job two days. A material order arrives short. A homeowner is hard to reach to confirm a start date. Individually, these look like normal friction. Added up across a season, they are hours of paid crew time with nothing to build, and there is rarely anyone whose actual job is to notice the pattern and reroute a crew before the day is lost.

That is usually the real difference at $5M. Somewhere in the growth, a production manager role gets created, sometimes formally, sometimes just as a set of responsibilities one person quietly owns. Scheduling stops living in someone's head or a shared calendar and starts running through a system, whether that is a dedicated production module inside a roofing CRM or just a disciplined weekly process someone is accountable for. The crews are frequently the same size. What changed is that idle hours get caught and reassigned instead of absorbed as a cost of doing business.

Estimating Discipline Compounds Quietly

At $2M, estimates often live in someone's head, adjusted job by job based on gut feel about the homeowner, the competition, or how slow the month has been. That flexibility feels like an advantage. It is actually a margin leak that is nearly impossible to see until someone lines up gross margin across a season of jobs and finds two similar roofs priced ten or fifteen points apart for no reason anyone can explain.

Supplements and change orders make this worse before it gets better. A company without a consistent process for capturing supplement revenue on insurance jobs is quietly giving away margin it already earned, work performed but never billed because nobody had a standard for tracking it. Proposal consistency closes a version of the same gap on the retail side, where two homeowners buying nearly identical jobs should not receive proposals built on completely different logic depending on who happened to write them.

Companies that cross into the $5M range tend to tighten this without necessarily calling it a policy. Pricing gets standardized. Supplements get tracked as a matter of course rather than an afterthought. None of that requires new estimating software, though tools built for the trade can help. It requires deciding that pricing consistency matters as much as winning the job in front of you.

Hiring Stops Being Reactive

The labor shortage in roofing is real, but it is not evenly distributed. It hits hardest at companies that only start recruiting the moment someone quits or a big job makes the current crew count feel too thin. By the time that search starts, the company is already behind, and it tends to fall behind exactly during the busiest stretch of the year, when there is no time to onboard anyone properly even if a good candidate says yes.

A recruiting pipeline solves this quietly rather than dramatically. It just means candidates are being talked to on an ongoing basis, whether or not there is an open seat that week, so a resignation becomes an inconvenience instead of an emergency that stalls three jobs. The other half of the equation is retention, since a pipeline stops mattering much if the same people keep leaving within a year. Onboarding that actually sets expectations, rather than handing a new hire a ladder and a job site address, tends to be the cheapest retention fix available and the one most often skipped.

Marketing Consistency Beats Marketing Intensity

There is an obvious, tempting logic to cutting marketing spend the moment production gets busy. The crews are full. Why keep paying for leads nobody has time to install yet? That logic is exactly backward, because the leads generated this month are the jobs that get built two months from now, and pausing spend during a busy stretch just guarantees a gap in the pipeline right when the crews finally have room again.

Owners at $2M often treat marketing the way they treat hiring: reactive, ramped up when the pipeline looks thin and quietly ignored when things are busy. That creates a lead flow with an irregular heartbeat, feast some months, drought others, and a sales team that never quite calibrates to either. Roofing companies that get past $3M tend to keep marketing running at a steady baseline regardless of how busy production currently is, which is a less exciting habit than any individual campaign but a far more reliable one.

The Follow Up Layer Still Matters, It Is Just Not the Whole Story

None of the above matters if the leads a roofing company already generates are not getting a real response. This is one piece of the puzzle, not the entire explanation, but it is worth naming because it is the piece most owners never actually audit. A missed call during a job walk, a web form that sits until the next morning, a text that gets answered a day later... These do not show up as a loss on any report. They just quietly become a job at a competitor instead.

This is the layer Alivo was built to address, responding to every call, text, and web form in under 20 seconds so marketing dollars are not lost before someone on the team can engage. It does not replace tighter estimating, better scheduling, or a real hiring pipeline. It closes one particular leak that tends to run alongside the others.

The $5M Company Is Not a Bigger Version of the $2M Company

It is a tighter one. Same trade, often a similar size crew, sometimes even similar marketing spend. What changes is that fewer things are running at seventy percent. Production is scheduled instead of improvised, usually with someone accountable for the schedule and a real sense of install throughput. Estimates are consistent instead of gut feel, with supplements tracked instead of quietly written off. Hiring runs ahead of need instead of behind it, with retention treated as seriously as recruiting. Marketing holds steady instead of swinging with the season. None of this requires an elaborate system of dashboards and KPIs, though a company that size usually has settled on a few numbers it actually watches. It just requires someone deciding that the basics deserve the same discipline the big decisions get.

If you want a closer look at how much revenue typically leaks through that last piece specifically, the Speed to Lead guide walks through the math in more detail. But it is one input among several, and treating it as the whole answer is exactly the kind of oversimplification that keeps a company circling $2M longer than it needs to.

About the Author

Matthew Sanborn is a Process Specialist at Alivo, an AI lead engagement platform for roofing and home improvement contractors. His work includes regular conversations with roofing companies evaluating and operating CRM and lead-response systems.

Alivo — CTA (embed)

Ready to Put AI Agents
to Work?

Get a personalized demo and see exactly how Alivo will work for your roofing business.

Go live with your custom trained AI agents within days, not weeks.