How to Bid Concrete Jobs: Quantities, Pump Costs and AI Checks

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Bid Concrete Jobs: Quantities, Pump Costs and AI Checks.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Bid Concrete Jobs: Quantities, Pump Costs and AI Checks.

Bid a concrete job by turning the drawings into cubic yards or cubic metres, adding a waste allowance you set from the pour (5% to 10% is a common rule of thumb), then pricing delivery, pump, labour, finishing and washout as separate lines. Use AI to recompute the arithmetic and hunt for missing lines, not to set the price.

The expensive errors are rarely in the volume sum. They come from unit slips (inches typed where feet were expected), a pump minimum or short-load fee nobody priced, and a margin worked out as a markup. Each has a check below, and each check works with or without AI.

Follow me on Instagram@sagnikteaches

Turn the drawings into a volume you can defend

Volume is length times width times thickness, all in one unit. In feet and inches, divide the thickness in inches by 12, multiply to get cubic feet, then divide by 27, because a cubic yard is 3 ft by 3 ft by 3 ft. In metres, multiply the three dimensions and the answer is already in cubic metres. One cubic yard is 0.7646 cubic metres, and one cubic metre is 1.308 cubic yards.

Connect on LinkedInSagnik Bhattacharya

For a flat slab there is a shortcut that saves the calculator: divide the square feet by a number that depends on the thickness.

Subscribe on YouTube@sagnikteaches
Slab thicknessDivide square feet byA 1,000 sq ft slab needs
4 in8112.35 cubic yards
5 in64.815.43 cubic yards
6 in5418.52 cubic yards

Anything thicker than the slab gets its own line: thickened edges, footings, pads, steps, kerbs, equipment bases. Dimension each part, work out its volume, then add. A single average thickness quietly drops the footing, which is an easy way to run short on the day.

Then allow for the ground. One widely read quantity guide, Concrete Network's, suggests adding a quarter inch to the slab thickness for budgeting when the grade is even and well compacted, and says never to order the exact amount. Read that quarter inch as a floor. A rough subgrade, a hollow where a tree stump came out or a low corner can add far more, which is why the site visit matters more than the drawing.

If you build the sheet in a spreadsheet, these are the cells worth locking down:

Slab, cubic yards:        =(length_ft * width_ft * (thickness_in / 12)) / 27
Edge, cubic yards:        =(perimeter_ft * (width_in / 12) * (extra_depth_in / 12)) / 27
Order, cubic yards:       =CEILING((slab + edge + apron) * (1 + waste_pct), 0.5)
Metric volume, m3:        =length_m * width_m * thickness_m
Price from target margin: =direct_cost / (1 - margin_pct)

The ChatGPT for Excel tutorial helps if you want an assistant to build the sheet itself, and the concrete estimate template gives a fill-in version of the volume, pump and finishing lines.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

A garage slab, thickened edge and apron, priced line by line

The main example uses deliberately round placeholder prices so the arithmetic is easy to follow. None of them is a market rate: replace every one with your own supplier quote and crew cost. The job is a detached garage slab 24 ft by 30 ft and 4 in thick, a thickened edge around the whole perimeter 12 in wide and 8 in deeper than the slab, and a 10 ft by 16 ft apron at 4 in. The garage sits behind the house, and the truck cannot get closer than about 90 ft.

Volumes first. The edge runs round the 108 ft perimeter (24 + 30 + 24 + 30), and only the extra 8 in below the slab is counted, because the top 4 in is already in the slab line.

PartDimensionsCubic feetCubic yards
Slab24 ft × 30 ft × 4 in240.08.89
Thickened edge108 ft × 12 in × 8 in72.02.67
Apron10 ft × 16 ft × 4 in53.31.98
Total365.313.53

With 8% waste, 13.53 × 1.08 = 14.61 yards. The sheet rounds up to the next half yard, so the order is 15, and the extra 0.39 yards costs about $66 at $170 a yard. Check how the order splits into trucks as well. If the largest load is 10 yards and the supplier's minimum before a short-load fee is 5 (both placeholders; ask yours), 15 yards arrives as 10 + 5 with no fee, whereas an order of 14 would arrive as 10 + 4 and could attract one.

Now the cost build-up, again with placeholder rates:

