Skip to content

Roofing Production Rates: Tracking Squares per Crew-Day to Bid and Schedule Better

Roofing Production Rates: Tracking Squares per Crew-Day to Bid and Schedule BetterA roofing production rate is the number of squares a crew installs per day, and it is the single most useful number a roofing company can know about itself. One square equals 100 square feet of roof. If you know your crews average 14 squares per day on a simple 6/12 asphalt re-roof, you can price labor accurately, schedule jobs honestly, and spot a losing job in week one instead of at closeout.

Most roofers carry a production rate in their heads or borrow one from a supplier's chart. The better move is to measure your own, from your own crews, by roof type, using time records and completed squares. This guide covers how to collect that data, how to calculate usable rates, what factors change them, and how to use them in bids and schedules. It builds on the daily operating routines in the roofing project manager role guide.

All numbers below are illustrative examples. Your rates will differ by crew, region, materials, and roof complexity, which is the reason to measure them.


What a Production Rate Actually Measures

There are two common ways to express production, and you need both.

Squares per crew-day. How many squares a crew installs in a standard working day. Easy to schedule with, but it hides crew size differences.

Labor hours per square. Total paid labor hours divided by squares installed. This is the number that drives your bid, because labor cost is hours times your loaded wage rate.

Example:

  • A 4-person crew works 8 hours on a 30-square roof and finishes in 2 days
  • Total labor hours: 4 workers × 8 hours × 2 days = 64 hours
  • Labor hours per square: 64 ÷ 30 = 2.13 hours per square

If your loaded labor cost is $40 per hour, installation labor on that roof is about $85 per square. Change any input and the number moves, which is why measuring beats guessing.

Track the rate by phase as well as in total, since tear-off, dry-in, shingling, and flashing each have different productivity.


The Data You Need to Collect

The data behind your rates

Accurate production rates need three inputs on every job: verified hours, completed quantity, and job conditions.

  1. Verified crew hours by phase. Hours by cost code, for example tear-off, decking, underlayment, shingle install, flashing and details, cleanup. GPS time tracking with cost code selection at clock-in captures this automatically. Paper timesheets produce a total with no phase breakdown, which defeats the purpose.
  1. Quantity completed. Squares installed per phase, measured from the contract or the supplier's report, adjusted for waste and changes. Record it at the end of each day or each phase.
  1. Job conditions. The factors that explain why one job ran fast and another slow:
  • Roof pitch (steeper slows work)
  • Number of stories and access
  • Roof complexity: valleys, hips, dormers, penetrations
  • Material type: asphalt shingle, metal, tile, flat roof system
  • Tear-off layers
  • Decking repair needed
  • Weather delays
  • Crew size and experience
  • Staging and material handling

Without conditions, a rate is just a number. With them, it becomes a tool you can apply to new bids.


Setting Up Cost Codes for Roofing Phases

Use a short, consistent list of cost codes so every job produces comparable data. Too many codes and workers pick randomly. Too few and you cannot tell where hours went.

Suggested roofing cost codes:

  • Tear-off and disposal
  • Decking repair and replacement
  • Underlayment and ice and water shield
  • Drip edge, starter, and valleys
  • Shingle or primary roofing install
  • Flashing, penetrations, and details
  • Ridge and hip caps
  • Cleanup and magnetic sweep
  • Change order work (separate from original scope)
  • Weather standby or delay
  • Punch list and callbacks

Keep change order work and weather delay separate. They explain overruns that are not production problems, and they let you bill extra work and spot patterns. For setting up time tracking by crew, see time tracking for construction workers and construction time tracking software.


Calculating Your Rates Step by Step

You need about 8 to 10 similar jobs before a rate is reliable. Start calculating after the first few and refine as data grows.

Step 1: Group jobs by type. Compare like with like. For example: simple asphalt re-roof under 40 squares, steep or complex asphalt roof, metal roof, flat roof.

Step 2: For each job, compute hours per square by phase.

Example for one job (30 squares):

Phase

Hours

Hours per square

Tear-off and disposal

18

0.60

Decking repair

6

0.20

Underlayment and ice and water

10

0.33

Shingle install

22

0.73

Flashing and details

6

0.20

Ridge and cleanup

4

0.13

Total

66

2.20

Step 3: Average across jobs of the same type. Use the median as well as the average, since one disastrous job can skew the mean.

Step 4: Record the range, not just the average. A job type that runs between 1.8 and 2.6 hours per square tells you how much risk to build into the bid.

Step 5: Adjust for factors. Create a simple multiplier table, for example +15% for steep pitch or +10% for two stories, based on your own comparisons.

Step 6: Review quarterly. Crews improve, materials change, and rates drift.


Factors That Change Production and How to Handle Them

Do not bury these in a single average. Track them so you can adjust.

Factor

Typical effect

How to handle

Steep pitch

Slower install, more safety setup

Add a pitch multiplier

Multiple stories

Slower material handling

Add an access multiplier

Complex roof (many valleys, hips, dormers)

More cutting and flashing

Group as a separate job type

Multiple tear-off layers

More tear-off time and disposal

Price tear-off separately by layer

Decking repair

Unpredictable

Use unit pricing and change orders

Hot or cold extremes

Slower work, material limits

Plan scheduling by season

Weather interruptions

Lost days

Track as standby hours

New crew members

Lower early productivity

Track by crew, not just company

Tight access

Slower staging

Note on the job record

