Concrete estimating pulls together more moving parts than most other trades - volume, reinforcement, labour and margin all need to line up correctly before a quote goes out. Get one of them wrong and the others don't save you. Here's how the pieces fit together.
Step 1: Calculate the volume
Concrete is bought and priced by volume (m3), so an accurate volume calculation is the foundation of the whole estimate. For a simple slab:
Volume (m3) = Length (m) x Width (m) x Depth (m)
For example, a driveway slab 8m long, 3.5m wide and 100mm (0.1m) deep:
8 x 3.5 x 0.1 = 2.8 m3
Always add a waste allowance - typically 5-10% - to cover sub-base irregularities, formwork variance and spillage. On the example above, a 10% allowance takes the order quantity to roughly 3.08 m3. For a full breakdown of the formula and how depth and waste allowances interact across different slab shapes, see our guide "How to calculate concrete volume."
Step 2: Work out reinforcement
Most slabs need reinforcement - mesh sheets for standard slabs, bar for edges and thickened sections. Mesh is sold in fixed sheet sizes, so the calculation isn't just area divided by sheet area - it's usable coverage per sheet, accounting for the overlap required between adjoining sheets (commonly around 225mm, but always confirm against the relevant standard and your engineer's specification).
For a slab close to a single sheet size, you may only need one sheet plus trim. For anything larger, you're calculating how many sheets fit across the slab in each direction, plus overlap, plus offcuts for edges. This is exactly the kind of calculation that goes wrong when done by hand under time pressure - see "How many reinforcement mesh sheets do you need?" for the full method.
Step 3: Price the labour
Concrete labour isn't linear with volume - a small odd-shaped pour can take almost as long as a larger simple one, because prep, formwork and finishing time depend more on shape, access and finish type than on raw m3. Build your labour estimate around:
- Sub-base prep and compaction
- Formwork or edge restraint installation
- Reinforcement placement
- Pour, screed and float
- Finish work - broom, exposed aggregate, stencil, or a power float finish
- Curing and clean-up time
A decorative or exposed aggregate finish adds meaningful labour time on top of a standard broom finish - price the finish, not just the slab.
Step 4: Apply margin correctly
Once material and labour costs are totalled, margin needs to be applied correctly to protect your profit - not just tacked on as a rough percentage. This is where a lot of contractors lose money without realising it, by confusing markup (a percentage added to cost) with margin (a percentage of the final sell price). The two produce different sell prices for the same target number - see "Understanding profit margin vs markup in construction quoting" for the full worked maths.
Worked example: putting it together
A 30m2 concrete driveway slab, 100mm thick:
- Volume: 30 x 0.1 = 3.0 m3, plus 10% waste = 3.3 m3
- Concrete cost at $180/m3: 3.3 x $180 = $594
- Mesh: 2 sheets required at $95 each = $190
- Labour: 14 hours at $65/hr = $910
- Waste removal and sundries: $150
- Total cost: $1,844
Applying a genuine 20% margin: $1,844 / (1 - 0.20) = $2,305 sell price.
Common estimating mistakes to avoid
- Calculating volume from nominal depth without confirming actual sub-base and formwork depth on site
- Under-ordering mesh by rounding sheet counts down instead of up
- Pricing labour purely by area instead of accounting for shape, access and finish
- Applying margin as a markup by mistake, which quietly under-delivers your target profit
The bottom line
Concrete estimating is only as strong as its weakest step - an accurate volume means nothing if the mesh count is wrong, and a correct mesh count means nothing if margin is applied incorrectly at the end. Work through volume, reinforcement, labour and margin in order, every time, and use consistent calculations - whether that's your own checklist or a quoting tool with dedicated calculators - so nothing gets missed between quotes.