LineHow it is builtCost
Ready-mix concrete15 yd³ × $170$2,550
Line pump$600 minimum (3 hours, setup and hose included) + 15 × $5 per yard$675
WashoutOwn lined container, liner and disposal$60
Placing and finishing4 people × 7 hours × $42 loaded rate$1,176
Mesh, chairs and vapour barrierFrom the materials takeoff$1,020
Forms and base preparationFrom the prep takeoff$2,400
Curing compound, saw cuts, sundriesAllowance$380
Direct cost$8,261

At a 20% margin the price is $8,261 divided by 0.8, which is $10,326. Spread over the 880 sq ft of slab and apron, that is $11.73 per square foot, a figure to hold against your own past jobs. If it lands far outside your usual range, find out why before the bid goes out. The customer-facing wording for a bid like this belongs in a separate document, and the concrete quote template covers slab prep, finish and weather clauses.

A metric slab, and the unit slip that costs real money

Metric jobs follow the same logic with fewer conversions. Take a 6 m by 8 m slab at 0.15 m thick with a thickened edge round a 28 m perimeter, 0.30 m wide and 0.20 m deeper than the slab. The slab is 6 × 8 × 0.15 = 7.20 m³ and the edge is 28 × 0.30 × 0.20 = 1.68 m³, so the total is 8.88 m³. Add 8% for 9.59 m³, which becomes 10 m³ if the supplier orders in half-cubic-metre steps.

The danger is a supplier who quotes per cubic yard to a contractor who measures in metres, or the reverse. Here is how that looks on a sheet. The takeoff says 9.59 m³ and the quote says $170 a yard. Multiplying 9.59 by 170 gives $1,630. The correct route converts first: 9.59 m³ × 1.308 = 12.54 yd³, and 12.54 × $170 = $2,132. The concrete line is under-priced by $502, roughly a quarter of what it should cost, before any margin is added. Write the unit next to every number on the sheet, including the supplier's quote.

Waste: set it from the pour, not from a habit

A flat percentage is a starting point. Before you settle on one, list where the extra concrete will actually go on this job:

  • Subgrade variation. A base graded 3/4 in low across the slab adds roughly 0.75/4, or about 19%, to a 4 in slab. That is the difference between 8% and being short.
  • Form deflection and over-dig. Bowed forms and trench edges that crumble add volume you never drew.
  • Spillage and strike-off. Every barrow spill and every wet edge costs a little, and a small job loses a larger share of its volume this way than a big one.
  • Leftover at the end. Ready-mix cannot go back on the shelf. Whatever you order and do not place is paid for and has to be disposed of, though some suppliers give partial credit for unused full yards, so ask.

Then look at what the margin of error costs against what a shortfall costs. For the garage, the waste choices work out like this (placeholder concrete price of $170 a yard):

Waste allowanceQuantity to orderExtra over calculated volumeCost of the extra
3%13.94 yd³0.41 yd³$69
5%14.21 yd³0.68 yd³$115
8%14.61 yd³1.08 yd³$184
10%14.88 yd³1.35 yd³$230
12%15.15 yd³1.62 yd³$276

Now price running short, with placeholder figures. A second delivery needs a short-load fee ($150), the pump waits for an hour ($200) and a crew of four stands idle for the same hour (4 × $42 = $168). That is $518 before anyone mentions the cold joint in a slab that was poured in two goes. The whole range of waste insurance, from 3% to 12%, costs between $69 and $276. Coming up short is the expensive mistake, which is why estimators lean towards leftover and why the rule of thumb sits at 5% to 10% rather than 0%.

Then close the loop after every pour. Write down the yards ordered, the yards left in the last truck or the shortfall, and the calculated volume. Suppose the garage took 14.2 of its 15 yards and 0.8 came back in the drum: 14.2 divided by 13.53 is 5% more than the drawn volume, and $136 of concrete was paid for and never placed. Five or six records like that give you your own waste figure for each kind of pour, which beats any rule of thumb.

Pump or barrow: the sum that settles it

Published pump rate sheets tend to follow one pattern: a minimum number of hours, an hourly rate after that and a per-yard charge, with extras for travel, hose beyond the included length, fuel and a separate fee when the site has no washout area. Boom pump rates scale with reach, and line pumps add a charge for hose beyond the included length. Every company words it differently, so get the rate sheet in writing and rebuild the quote on your own sheet.

