Where structural steel contractors lose money
6 things cost structural steel contractors money without ever becoming a line item, and each one traces to a step you can install. Structural steel contractors average 23% gross margin, 15% overhead and 8% net profit at $1M–$5M of revenue. The CFOS target at that size is 25.5% gross margin, 14% overhead and 11.5% net, and the 3.5 points left on the table is where those mechanisms live. Figures for all 7 revenue bands are in the table below.
Structural steel ranks 3rd of 8 in envelope and structure on net profit, and it has leaner overhead than the 48-trade average. Here is every figure, across all 7 revenue bands.
Structural steel by revenue band
| Metric | $1M–$5M | $5M–$10M | $10M–$25M | $25M–$50MModeled | $50M–$100MModeled | $100M–$500MModeled | $500M+Modeled | CFOS target at $1M–$5M |
|---|---|---|---|---|---|---|---|---|
| Overhead | 15% | 14% | 13% | 12% | 11% | 10% | 9% | 14% |
| Gross margin | 23% | 24% | 25% | 26% | 28% | 29% | 31% | 25.5% |
| Net profit | 8% | 10% | 12% | 14% | 17% | 19% | 22% | 11.5% |
| Metric | $1M–$5M | $5M–$10M | $10M–$25M |
|---|---|---|---|
| Overhead | 14% | 13% | 12% |
| Gross margin | 25.5% | 26.5% | 27.5% |
| Net profit | 11.5% | 13.5% | 15.5% |
Modeled extension of the survey curve, not reconciled against the licensed CFMA Benchmarker. That applies to the 4 bands above $10M to $25M, and no CFOS target is published for them.
Gross margin and overhead come from CFMA, Jones Maresca and SPM's own trade data, because those are the figures those sources report by trade and size. Net profit is calculated from them as gross margin minus overhead, so the three rows tie. That makes it an operating profit figure: what is left before interest, other income and expense, and the tax planning choices owners make, such as bonuses, depreciation methods and retirement contributions.
Surveys report net income before taxes after those items, so a reported net can run below the figure here. At the typical contractor the difference is small: CFMA's 2025 medians are 7.1 percent before interest and taxes and 6.7 percent net income before taxes. It grows with size. Against the separate measured net profit dataset, the calculated net runs 0.8 points higher at $1M to $5M, 2.2 points at $5M to $10M and 3.5 points at $10M to $25M, because the gross margin and overhead rows change faster with size than reported net profit does.
Above the $10M to $25M band the gross margin and overhead rows are a modeled extension of the same curves. They have not been reconciled against the licensed CFMA Benchmarker, and the calculated net there runs well above survey medians, so read those bands as a model and not as a survey result.
Run On CFOS. Run On CFOS Trade Benchmark Reference: Structural steel. 2026. Sulphur Prairie Operations, LLC. https://runoncfos.com/trades/structural-steel. CC BY 4.0.
Figures on this page were last revised 2026-08-21. Published under CC BY 4.0, which permits reuse of any figure here, including commercially, as long as the credit above travels with it. The same figures in machine-readable form: /benchmarks.json.
Trade level gross margin and overhead come from figures CFMA, Jones Maresca and other sources publish, and Run On CFOS derives net profit as gross margin minus overhead. The CFOS targets beside them are from the book CONTROL: C.F.O.S. Construction Financial Operating System, published with the full reference at runoncfos.com.
- 2024 Construction Financial Benchmarker, Executive Summary, Construction Financial Management Association, 2024.
- 2025 Construction Financial Benchmarker, Executive Summary, Construction Financial Management Association, 2025.
- 2025 Performance Benchmarks, Construction Companies, Jones Maresca and Company, 2025.
- Run On CFOS Trade Benchmark Reference, Sulphur Prairie Operations, LLC, 2026.
Sourcing and method: the methodology page.
Which bands are measured. The 4 bands above $10M–$25M extend the survey curve further out and have not been reconciled against the licensed CFMA Benchmarker. How every figure was built is explained on the methodology page.
6 problems specific to structural steel
You won the package in March, shop drawings cleared in June, and the mill had already rolled that section. Sixty grand of Tekla time and delegated engineering calcs are already spent, the engineer is on his second round of comments, and your schedule of values has nothing to bill against. You bid dollars per erected ton in January. You topped out in May and demobilized in June.
Each one below points at the item, the unit, the clock, or the party that makes it a structural steel problem, and it says which step fixes it.
| Mechanism | Why it's specific to this trade | Step |
|---|---|---|
| Missing the roll date puts your W24s on a premium buy | No other package on that job has a supplier who only makes the product on certain weeks. Your bolts, your grating, and your deck are available next week; a W24x131 in A992 exists when the rolling schedule says it exists, and whether you hit that window is decided at a review desk you don't manage. That's why the approval clock belongs on your purchasing calendar with the mill's roll dates written beside it. | Project management |
| Detailing burns cash for two months before a piece ships | Steel is the one package where a design deliverable you pay for falls between award and the first piece of production. Detailing and delegated engineering are engineering labor billed to the fabricator, consumed entirely before material is cut, so there's no percent complete to claim and no stored material to invoice against it. Every week the EOR spends on comments is a week your working capital funds someone else's review. | Job cost structure |
| Your erected ton and your mill buy are two different prices | Estimators price steel per erected ton because that's how the market quotes it, while mills sell in hundredweight with extras stacked on top, so the unit you bid is a conversion away from the unit you buy. Hot rolled has moved 30 to 40 percent inside a single year more than once, and you absorb that move across a window someone else controls. Small tonnage and odd length packages take it worst, because extras and freight are a bigger share of the buy than on a big straightforward frame. | Estimating system |
| Retention on steel is held a year after you top out | Steel goes up first and gets paid last, and no trade finishing near the end of the job ever waits that long for its money. Your retention stays out through the entire envelope, the interiors, the punch list, and the inspection cycle, on a job where your crew and your crane left a year earlier. Nothing remains on the schedule of values to offset it, so it ages as a receivable with no activity behind it and stops looking like money to anyone in your office. | Monthly cadence |
| Out of tolerance anchor rods bill you by the crane day | Your start date is controlled by a concrete sub's tolerance and your biggest daily cost is a rented machine that bills the same whether it moves or not. No other trade commits equipment of that size before the predecessor's work has been verified by anyone. That's why equipment cost on a steel job has to be coded by day and by job, so a standby day is visible the week it happens and not at year end. | Equipment cost basis |
| The recoat argument comes back to you at closeout | Your product stays outdoors, unfinished, for as long as somebody else's schedule takes to close the building, and it gets judged against a spec written for a shorter window. No other package is held to a durability standard set by the delay of the trade that follows it. The cost comes back months after your job closed, which is why it usually disappears into overhead with no cost code open to catch it. | Overhead calculation |
Structural steel against the other 47 trades
| Metric | Structural steel | Envelope and structure average | All 48 average | Rank |
|---|---|---|---|---|
| Overhead | 15% | 15.1% | 15.1% | 17th of 48 |
| Gross margin | 23% | 22.8% | 22.1% | 13th of 48 |
| Net profit | 8% | 7.6% | 7% | 8th of 48 |
Structural steel sheds 6 points of overhead between $1M–$5M and $500M+, against 6.3 for envelope and structure as a group. Inside that group, Curtain wall and glazing, Waterproofing all keep 9%, the most in the group, and Framing runs the leanest overhead at 13%. Structural steel is neither, which is the usual position and the one with the most room in it.
Other envelope and structure trades
What owners ask
What overhead should a structural steel contractor run?
Structural steel shares its overhead figure with 14 other trades at this revenue, which is what the published data resolves to. It averages 15% at $1M–$5M and 9% at $500M+, as a percentage of revenue. That is 0.1 points below the envelope and structure average of 15.1%. The CFOS target at $1M–$5M is 14%. The CFOS target is one point leaner than your trade's industry average at your revenue.
What gross margin should a structural steel contractor run?
Structural steel shares its gross margin figure with 6 other trades at this revenue, which is what the published data resolves to. It averages 23% at $1M–$5M and 31% at $500M+, as a percentage of revenue. That is 0.2 points above the envelope and structure average of 22.8%. The CFOS target at $1M–$5M is 25.5%. The CFOS target recalculates at your revenue: whatever gross margin produces the net profit target once overhead is paid, never below your trade's own industry average.
What net profit should a structural steel contractor run?
Structural steel shares its net profit figure with 12 other trades at this revenue, which is what the published data resolves to. It averages 8% at $1M–$5M and 22% at $500M+, before taxes, as a percentage of revenue. That is 0.4 points above the envelope and structure average of 7.6%. The CFOS target at $1M–$5M is 11.5%. The CFOS target recalculates at your revenue: 10 percent before taxes, or 3.5 points better than your trade's industry average, whichever is higher.
What profit margin should a small structural steel business run?
Owners usually mean net profit when they say profit margin, and for structural steel at $1M–$5M that's 8%. Gross margin is a different number, 23%, and it's what's left after job costs but before overhead. Overhead is the 15% between the two. A small structural steel business holding 8% net is at the published figure for its size, and the CFOS target at that revenue is 11.5%.
Does structural steel get more profitable as it grows?
Overhead is the number that moves. Structural steel sheds 6 points between $1M–$5M and $500M+, which is in line with the 6.3 points envelope and structure sheds as a group. Net profit is already above the 48-trade average, so the room is in holding it while revenue climbs.
Where does structural steel rank against the other trades?
Structural steel ties 2 trades in envelope and structure on net profit, all at 8%. Curtain wall and glazing, Waterproofing are the most profitable at 9%. Framing runs the leanest overhead at 13%. Gross margin ranks 13th of 48 and overhead ranks 17th.
That's the industry average and the CFOS target for structural steel at every size. Want your own books set beside them? The Financial Health Snapshot builds a CEO Report from your last twelve months, sets every figure against your trade, and walks you through it on a 60 minute call. SPM The Construction CFO (Sulphur Prairie Management, LLC) is a separate firm, and the same author runs it.
Everything on this page is something you can install yourself, and CONTROL is the order to do it in. If you would rather buy the finished result, SPM The Construction CFO does this work for structural steel contractors as a service. It is a separate firm, Sulphur Prairie Management, LLC, run by the same author.
