← Back to blog

Crew Productivity for a General Contractor: Which Crews Actually Produce Margin

July 5, 2026

The problem: Crews get compared on how fast they finish, so the crew that moves quickly and burns material and rework can outrank the crew that quietly returns more margin per hour.

The solution: Attach field hours and job costs to the crew that did the work, then rank crews by margin per crew hour within the same job type.

The math

Across six crews logging about 9,000 field hours each, a $16 spread in margin per crew hour between the best and the worst is roughly $144k a year sitting inside one crew's schedule.

Every general contractor at this size has a ranking of their crews, and it is usually held by the same two people: the owner and whoever schedules. Ask them and you get an immediate answer. That crew is the strongest. That one is fine on the simple stuff. That one you do not put on anything with a tight sequence.

The ranking is real, and it is mostly built on speed and on complaints. The crew that finishes early and does not generate phone calls goes to the top. It is a reasonable proxy, and it is not the same thing as margin.

Speed is not the same as margin

A crew can finish early three ways. It can be genuinely more productive. It can be running easier jobs. Or it can be moving fast in a way that costs money somewhere the schedule does not show: extra material, a punch list that another crew comes back to close, a subcontractor standing around because the sequence got compressed.

The reverse is just as common. A crew that reads as slow may be running the jobs with the worst site access and the most owner changes, absorbing conditions that would have wrecked anyone's schedule, and still coming in at a better cost per unit of work than the crew everybody praises.

Neither of those shows up in a conversation about who finished first. They only show up when you can put a crew's hours next to the cost and the contract value of the specific jobs that crew ran.

Why the comparison is almost never made

The pieces exist. Nobody assembles them.

Field hours land in payroll, where they are grouped by employee and pay period, because that is what payroll needs. Job costs land in the accounting file, grouped by job. The connection between the two, which people worked which hours on which job under which crew lead, lives on daily reports, in text messages, and in the scheduler's head.

So a $12M contractor can tell you gross margin by job, and can tell you total field labor for the month, and cannot tell you what any individual crew returned. The crew is the unit the business is actually managed in, and it is the one unit nothing gets reported against.

There is a second trap waiting even for contractors who try. Comparing a crew that runs tenant improvement work against a crew that runs ground-up light commercial tells you nothing, because the job types carry different margins by nature. The comparison only means something inside a job type. Crew against crew, on similar scopes, at similar sizes.

What margin per crew hour tells you

Once hours are attached to crews and crews are attached to jobs, the useful number is margin dollars produced per crew hour worked, filtered to one job type at a time.

That single ranking answers several things a schedule cannot:

  • Which crew to put on the work that has the thinnest margin to begin with, because they are the only one who can hold it.
  • Whether a crew that looks slow is actually being handed the hard jobs, which the job-type filter settles immediately.
  • Which crew lead's habits are worth spreading, and which crew needs a different foreman rather than a lecture about pace.
  • What it would be worth to add a seventh crew, and which existing crew you would want to model it on.

A look at a general contractor

Consider a general contractor doing about $12 million a year with six field crews, most of the revenue in commercial interiors and light renovation. Hours come in on daily reports and get keyed into payroll. Job costing happens in the accounting file after the fact. The owner would tell you crews two and five are the strongest, and he has good reasons for thinking so.

Suppose the contractor starts capturing hours against both the job and the crew, so every field hour has an owner, and then ranks the six crews by margin per crew hour on interiors work only. Within a couple of quarters you would expect the ranking to disagree with the one in the owner's head on at least one crew.

Put a number on the spread. If each crew logs roughly 9,000 field hours a year, and margin per crew hour ranges from about $38 at the top to about $22 at the bottom against a $30 average, then the weakest crew is producing roughly $144,000 a year less margin than the strongest on the same volume of hours. Move that crew even halfway to the average and you would expect on the order of $70,000 of margin that was previously invisible, without winning a single new job.

The interesting part is usually why. A crew at the bottom of that ranking rarely turns out to be lazy. More often you would expect to find something structural: it is the crew that gets the fill-in work between big jobs, so it loses hours to mobilization. Or it is the crew that keeps getting split to cover other crews, so it never runs at full strength. Those are scheduling decisions, not people decisions, and they only become visible once the cost of them lands on a specific crew.

How to start

This does not require new field software before you learn something.

  1. Give every field hour a crew. Capture hours against the job and the crew that worked it, not just the employee and the week.
  2. Compare inside one job type. Filter to a single kind of work before you rank anything, or the job mix will do the ranking for you.
  3. Divide margin by crew hours. For each crew, take the margin dollars its jobs produced and divide by the hours it worked. That ratio is the ranking.
  4. Let the outliers surface themselves. Set automation to flag a crew drifting below its own trailing average on a live job, so you find out during the job instead of at closeout.

The takeaway

You already rank your crews. The ranking is just built on the wrong signal, because speed and quiet are what a scheduler can observe and margin is not. Attach field hours to the crew that worked them, hold the job type constant, and rank by margin produced per crew hour. In a six-crew business the spread between the best and the worst is large enough to matter on its own, and the reason for the spread is usually something you control. Start with one job type and one quarter of honest hours, and let the ranking argue with you.

Every business has a number like that hiding in it.

Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.