A pump is cheap when its minimum is already earned and expensive when it is not, so the real question is what the alternative costs. That means barrow labour plus any standby charge when slow placing keeps the truck waiting beyond its free unloading time. Three placeholder scenarios show how close the call can be. A loaded barrow carries 3 cubic feet, a person costs $42 an hour, the free unloading time is 6 minutes per yard ordered and each minute over costs $2.

ScenarioBarrow trips and timeBarrow labourStandbyBarrow totalPump quote
Garage, 90 ft route, 5 min a trip, 4 pushers122 trips, 10.2 hours$427$125$552$675
Same garage, rough ground, 8 min a trip122 trips, 16.3 hours$683$308$991$675
Patio 30 ft × 20 ft × 5 in, short route, 4 min a trip, 3 pushers84 trips, 5.6 hours$235$104$339$650

Read the table in two ways. On cost alone, barrowing wins the first and third scenarios and the pump wins the second. The tipping point is near 16 barrow-hours ($675 divided by $42) before standby is counted. But cost is not the only test. The garage pour in the first row takes about two and a half hours of continuous barrowing across a slab that is setting as you go, and a crew that is tired at hour two finishes badly. That is why the main example above priced the pump even though the arithmetic is close. The barrow totals also overstate the true extra cost, because a pump job still needs people to handle the hose.

Before you accept a pump quote, ask the company:

  • Is the minimum charged from arrival or from the booked start time, and does travel count towards it?
  • How much hose is included, and what does each extra length cost?
  • What is the hourly rate after the minimum, and is there a per-yard charge on top?
  • What do they need on site: space for outriggers, clearance from overhead lines, a washout area?
  • What happens if the truck is late, the pour is cancelled for weather or you book at short notice?

Placing and finishing labour from your own jobs

The 4 people for 7 hours in the garage example did not come from nowhere. It came from a simple record that takes ten minutes after each pour: crew-hours spent placing and finishing, divided by the area poured in hundreds of square feet. Here are five past jobs in that form (illustrative):

Past jobCrew-hoursAreaCrew-hours per 100 sq ft
A381,200 sq ft3.17
B22800 sq ft2.75
C511,500 sq ft3.40
D30900 sq ft3.33
E441,300 sq ft3.38

The average is 3.21 crew-hours per 100 sq ft and the worst is 3.40. For the garage's 880 sq ft of slab and apron, 8.8 hundreds at 3.21 gives 28.2 crew-hours, which matches 4 people for 7 hours. At the worst rate it is 29.9 hours, so the bid carries a clear sense of how much margin of error the labour line has.

The record only helps if you also note what made each job easier or harder. Write a line against every job: broom or trowel finish, hot or windy, cold, late truck, long barrow run, pump or no pump, number of loads. When a new job looks like job B, use job B's rate; when it looks like job C with a late afternoon pour, add time on purpose instead of hoping. The tutorial on turning supplier quotes into a rate sheet uses the same approach for materials.

Washout, short loads and the lines suppliers forget to mention

Washout is the line most often missing from a first bid. After the pour the truck chutes and, if there is a pump, the hopper and hose are rinsed, and the wash water and slurry have to go somewhere. Some pump rate sheets list a separate fee when the site has no washout area, so providing one can be the cheaper route. What containment the site needs, and where hardened waste may go, depends on the place and the site, so ask the site manager or owner before you price it.

In the garage example the washout line is $60: about half an hour to build a lined container, a liner and disposal of the hardened waste. A no-washout fee from the pump company, using $250 as a placeholder, would have cost more than four times as much. The saving only exists if somebody on the crew actually builds the container before the first truck arrives, so put it on the pour-day task list.

The ready-mix supplier has its own list of charges, and most of them never appear in a headline price per yard. Ask for these in writing and note the answers beside the bid sheet:

  • The price per yard for each mix the specification calls for, including air entrainment, fibres or other admixtures.
  • The largest load they will send, the minimum load before a short-load fee applies, and the fee.
  • The free unloading time per yard and the charge per minute after it.
  • Delivery zone charges and any fuel surcharge.
  • Premiums for weekend, early-start or after-hours delivery.
  • Hot-weather and cold-weather charges, and how far ahead the supplier needs your order.
  • What a cancellation or postponement costs, and whether unused full yards earn a credit.
  • How long the quote holds.

