← Field Notes
Roofing crew gathered before sunrise, illustrating the true roofing crew cost per day

The Real Cost of Running a Roofing Crew Per Day

The cost to run a roofing crew starts before the first shingle goes down. Here is the break-even number every roofer should know before scheduling a job.

By ZephEdited by Shareef Huddle7 min read

You know what a $12,000 roof costs to bid.

Materials. Labor. Overhead. Profit target. You could recite it standing in the driveway.

Ask what it costs to put that same crew on that same roof for one day, before a single shingle goes down, and the answer gets fuzzy fast.

Most contractors cannot tell you. Not because the math is hard. Because nobody ever ran it.

Here is what that blind spot looks like on a Tuesday:

  • •A crew sits half a day waiting on a permit, and nobody adds up what that morning actually cost.
  • •A job gets pushed a week "because it is slow anyway," with no number attached to what slow actually costs per day.
  • •A callback eats a full crew day, filed under "cost of doing business" instead of a dollar figure.
  • •Two jobs get double-booked on the same crew, and one gets bumped without anyone running what the bump costs.
  • •Rain cancels a day, and the only number anyone tracks is the lost revenue, not the overhead that kept running anyway.

None of that is bad scheduling. It is scheduling without a number to schedule against.

The Number Nobody Runs Before the Job Starts

There are two numbers in this business. Most owners only track one.

The first is the bid number. What you charge for the job. Materials, labor, margin, done. Every roofer alive can tell you this number before lunch.

The second is the crew-day number. What it costs your company to have that crew exist for one day, whether they nail a single shingle or not. Almost nobody tracks this one.

The bid number tells you what a job is worth. The crew-day number tells you what a day of doing business costs, period, and it sits right next to the gap between what you bid and what you keep.

Skip the second number and every scheduling decision becomes a guess dressed up as instinct. Push a job back a week? Feels fine. Let a crew sit half a day on a delay? Feels like bad luck, not a bill.

It is a bill. You just never wrote it down.

What It Actually Costs to Put a Crew on a Roof for One Day

The math is simple. Four numbers, added together, for one crew, for one day.

  1. 01.

    Labor, fully loaded.

    Not the wage on the paycheck. Wages plus payroll tax, workers comp, and any benefits you cover, for everyone on that crew, for one eight-hour day.
  2. 02.

    Fuel and vehicle cost.

    Truck payment or lease divided across working days, plus fuel and routine maintenance for that crew's vehicle on an average day.
  3. 03.

    Insurance, allocated daily.

    Take your annual general liability and workers comp premiums and divide by working days in the year. That crew carries its share whether the truck moves or not.
  4. 04.

    Overhead, allocated per crew.

    Office, admin, software, marketing, your own salary. Take total annual overhead, divide by total crew-days available across the year, and every crew carries a slice daily, on the roof or in the yard.

Add those four and you get one number: what that crew costs to exist for a day. Not what the job pays. What the day costs, independent of the job.

Here is that math run on one example company. A three-person crew at $30 an hour fully loaded runs $720 for an eight-hour day. The vehicle costs $80 a day in payment, fuel, and maintenance. Annual insurance of $14,000 divided across 250 working days is $56 a day. Total annual overhead of $150,000, divided across three crews working 250 days each, is $200 a day per crew.

$720 plus $80 plus $56 plus $200. That crew costs $1,056 to exist for one day.

Plug in your own numbers and the total will move. The four categories will not.

What This Number Changes About Scheduling Decisions

Go back to the pain bullets from the top of this post. Same five scenarios. Run each one against $1,056.

  • •A crew sits half a day waiting on a permit. — That is not a scheduling inconvenience. That is $528 spent standing in a driveway, and the number tells you whether it is worth pushing the department for a same-day inspection instead.
  • •A job gets pushed a week "because it is slow anyway." — Slow now has a price. Every idle crew-day during a slow stretch costs $1,056, whether or not anyone noticed.
  • •A callback eats a full crew day. — That callback did not just cost the material and labor to fix it. It cost $1,056 in crew existence, on top of whatever caused the callback in the first place.
  • •Two jobs get double-booked and one gets bumped. — Bumping a job to keep two crews moving instead of one idle crew and one job pushed a week is a $1,056 decision, not a scheduling shrug.
  • •Rain cancels a day. — The crew still costs $1,056 whether they are on a roof or in a truck cab. That is the real argument for a rain-day contingency built into pricing, not an excuse absorbed silently.

None of these decisions get easier because you know the number. They get honest. You stop guessing whether a delay is a big deal and start deciding with the number in front of you instead of a feeling in your gut, the same way the math behind what a missed call actually costs turns a shrug into a real number.

That is the value of running this number. Not a lower cost. A real one.

What Happens When You Do Not Know This Number

Run $1,056 out across a year and the stakes change.

A crew with twenty idle or underused days a year, whether from rain, permit delays, callbacks, or slow-season gaps, burns $21,120 in crew-day expense that produced nothing. That number never shows up as its own line item. It hides inside a lower net margin nobody investigated further.

Without it, hiring a second crew is also a guess. You will not know what eight more hours of daily crew exposure actually costs until it is already on payroll.

Same with rush pricing. Quote a same-day job without knowing what a compressed day costs in overtime and vehicle wear, and the "rush fee" you charge is a policy dressed up as math, not the other way around.

This number does not stop rain, callbacks, or slow stretches from happening. It tells you what they are actually costing while they happen, instead of after January, when the bank account does the telling for you.

►Does the crew-day number include material costs?

No. Materials belong to the job, not the crew's existence. This number is what it costs to have the crew show up and exist for a day, independent of what gets installed. Material cost still gets calculated separately on every bid.

►What counts as overhead in the daily allocation?

Office rent or mortgage, admin salaries, software, marketing spend, and your own compensation if you pay yourself a real salary. Take the annual total and divide by total crew-days available across the year. Every crew carries its share, whether that crew is on a roof or sitting in the yard.

►How is this different from job margin?

Job margin measures what a specific job made after every cost tied to that job. The crew-day number measures what a crew costs to exist for one day, regardless of which job it touches. Margin answers "did this job pay." This number answers "what did today cost."

►What do I do with this number once I have it?

Use it to price delays, rush jobs, and callbacks with real numbers instead of guesses. Use it to decide whether an idle day is a minor inconvenience or an expense worth fixing. Run it against your last twenty crew-days and see how much of that total went toward nothing.

This number cuts two ways. A crew that costs $1,056 a day and stays booked pays that number back many times over. A crew that costs $1,056 a day and sits idle is pure expense with nothing to show for it. Knowing the number does not fill the calendar. It tells you exactly what an empty day already cost you, and exactly what a full one is worth.

Own Your Market

Ready to Be the Roofer Homeowners Find First?

The Search-to-Booked Roofing System™ gets you found, called, and booked. Start with the free scorecard or claim your market before a competitor does.

One Roofer Per Market. No long-term contracts.