Guide

Crew utilization metrics for concrete subs

The 5 numbers that tell you whether your crews are actually profitable — and the math behind each.

Most concrete subs operate on gut feel for utilization. "Crew A's been busy lately." "We've had a slow week." These observations are usually correct in direction but useless in scale. The teams that actually grow margin track five specific metrics — none of them complex, but all of them sharply unforgiving if you measure them wrong.

1. Billable utilization rate

The percent of paid crew hours that bill out to a job — versus showing up but not working (waiting on ready-mix, rained out, GC delay).

billable utilization = billable_hours / paid_hours

Healthy range: 78-85% for concrete subs. Below 75% means you're paying for too much idle time. Above 90% sounds great but usually means you're undercounting non-billable hours (training, equipment maintenance, drive time).

The trap: subs measure billable hours per crew but don't track paid hours that aren't on a job. The denominator is wrong. Fix it by tracking every hour the crew is on payroll, billable or not.

2. Foreman efficiency

How many pours a foreman successfully closes per week — without rework, without crew conflicts, without GC complaints.

foreman efficiency = pours_completed_clean / pours_assigned

A foreman running 8 pours a week with 7 clean closes (87.5%) is more profitable than one running 10 pours with 6 clean (60%) — even though the second one looks busier.

Clean = no rework, no missing notes, no GC follow-up email asking what happened, no late timesheet. Score is binary per pour. Sounds harsh; produces better foremen.

3. Project mix index

The blended margin across all active projects, weighted by yards or man-hours.

project mix margin = SUM(project_margin × project_size_weight)

The point: a single high-margin project can mask three low-margin ones, or vice versa. You want to see the weighted average, not the count.

Run this monthly. If your mix index is below 18% (concrete sub healthy range: 18-26%), you're either bidding low or losing money in execution. The metric doesn't tell you which — but it tells you to investigate.

4. Bench drift

How many crew-weeks you have on bench (between projects) over a rolling 12-week window.

bench drift = SUM(crew_idle_weeks) / SUM(crew_total_weeks)

2-4% bench drift is healthy — you need some slack to absorb weather days and project ramp-ups. Above 7% you're carrying too much labor; below 1% you're chronically short and losing pours.

The hard part: weeks where the crew was technically scheduled but didn't pour (weather, ready-mix issue, GC delay) count as bench, not work. Most subs over-report utilization because they conflate "scheduled" with "actually working."

5. Cancellation rate by reason

Percentage of pours canceled — split by cause. Weather, ready-mix, pump, GC delay, your own (crew unavailable, etc.).

cancel rate = cancellations_by_cause / total_pours_scheduled

What this tells you over time:

Why most subs can't measure this

Each metric requires data that lives in different systems:

Reconciling those across systems is the actual work — and it's why most subs do it once a quarter instead of weekly. Quarterly is too late. By the time you see a bad month, the next quarter is already half-committed.

What software changes about this

When your scheduling and manpower data live in one system, the capacity side of these metrics becomes real-time. Manpower Tracker (part of Planning Ops) handles:

Analytics is open to every role, so a foreman can see the same utilization and bench picture the owner sees. The margin and billable-hours metrics still need payroll and accounting data — but the bench, headcount, and man-week math the gut-feel "how are we doing" question turns on becomes a live number instead of a shrug. New to it? The Manpower Tracker getting-started guide shows where Analytics lives.

See your utilization metrics live

14-day free trial. Card, Apple Pay, Google Pay, or Link accepted.

Start free trial →