Whatever you cannot price belongs on the exclusions line of the bid: rock, groundwater, testing, weather protection beyond a stated allowance. A line that says "excluded" is honest. A missing line is a surprise on pour day.

Markup is not margin

A 20% markup adds 20% of cost to cost. A 20% margin means profit is 20% of the price. They are different numbers, and mixing them up is a quiet way to underprice every job. With the garage's $8,261 direct cost:

  • A 20% markup gives $8,261 × 1.2 = $9,913. Profit is $1,652, which is 16.7% of the price.
  • A 20% margin gives $8,261 divided by 0.8 = $10,326. Profit is $2,065, which is 20% of the price.
  • To earn a 20% margin by markup you need a 25% markup ($8,261 × 1.25 = $10,326).

The gap is $413 on one job. If you win ten jobs a year of this size, it is about $4,130 of profit that a wrong formula gave away without anyone noticing. Decide which of the two you use, write it at the top of the sheet and use the matching formula. The price-from-margin line in the spreadsheet block earlier does the margin version.

Four checks to give an AI assistant, with the output to expect

An assistant is a second pair of eyes with a weak spot: arithmetic it has not been made to show. Tell it to work step by step, tell it to calculate with code if your plan can run code, and confirm the total in your own sheet. It cannot know your supplier's terms or see the site, so treat anything it says about typical prices as a guess and keep it out of the bid. Strip client names and addresses before pasting a bid sheet into a consumer plan; business plans of the main assistants do not train on your content by default, while consumer plans have a model-training switch in privacy settings.

Check 1: recompute every volume line

Paste the dimensions and your own figures, and ask for the working. This version contains a deliberate slip so you can see what a catch looks like:

Recalculate the volume of each concrete line from the dimensions below. Show every step in cubic feet and cubic yards. Compare each result with my figure and flag any line that differs by more than 1%. Do not correct my sheet silently.

Slab: 24 ft x 30 ft x 4 in. My figure: 8.89 yd3
Thickened edge: perimeter 108 ft x 12 in wide x 8 in extra depth. My figure: 32.0 yd3
Apron: 10 ft x 16 ft x 4 in. My figure: 1.98 yd3

Illustrative output:

Slab: 24 x 30 x (4/12) = 240.0 ft3 = 8.89 yd3. Matches.
Edge: 108 x (12/12) x (8/12) = 72.0 ft3 = 2.67 yd3. Your figure of 32.0 yd3 is 12 times too high. It equals 108 x 1 x 8 / 27, so the 8-inch depth was used as 8 feet.
Apron: 10 x 16 x (4/12) = 53.3 ft3 = 1.98 yd3. Matches.
Total: your sheet gives 42.9 yd3; the recalculated total is 13.53 yd3.

The assistant did not know the depth was meant to be in inches. It inferred that from the factor of 12, and that inference is the check. What you would fix: correct the cell, and add the unit to the column heading so the slip cannot come back.

Check 2: sweep for missing lines

Missing lines cost more than wrong ones, because nothing on the sheet hints at them. Paste the cost table and ask:

Here is my bid for a slab-on-grade job (lines and prices below). List lines that commonly appear on bids for this kind of work and are missing from mine. For each, say whether it is usually priced by me, priced by the supplier, or excluded, and what I should ask. Do not invent prices.

Illustrative output:

1. Short-load fee: not shown. Ask the supplier for the minimum load and the fee.
2. Standby or waiting time: not shown. Ask for the free unloading time and the per-minute charge.
3. Testing and cylinders: not shown. Price it or exclude it by name.
4. Hot or cold weather measures: not shown. Decide an allowance or exclude them.
5. Weekend or early-start premium: not shown. Ask the supplier and the pump company.
6. Extra yards: no unit price given. Add one per cubic yard and per square foot.

