The plant's closing in three weeks. The last few lots are on the board, and for the first time since April you have an evening to think. The season felt busy. The bank account says it was okay. What you want to know is which kinds of work paid for the year, and which ones you took because the phone rang.
Most owners have a gut answer. Driveways are good money. Patching is a pain but it's quick. GC work is steady. The numbers usually agree with part of that and flatly disagree with the rest.
How to tell which job types made money
Group every closed job by type, add up gross profit for each type (price minus direct cost), and divide by the crew-days that type used. Then compare each type's gross profit per crew-day against what one crew-day has to carry in overhead. The types above that line paid for the year. The types below it didn't, however good their margin percent looked. Those are the ones to reprice, move to the shoulder months, or stop selling.
Sort the season before you judge it
Before any math, get the jobs into groups that match how you price them. For a paving crew that might be:
- Commercial mill and overlay
- New parking lots for GCs
- Residential driveways
- Patching and repairs
Sealcoat and striping crews get their own sort, because they're a different crew with a different day. Concrete too.
For each job you need three numbers: what you billed, what it cost directly (mix, labor at loaded cost, equipment, trucking, subs, receipts), and how many crew-days it took. If you've been job costing as you go, most of this is already there. If not, the plant statements, payroll and the calendar will get you close enough for this exercise.
Count crew-days honestly. A driveway that took the crew until 1 p.m. and then they went to the next one is half a day. A mill-and-overlay that needed a second morning for the punch list is 2 days, not 1.5.
Margin percent flatters small jobs
Here's one paving crew's season, with illustrative numbers:
| Job type | Billed | Gross profit | Margin | Crew-days | Per crew-day |
|---|---|---|---|---|---|
| Mill and overlay | $620,000 | $124,000 | 20% | 40 | $3,100 |
| New lots for GCs | $540,000 | $81,000 | 15% | 35 | $2,314 |
| Driveways | $210,000 | $63,000 | 30% | 35 | $1,800 |
| Patching | $95,000 | $14,250 | 15% | 20 | $713 |
| Season | $1,465,000 | $282,250 | 130 | $2,171 |
Gross profit here is what you billed minus direct cost: mix, loaded labor, equipment, trucking, subs and receipts.
Sort that table by margin and driveways win at 30 percent. Sort it by gross profit per crew-day and they come in third.
That's because overhead doesn't care about percent. The shop, the yard, insurance, the office and your own salary cost the same whether the crew spent Tuesday on a $6,000 driveway or a $40,000 overlay. What the crew's day has to earn is dollars.
Put the overhead on the day
Add up the overhead this crew has to carry for the year. Say it's $260,000. Divide by the 130 days the crew worked: every crew-day has to bring in $2,000 of gross profit just to cover overhead.
Now look at the table again:
- Mill and overlay clears the line by $1,100 a day.
- New lots for GCs clear it by $314 a day. Thin, and the retainage means you waited for part of it.
- Driveways fall short by $200 a day.
- Patching falls short by about $1,287 a day. Over 20 days, that's $25,750 of overhead the other work had to cover.
The season as a whole made $282,250 in gross profit against $260,000 of overhead, or $22,250. The mill-and-overlay work carried everything.
Stop, reprice or move it
A job type under the line isn't automatically one to stop selling. There are three fixes, and stopping is the last one.
Reprice it. Driveways are $200 a day short across 35 days, which is $7,000. On $210,000 of driveway work that's a price increase of about 3.3 percent. That's a small change for a type of work customers already expect to pay for, and it moves driveways over the line.
Patching is a different story. To get patching to $2,000 a day across 20 days, it needs $40,000 of gross profit instead of $14,250. That's $25,750 more on $95,000 of work, a price increase of about 27 percent. You may not win much patching at that price. That's useful to know too. Raise the minimum charge first, because small patching jobs are where the day goes: two hours of driving for forty square feet. Our post on pricing patching and pothole repair walks through a minimum that covers the trip.
Move it. An idle crew-day earns nothing and still costs $2,000 of overhead. A patching day that earns $713 beats a day in the yard. So patching that fills the first two weeks of April, the rain-shortened days and the last week before the plant closes is doing its job. Patching that takes a Tuesday in July away from an overlay is not. The rule isn't "never patch." It's "don't let patching take a day that better work wanted."
Stop selling it. When a type is under the line, won't take a price increase, and competes with better work for the same days, stop. Say so to the estimator, write it down, and stop answering those calls with a proposal. Refer them to someone who wants the work.
Check before you cut
A few things can make a job type look worse, or better, than it is.
- Equipment on the job. If mill-and-overlay jobs don't carry the mill's hourly cost, they look better than they are. Put equipment on every job at what it costs you to own and run.
- Unbilled change orders. If a type keeps turning up extra work that never got billed, its margin is a billing problem, not a pricing problem.
- Callbacks. Warranty trips go on the job that caused them, not on the calendar as "shop."
- Slow pay. GC work that pays in 60 days with retainage held has a cash cost the table doesn't show.
- The customer behind the job. A patching job for the property manager who gave you three overlays is part of the overlays. Look at gross profit by customer, too, before you turn down a small job from a big account.
Then go through it by type the way the off-season checklist suggests, and carry the answers into next year's prices.
Questions contractors ask
What's a good way to measure profit by job type?
Gross profit per crew-day. Margin percent tells you how well you priced a job. Gross profit per crew-day tells you whether a day spent on that kind of job paid for the day.
Should I stop doing small jobs?
Not automatically. A small job that fills a day that would otherwise be idle helps. A small job that takes a day from a bigger one costs you. Raise the minimum charge first and see what's left.
How do I figure overhead per crew-day?
Add up a year of overhead the crew has to carry: shop, yard, insurance, office, the owner's salary and the rest. Divide by the days the crew actually worked. If you run several crews, split overhead between them first.
What if every job type is below the line?
Then the problem isn't the mix of work. It's prices across the board, or overhead that's grown faster than the crews. Look at both before next season.
Where Pavr fits
Pavr is job management software for paving, sealcoating, striping and concrete contractors. Approved hours, material from the daily log, receipts, sub invoices and equipment hours post to each job against what you estimated while the job is running. Closed jobs roll up by month, by customer, by project manager, and by paving, concrete, sealcoat and striping, so the trade-level answer is there without a spreadsheet. Each job's costs export to CSV, so the driveway-versus-overlay-versus-patch sort this post describes is a column you add in the spreadsheet, with the actuals already filled in. See how profit tracking works.
Was this useful?
It tells us what to write more of.