I was guessing my labor rate for 15 years


The Steel Erector's Playbook — Issue #2
Issue No. 02
The Steel Erector's Playbook
Field-tested systems for steel erection owners
The Confession

I was guessing my labor rate for 15 years.

I'll tell you something most owners won't.

For most of my career, our hourly billing rate was an educated guess.

We'd look at what we charged the previous year. Bump it up a few bucks. Check what we thought the market was doing. Talk to a couple of other guys. Settle on a number that felt right.

That was the process. For years.

And we weren't lazy about it — we'd play around with the math, adjust when things felt off, raise rates after a bad year. But nobody had ever sat me down and said here is every single cost that goes into one man-hour and here is exactly how you calculate it. So we approximated. And we hoped.

It took us way longer than it should have to get this dialed in. Years longer. And when we finally did, the thing that cracked it wasn't a consultant or a CPA.

It was AI.

The full labor cost workbook — with the burden and blended rate formulas already built out — is part of the Job Profitability Report I'm putting together. Coming soon.
  §  
Section 01

What I actually did

I sat down with ChatGPT and asked one question: what should be included in a fully-burdened hourly rate for a union steel erection company?

Then I worked through it line by line.

What I Fed It
Every document that touches a man-hour.
01 Workers' comp sheets
Rate per $100 of payroll
02 GL policy
With labor-hour allocation
03 Umbrella premium
Yes, this is a labor cost
04 Union rate sheets
Base wage, pension, annuity, H&W, training fund
05 Overhead numbers
Rent, trucks, office staff, building insurance — everything that spreads across productive labor hours

Then I asked AI to break it down by trade. Foreman. Journeyman. Apprentice. Because they don't cost the same and they shouldn't be billed the same.

It took a lot of back and forth. Overhead allocation alone took us a few rounds to get right — what percentage of office salary gets charged to labor vs. carried as fixed overhead, how to handle non-productive time, how much to layer in for cash flow drag when GCs are paying you 60-90 days out.

But at the end I had something I'd never had before: a real number. Not a guess. Not last year plus a bump. The actual fully-burdened cost per productive man-hour, by trade, with every line item traceable to a document.

  §  
Section 02

What the number told me

Two things hit me when I saw the final number.

01
We'd been under-billing on T&M for years.
Not by a little. By enough that I don't want to do the math on how much money walked out the door over the years.
 
02
Our crew mix was costing us more than I thought.
A job with heavy foreman hours was burning margin we'd never priced for, because I'd been billing a blended rate that assumed a crew mix we weren't actually running.

Neither of those things shows up on your P&L at the end of the year. They show up one job at a time, in margins that come in 4-6 points light, and you never know exactly why.

  §  
Section 03 — Your Checklist

What you need to pull

If you want to run this exercise yourself — and you should — here's what you need in front of you.

Pull These Before You Start
Every line needs to trace to a real document.
Workers' comp declaration page — rate per $100 of payroll by class code
General liability policy — premium and labor allocation
Umbrella policy — premium
Union rate sheets — base wage and every fringe line, by trade
Payroll tax rates — your share of FICA, FUTA, SUTA
Last year's overhead — office salaries, rent, vehicles, shop insurance, software, everything
Productive vs. non-productive hours — what % of clock hours actually puts iron in the air

Put all of that in front of AI. Ask it to walk you through the calculation. Push back when the overhead allocation doesn't feel right. Don't stop until every line is traceable to a real number on a real document.

Block an afternoon and knock it out. Don't spread it across weeks like I did.

  §  
The Bottom Line

The lesson I wish someone had given me at 30

Nobody is coming to teach you this.

The union won't. Your CPA won't — they'll tell you what you spent, not what to charge. The GC sure won't. Your competitors don't know their own number, so they can't tell you yours.

You have to sit down and build it yourself.

The tools to figure it out didn't exist five years ago. They exist now. If you've been guessing your rate the way I was — and most of you are, whether you admit it or not — stop.
— Dino

Until next week,

Dino

P.S.
If you run this exercise and the number surprises you, you're not alone. Reply to this email and tell me how far off your guess was. I'm collecting these because I think the gap is bigger across our industry than anyone's talking about.
The Steel Erector's Playbook
Systems beat hustle. Pass or premium.
 
Dino DePasquale  ·  DinoDePasquale.com
You're receiving this because you subscribed at DinoDePasquale.com

Dino Depasquale

Join The Steel Erector's Playbook — a weekly newsletter on bidding, contracts, cash flow, and the systems that separate struggling contractors from thriving companies. Subscribe and get the Steel Erector's Bid Scorecard free.

Read more from Dino Depasquale

The Steel Erector's Playbook — Issue #3 THE STEEL ERECTOR'S PLAYBOOK Issue #3 We showed up with four truckloads of steel and nowhere to put it School project. 650 tons of structural steel total — including 100-foot-plus long-span joists for the gymnasium. Nice sized project. Our first mobilization was the north half — outer classrooms and hallway steel. Four truckloads. Five-man crew. Crane and operator on site. Everything scheduled, everything planned. Then we pulled in. The bricklayer had...

I signed a $936,000 subcontract on a commercial project two years ago. The GC had sent over the contract after we’d already mobilized material to the site. We had a second project with them in the pipeline. The relationship felt solid. So I did what most of us do — I flipped to the scope, checked the price, and signed. Page 27 had a pay-if-paid clause I didn’t catch. Page 14 had a 48-hour change order notification window I never read. And the scope language was vague enough that the GC later...