Where concrete contractors lose money
6 things cost concrete contractors money without ever becoming a line item, and each one traces to a step you can install. Concrete contractors average 21% gross margin, 14% overhead and 7% net profit at $1M–$5M of revenue. The CFOS target at that size is 23.5% gross margin, 13% overhead and 10.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.
Concrete ranks 2nd of 5 in concrete and masonry on net profit, and it has leaner overhead than the 48-trade average. Here is every figure, across all 7 revenue bands.
Concrete by revenue band
| Metric | $1M–$5M | $5M–$10M | $10M–$25M | $25M–$50MModeled | $50M–$100MModeled | $100M–$500MModeled | $500M+Modeled | CFOS target at $1M–$5M |
|---|---|---|---|---|---|---|---|---|
| Overhead | 14% | 13% | 12% | 11% | 10% | 9% | 8% | 13% |
| Gross margin | 21% | 22% | 23% | 24% | 25% | 26% | 28% | 23.5% |
| Net profit | 7% | 9% | 11% | 13% | 15% | 17% | 20% | 10.5% |
| Metric | $1M–$5M | $5M–$10M | $10M–$25M |
|---|---|---|---|
| Overhead | 13% | 12% | 11% |
| Gross margin | 23.5% | 24.5% | 25.5% |
| Net profit | 10.5% | 12.5% | 14.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: Concrete. 2026. Sulphur Prairie Operations, LLC. https://runoncfos.com/trades/concrete. 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 concrete
The EOR approved the placing drawings, the fab shop cut and bent to the bar list, and then somebody moved a footing. You poured in March on an approved mix, the cylinders came back low in April, and two floors have already gone up on the slab in question. Your yard is full of panels and shoring, every job report says you made money, and the bank account disagrees. Concrete has about a 90-minute working life from batch to placement, so your supply market is a haul radius with two or three plants.
Each one below points at the item, the unit, the clock, or the party that makes it a concrete problem, and it says which step fixes it.
| Mechanism | Why it's specific to this trade | Step |
|---|---|---|
| Eight Tons of Rebar Tagged to a Drawing That Changed | Structural steel can be re-detailed and re-sequenced into another package because it's still a member that bolts to something else. A bent #8 can't be un-bent, and no other job in your backlog has that bend schedule, so there's no salvage path and no transfer. You're also absorbing the delay twice, because the replacement release has to go back through detailing, approval, and the fab shop queue before a single truck moves. | Project management |
| The 28-Day Break Decides a Pour You Already Billed | Almost every other trade gets inspected while its work is still exposed and still cheap to fix. Concrete gets a verdict four weeks after the fact, on work that other trades have already built on top of, which means the remedy is demolition of somebody else's progress before it's demolition of yours. The mix approval clock on the front end works the same way, since it puts dead time on a mobilized crew while a lab and an engineer who feel no pressure from your payroll decide when you can batch. | Project management |
| Ten Jobs Used Those Forms, One Job Paid for Them | Rental accrues on calendar days while forms only earn on pour cycles, so the two clocks run at different speeds and only one of them is under your control. A trade that buys tools and consumables can spread cost by the hour or the piece. You're spreading a large capital item across pour cycles that a lab technician releases, which is why the same panel set can be cheap on one job and expensive on the next with nothing about the panels having changed. | Equipment cost basis |
| Your Ready-Mix Quote Expired Eleven Months Before the Pour | A contractor buying wire, pipe, or lumber can lock a price, take delivery early, and hold the material in a warehouse. You can't warehouse concrete for even two hours, so every yard is bought at whatever the price is the morning it pours, from a supplier with no real competition inside the haul radius. That makes escalation a structural exposure on your largest material line, not a bad-luck event. | Estimating system |
| Done in June, Retention Releases When the Building Opens | Trades that finish near the end of the build wait weeks for retention, because their substantial completion and the project's are close together. You finish first and wait the full length of the building, which means the concrete contractor is the one financing everybody else's schedule. Multiply that across four or five concurrent jobs and the retention receivable becomes the largest asset you own, with nothing in your reporting flagging it as such. | Monthly cadence |
| Six Trips Back for Pads and Sidewalks, One Unit Price | Being first on and nearly last off is a scheduling position no other trade holds, and it means your small-quantity work is spread across a year of somebody else's sequence. The unit price you bid was built on continuous placement rates, so every return trip is priced as though it were part of the big pour. These never get bid as separate mobilizations, so the cost has no home in the estimate and no cost code in the field. | Job cost structure |
Concrete against the other 47 trades
| Metric | Concrete | Concrete and masonry average | All 48 average | Rank |
|---|---|---|---|---|
| Overhead | 14% | 14.6% | 15.1% | 6th of 48 |
| Gross margin | 21% | 21.8% | 22.1% | 33rd of 48 |
| Net profit | 7% | 7.2% | 7% | 21st of 48 |
Concrete sheds 6 points of overhead between $1M–$5M and $500M+, against 6 for concrete and masonry as a group. Inside that group, Concrete flatwork is the most profitable at 8%, and Concrete, Concrete flatwork and Masonry all run 14% overhead, the leanest. The leanest one is this trade.
Other concrete and masonry trades
What owners ask
What overhead should a concrete contractor run?
Concrete shares its overhead figure with 10 other trades at this revenue, which is what the published data resolves to. It averages 14% at $1M–$5M and 8% at $500M+, as a percentage of revenue. That is 0.6 points below the concrete and masonry average of 14.6%. The CFOS target at $1M–$5M is 13%. The CFOS target is one point leaner than your trade's industry average at your revenue.
What gross margin should a concrete contractor run?
Concrete shares its gross margin figure with 5 other trades at this revenue, which is what the published data resolves to. It averages 21% at $1M–$5M and 28% at $500M+, as a percentage of revenue. That is 0.8 points below the concrete and masonry average of 21.8%. The CFOS target at $1M–$5M is 23.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 concrete contractor run?
Concrete shares its net profit figure with 16 other trades at this revenue, which is what the published data resolves to. It averages 7% at $1M–$5M and 20% at $500M+, before taxes, as a percentage of revenue. That is 0.2 points below the concrete and masonry average of 7.2%. The CFOS target at $1M–$5M is 10.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 concrete business run?
Owners usually mean net profit when they say profit margin, and for concrete at $1M–$5M that's 7%. Gross margin is a different number, 21%, and it's what's left after job costs but before overhead. Overhead is the 14% between the two. A small concrete business holding 7% net is at the published figure for its size, and the CFOS target at that revenue is 10.5%.
Does concrete get more profitable as it grows?
Overhead is the number that moves. Concrete sheds 6 points between $1M–$5M and $500M+, which is in line with the 6 points concrete and masonry sheds as a group. Net profit starts 0 points under the 48-trade average, so the room is in the overhead line before it's anywhere else.
Where does concrete rank against the other trades?
Concrete ties 3 trades in concrete and masonry on net profit, all at 7%. Concrete flatwork is the most profitable at 8%. Its overhead is the leanest too, level with Concrete flatwork and Masonry. Gross margin ranks 33rd of 48 and overhead ranks 6th.
That's the industry average and the CFOS target for concrete 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 concrete contractors as a service. It is a separate firm, Sulphur Prairie Management, LLC, run by the same author.
