Stop Bidding Roofs in Days — Bid Them in Hours
On the list of fires: “hours, not days”
Module 10 · Estimating & Takeoff · Play 4 of 5
In a hurry? ↓ Do this this week
The problem in one breath
You looked at it and said "that's a two-day roof." It took three. The crew rolled onto the next job a day late, that homeowner called twice wondering where everybody was, and the labor line in your bid was wrong before the first bundle came off the truck.
Why it happens
A day is not a unit of work. Six men for one day and two men for three days are the same labor and they are nowhere near the same number in your bank account, but "two days" hides which one you meant. So the labor line gets set by memory — the last roof that felt like this one — and memory conveniently forgets the day the crew lost to the steep back side, or the two hours spent carrying bundles around a fence. Nobody ever compares the guess to the timesheet afterward, so the guess never gets any better.
The play
- Price labor in crew-hours per square — two numbers, not one. How many man-hours it takes to lay one square, and how many it takes to strip one square of one layer. Keep them apart: the laying happens once no matter what, and the stripping happens again for every layer up there. Squares times those two gives you hours; hours times what an hour costs you gives you the labor dollars on the bid.
- Use what an hour actually costs you, not the wage. A man's hourly cost to your company is his wage plus everything you pay on top of it. Your bookkeeper or your payroll service can hand you that loaded number in about ten minutes, and it's the only one worth estimating with — the raw wage will under-price you on every roof you ever bid.
- Get both numbers off your own jobs, not out of a book. Pull the last three roofs. Squares from the takeoff sheet (M10-01), hours from the timesheets — and split each roof's hours the way the crew actually worked it: tear-off day and install day. Tear-off hours divided by squares divided by layers is your strip number; install hours divided by squares is your lay number. Do all three roofs and take the middle of each. Those two beat any number somebody else will sell you.
- Price the things that slow a roof down separately from its size. Steep pitch means harnesses, staging and a crew that moves at half speed. Two stories means every bundle gets carried further. A cut-up roof means cutting instead of running. Tight access, no dumpster spot, a long carry from the drive — all hours, none of them squares. The takeoff sheet has a cell for exactly this, next to the layer count: put the extra hours in there on the roofs that have them, instead of pretending an average covers it or quietly inflating a rate you set once a season.
- Hand the crew the hours, then read the timesheet. Tell the foreman what the roof was bid at — "this one's forty-eight man-hours" — so he knows what he's working against. Then at the job debrief (M3-01) put the real hours next to the bid hours. Where they split is where your estimating is wrong, and it's the cheapest lesson in the whole business.
Do this this week
Pull the timesheets from the last three roofs and the squares from those same three jobs. Split each roof's hours into tear-off and install, work out the two rates, and write the six answers on one piece of paper. Take the middle of each and put them in the takeoff sheet's two crew-hours cells — install hours per square, and tear-off hours per square per layer. You just replaced a guess you have been carrying for years with numbers off your own trucks.
The tool
No spreadsheet. The takeoff sheet (M10-01) has a cell for each of the two rates, one for the extra hours a hard roof costs you, and your loaded hourly cost — and turns them into the labor dollars the job-cost sheet needs. This card is how you build those rates in the first place and keep them honest:
HOURS ON THIS ROOF — the labor number, built from your own jobs
YOUR TWO BASE NUMBERS (redo them every season)
LAY job 1 ____ / job 2 ____ / job 3 ____ install hrs per square
(install hours ÷ squares) middle one -> ____ hrs/sq
STRIP job 1 ____ / job 2 ____ / job 3 ____ tear-off hrs per square PER LAYER
(tear-off hours ÷ squares ÷ layers) middle one -> ____ hrs/sq/layer
loaded cost per hour $____
THIS ROOF
____ squares x ____ lay hrs/sq = ____ hrs
____ squares x ____ strip hrs/sq/layer x ____ layers = ____ hrs
add hours for: [ ] steep [ ] 2-story [ ] cut-up
[ ] long carry / tight access + ____ hrs
(this goes in the sheet's EXTRA HOURS cell)
TOTAL MAN-HOURS ____ x $____ /hr = LABOR $__________
Tell the foreman the hours before he starts. Compare to the timesheet at the debrief.
If your crew is 1099
Subs get paid by the square, not by the hour, so their pay isn't what this number is for — you still need it, because it's how you know whether a roof takes one day or three when you're promising homeowners start dates. Bid the sub price the sub quoted, keep your own hours number for scheduling, and don't start assigning a sub crew hours or a clock. That's the line between hiring a crew and running one.
M10-04 · Stop Bidding Roofs in Days — Bid Them in Hours — Roofer MBA, https://roofermba.com/plays/estimating/hours-not-days
The one thing
Do this this week
Pull the timesheets from the last three roofs and the squares from those same three jobs. Split each roof's hours into tear-off and install, work out the two rates, and write the six answers on one piece of paper. Take the middle of each and put them in the takeoff sheet's two crew-hours cells — install hours per square, and tear-off hours per square per layer. You just replaced a guess you have been carrying for years with numbers off your own trucks.
Take it with you
One email unlocks this and every other sheet and card on the site. The plays stay free.
Same fire
You're bidding off a gut number and a guess at the squares
- M10-01count the squares
- M10-02the waste you already bought
- M10-03what's under the shingles
- M10-04hours, not days — you’re here
Fixed this?
Measuring the roof sets what you order. What the job actually ate is the only thing that tells you whether the waste on that takeoff was ever true.
The fire right behind it is usually The material bill came in over the bid and nobody can say why.