The output is a list of questions, not facts. Delete anything that does not apply (testing may be the owner's cost) and turn the rest into either a priced line or a named exclusion.

Check 3: test how the price moves

Change one assumption at a time and watch what the price does:

Using the cost table, show the price at a 20% margin if waste is 5%, 8% and 12% (order to the nearest half yard), and if the pump minimum is 4 hours at $200 an hour instead of 3. Show the steps.

Illustrative output:

Order 14.5 yd3 (5%):  direct $8,174, price $10,217
Order 15.0 yd3 (8%):  direct $8,261, price $10,326
Order 15.5 yd3 (12%): direct $8,349, price $10,436
Pump minimum 4 hours (order 15.0): direct $8,461, price $10,576

Check one line by hand: each half-yard step changes the direct cost by $87.50 (half a yard at $170 plus half a yard at $5), and the longer pump minimum adds $200. The result is worth noticing. Moving from 5% to 12% waste changes the price by $219, while one extra pump hour changes it by $250. For this job the pump terms deserve more of your attention than the waste percentage.

Check 4: ask for a sceptical reviewer

Have the assistant attack the bid before the owner's estimator does:

Act as an estimator working for the owner, reviewing this bid. List the five points you would challenge, each with the question you would ask and the line it affects. Keep each under 30 words.

Illustrative output:

1. Waste is 8% with no basis stated. What is the subgrade tolerance? Affects concrete quantity.
2. Pump minimum assumes 3 hours. What if the truck arrives late? Affects the pump line.
3. No rescheduling charge for rain. Who pays? Affects pump and crew lines.
4. Labour is 28 hours with no source. Which past jobs support it? Affects labour.
5. No unit price for extra yards. How are changes priced? Affects variations.

Keep the challenges that are real and answer them in the bid notes or the exclusions. Use the list to write clarifications, not to talk yourself into a lower price. For a wider view of what assistants do well and badly with estimates, the tutorial on checking a construction quote with ChatGPT goes through more examples.

Five ways a concrete bid loses money on the day

Each of these is easy to make under bid-day pressure, and each is cheap to prevent once you have seen it.

  1. The twelve-times slip. Inches typed into a column that expects feet. The edge line above turned 2.67 yards into 32. The fix is a unit in every column heading and Check 1 before any bid leaves the office.
  2. The average thickness. Pricing the whole 24 ft by 30 ft plus apron at 4 in gives 10.86 yards, or 11.73 with 8% waste. The pour needs 13.53, so the crew runs 1.8 yards short with the slab half finished. Give every thickened part its own line.
  3. The per-yard pump fee without the minimum. Pricing only the $5 a yard ($75) instead of the $675 total leaves $600 out of the direct cost, and at a 20% margin the price ends up $750 too low.
  4. The truck that waits. A slow barrow run or a late finishing crew pushes the pour past the free unloading time. In the table earlier the standby ranged from $104 to $308. Where access is tight, carry an hour of standby as a line.
  5. The markup posing as a margin. $413 a job, every job, until somebody checks the formula.

Concrete bidding questions, answered

What should the exclusions line on a concrete bid say?

List what the price does not cover so nobody assumes it does: rock or unsuitable ground, groundwater, rebar placed by others, permits, special inspection and testing, hot or cold weather protection beyond the stated allowance, and overtime or weekend pours. Add the quantity the price is based on, so a change in volume has a clear starting point.

How long should a concrete price stay valid?

Ask the supplier how long their price holds, then make your bid validity no longer than that. Cement and fuel surcharges can change between bid day and pour day, and a bid that stays open for 60 days against a supplier price that holds for 14 leaves you carrying the difference. State the validity period on the bid.

How do I price extra yards if the quantity changes?

Give a unit price per extra cubic yard and per extra square foot, built from the same lines as the base bid: concrete, pump per-yard charge, extra finishing time and a margin. Quoting it on the bid means changes are priced in advance, not argued about on the day of the pour.

Who pays for concrete testing and cylinders?

It depends on the contract. On many commercial jobs the owner pays a separate testing agency, on others the contractor carries it, and on small residential work it is often not specified at all. Read the specification, ask in writing if it is unclear, and either price it or exclude it by name.

Further reads

Sources: Concrete Network's concrete quantity guide, published ready-mix and concrete-pump rate-sheet structures (structure only; every price in the worked examples is a labelled placeholder to replace with your own quotes).

Want your bid checks automated?

On a 1:1 call we'll walk through how you build a concrete bid today, pick the checks worth automating first, and set up a spreadsheet and prompts your estimator can reuse.

Book a 1:1 call with me