Hidden decking damage is the biggest unknown. Put unit pricing for decking replacement in the contract and document each find with photos and approval before work proceeds. See how to negotiate a construction contract for the clauses that make this enforceable.


Using Production Rates in Bids

schedule with your rates

Once you have measured rates, labor pricing becomes arithmetic instead of instinct.

Labor cost = squares × hours per square × loaded hourly cost

Example:

  • 36 squares, simple asphalt re-roof
  • Your measured rate: 2.2 hours per square
  • Loaded labor cost: $42 per hour (wages plus payroll taxes, insurance, and benefits)
  • Labor: 36 × 2.2 × $42 = $3,326

Then add:

  • Materials and waste
  • Disposal and equipment
  • Overhead and profit
  • Contingency based on your range

If your rate ranges from 1.8 to 2.6 hours per square, you can see that labor on this job could run roughly $2,720 to $3,930. Decide how much of that risk you price into the bid.

The loaded labor cost matters. Wages alone understate cost. See contractor profit and loss statement for how overhead and burden fit into margin, and how to win construction bids for pricing strategy built on historical data.


Using Production Rates in Scheduling

Rates turn "how long will this take" into an answer you can defend to a customer.

Days required = (squares × hours per square) ÷ (crew size × hours per day)

Example:

  • 36 squares × 2.2 hours per square = 79 labor hours
  • Crew of 4 working 8 hours per day = 32 labor hours per day
  • Days required: 79 ÷ 32 = about 2.5 days

Plan three days on the calendar and build in a weather buffer. When storms or a busy season stack up jobs, you can calculate capacity honestly:

  • Crew capacity per week = crew size × hours per day × days per week
  • Compare to the labor hours in your backlog
  • Add crews, subs, or longer lead times before promising dates

Accurate scheduling reduces the late-job problems described in construction project delay and protects cash flow. See construction cash flow management for planning around seasonal swings.


Using Rates to Catch Problems Early

The best use of production data is a mid-job warning.

On day one of a 3-day job, check the first day's hours against the plan:

  • Planned: 32 hours per day
  • Actual day-one hours: 32, but only 8 squares completed against 12 planned
  • Signal: the job is running about 33% slow

Find out why that day, while it is fixable. Possible causes: unexpected decking repair, slow material delivery, steep pitch worse than estimated, crew inexperience. Decide whether to add labor, issue a change order, or adjust the schedule.

The weekly review should compare actual vs. planned hours by phase for every active job. See construction WIP report for tracking profitability during a job. Crews that see the dashboard daily tend to hit rates more consistently, because the numbers are visible.


Comparing Crews Fairly

Production data can improve training and pay, but only if it is used fairly.

Compare crews on similar jobs, with the same conditions, over several jobs. A crew assigned to the hardest roofs will look slower on raw averages. Use the data to:

  • Find best practices from your fastest crew and share them
  • Spot training needs on specific phases, such as flashing or valley work
  • Identify which crew is best suited to complex or steep roofs
  • Set realistic targets by crew experience
  • Reward consistent quality, not only speed

Speed without quality produces callbacks and warranty claims. Track callbacks and punch list hours next to production so you reward the whole picture. See construction defect claims for what a rushed job can cost later.


Handling Subcontracted Crews

If you use sub crews, ask for the same production data or track it yourself.

  • Compare sub price per square to your own labor cost per square
  • Track squares completed per sub crew per day on your jobs
  • Require photo documentation to the same standard as your own crews
  • Compare sub invoices to completed scope before paying

A sub who is cheaper per square but generates more callbacks may cost more overall. See how to fire a subcontractor for documenting performance when problems repeat.


Copy-Ready Production Tracking Sheet

Use this structure per job, or build it into your time tracking and job cost system.

Job header: Address | Job # | Roof type | Pitch | Stories | Layers | Total squares | Crew size | Dates

Phase table: Phase | Squares | Labor hours | Hours per square | Weather delay hours | Notes

Condition notes: Complexity | Access | Decking repair | Change orders | Weather | Other

Summary: Total hours | Total hours per square | Compared to bid | Variance | Reason for variance

After the job: What ran faster than expected | What ran slower | What would change the bid next time


One-Page Checklist for Building Your Rates

Setup

  • [ ] Cost codes defined by roofing phase
  • [ ] Change order and weather delay codes separated
  • [ ] GPS clock-in with cost code selection in use on every crew
  • [ ] Squares installed recorded per phase or per day
  • [ ] Job conditions recorded on every job

Analysis

  • [ ] Jobs grouped by type
  • [ ] Hours per square calculated by phase
  • [ ] Averages, medians, and ranges recorded
  • [ ] Adjustment multipliers drafted for pitch, stories, and complexity
  • [ ] Rates reviewed quarterly

Application

  • [ ] Bids use measured labor rates and loaded labor cost
  • [ ] Schedules use rates and include a weather buffer
  • [ ] Day-one check compares actual to planned
  • [ ] Weekly review of hours vs. plan by phase
  • [ ] Callbacks and punch list hours tracked alongside production

For platform selection, see top 5 time tracking apps, top 5 BusyBusy alternatives, and the side-by-side TaskTag vs. BusyBusy. For mobile outdoor crews with similar tracking needs, see time tracking for landscapers.


Related Resources

Role Guide:

TaskTag Features:

Related Blog Posts:

Ready to explore how TaskTag can transform your construction projects?

 Start your free trial today and see the difference!