AI for Concrete Contractors: Estimating, Pour Scheduling and Weather Calls

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Concrete Contractors: Estimating, Pour Scheduling and Weather Calls.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Concrete Contractors: Estimating, Pour Scheduling and Weather Calls.

AI can check a yardage sum, draft the booking messages for the ready-mix plant and pump, and write the weather reschedule texts. It cannot read a subgrade or make the go or no-go call, and the final quantity should come from a spreadsheet you have checked, not a chatbot's arithmetic.

Concrete is the trade where the material has a clock on it. Once a truck is batched, the quantity, the start time and the weather are locked in a way a plumber's pipe is not, so the useful AI jobs are the ones that finish before the truck leaves the plant: checking the sum, confirming the order in writing, and moving everyone at once when the forecast turns.

Follow me on Instagram@sagnikteaches

Who does what on a pour day

The split below is the working rule for the rest of this tutorial. The left column is where AI saves time; the middle column is where a mistake costs concrete, so it stays with a person.

Connect on LinkedInSagnik Bhattacharya
JobAI canStays with youHow you check it
YardageRun the sum independently from your dimensions and show each stepThe number you orderSpreadsheet and AI totals agree, or you know why not
Estimate linesList items a slab job usually carries that yours lacks, as questionsQuantities, rates and the priceEvery question is answered yes, no or not needed
Plant orderTurn your spec values into a written orderMix, slump and air content, read from the specThe plant reads the order back and the ticket matches
Pump bookingDraft the access and reach questionsWhether the pump can reach and set upThe pump company confirms in writing
Weather watchTabulate an hourly forecast against limits you setThe go or no-go callYou decide with the table in front of you
Reschedule textsDraft one message per audienceSending them, and each cut-off chargeEveryone replies with the new date
On the dayNothingAccepting the load, slump, water, finishingThe ticket, the test and your own eyes

Notice what is missing from the middle column: the price, the mix and the decision to pour. Those are the three things a wrong answer turns into a bill, a failed cylinder or a ruined slab, and none of them is a writing job.

Subscribe on YouTube@sagnikteaches

Checking yardage on a 20 by 24 slab with a thickened edge

The job is a slab 20 ft by 24 ft overall and 4 in thick, with a 12 in wide thickened edge that runs 8 in deeper than the slab all the way round. Do the sum yourself first, because the AI is there to disagree with it, not to produce it.

  1. Slab body: 20 ft × 24 ft × (4 in ÷ 12) = 160.0 cubic feet.
  2. Edge beam: the centreline runs 2 × (19 + 23) = 84 ft. The extra section is 1 ft wide and 8 in (0.667 ft) deep, so 84 × 1 × 0.667 = 56.0 cubic feet.
  3. Total: 216.0 cubic feet. At 27 cubic feet to the yard that is 8.0 cubic yards.
  4. Allowance: 8% for an uneven base and spillage gives 8.64. Round up to the half yard and order 9. Set the percentage from your own history of ordered against poured yards, not from a rule of thumb.

A sense-check that fits in your head: square feet × thickness in inches ÷ 324 gives cubic yards, because 12 × 27 = 324. Here 480 × 4 ÷ 324 = 5.9 yards for the slab body, and the edge adds 56 ÷ 27 = 2.1, which lands back on 8.0. In metric the divisor disappears: length × width × thickness in metres gives cubic metres, so 10 square metres at 100 mm is 1.0 cubic metre.

Put the same logic in a spreadsheet once and reuse it. Cells B1 to B7 hold slab length (20), width (24), thickness in inches (4), edge centreline in feet (84), edge width in inches (12), extra depth in inches (8) and the allowance (8%):

Slab, cubic feet:   =B1*B2*B3/12
Edge, cubic feet:   =B4*(B5/12)*(B6/12)
Order, cubic yards: =CEILING((B1*B2*B3/12+B4*(B5/12)*(B6/12))/27*(1+B7),0.5)

Now give the AI the same dimensions and ask for an independent sum, with the steps showing:

Work out the concrete volume for this job independently. Show every step in feet, convert to cubic yards at 27 cubic feet per yard, add an 8% allowance and round up to the nearest half yard. State any assumption you had to make.
Job: slab 20 ft x 24 ft overall, 4 in thick, with a 12 in wide thickened edge that runs 8 in deeper than the slab all round.

A typical first answer (illustrative):

Slab: 20 x 24 x 0.333 = 160 cubic feet
Edge beam: perimeter 84 ft x 1 ft wide x 1 ft deep = 84 cubic feet
Total: 244 cubic feet = 9.04 cubic yards
With 8% allowance: 9.76 cubic yards. Order 10 cubic yards.

The two sums disagree by a yard, and that is the point of running both. The AI counted the edge beam at its full 12 in depth, so the top 4 in of the edge, which the slab body has already counted, is counted twice, where your spreadsheet counts only the extra 8 in. A yard on a nine-yard pour is an 11% error, which is the size of mistake that gets paid for in concrete washed out of the truck, or, had it gone the other way, in a short load and a cold joint. Had the totals matched you would have moved on. Because they differed, you looked.

The same check catches the other slips chatbots make on this sum:

  • Inches read as feet. A 4 in slab entered as 4 ft gives 1,920 cubic feet, or 71 yards. Easy to spot, which is why it rarely survives.
  • The wrong divisor. Dividing by 12 or by 3 instead of 27 when going from cubic feet to cubic yards.
  • Early rounding. Writing 4 in as 0.33 ft loses 1% of the volume. On a 100-yard pour that is a full yard.
  • Missed or doubled edge beams and footings. The error above, or leaving the beam out altogether.
  • Judgement calls it cannot make. Average depth over an uneven or sloping base, openings, and thickened areas under walls need your site measurements, and the AI will quietly assume something if you do not tell it.

Always ask for the steps, never just a total, because the steps are what let you see where two sums part company. For the full estimate layout with pump and finishing lines, see the concrete estimate template for volume, pump and finishing lines, and for pricing the quantities, how to bid concrete jobs with AI checks.

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

Missing lines: let the AI ask what the estimate forgot

Slab estimates rarely go wrong on the concrete line. They go wrong on the lines nobody wrote down. Paste the estimate with quantities only, no customer details, and ask for questions rather than additions, so the AI points at gaps without deciding what fills them.

Below is my estimate for a garage slab. List what a concrete slab estimate usually includes that is missing, as questions I should answer yes, no or not needed. Do not add prices or quantities.
Lines: base excavation and compaction 480 sq ft; edge forms 88 ft; welded mesh and chairs 480 sq ft; ready-mix 9 cubic yards; placing and finishing, 2 people, 8 hours; curing compound.

A typical answer (illustrative):

1. Can the truck chute reach the whole slab, or is a pump or barrow needed?
2. Control joints: sawn or tooled, and who comes back to cut them?
3. Does the plant add a short-load or minimum-delivery charge at this quantity?
4. Is there a premium for an early start, a Saturday pour or waiting time on site?
5. Is hot- or cold-weather protection (retarder, blankets, curing cover) in the price?
6. Is spoil removal included?
7. Is there a washout area, and who pays for disposal?
8. Is an engineer's letter or inspection fee needed?

Two of those are real finds. Sawing is usually a separate visit, and weather protection is cheap to put on the quote and expensive to absorb afterwards. Question 8 depends on rules the AI cannot know, so the honest answer is "ask". Turn each "yes, missing" into a priced line from your own rates. If the AI offers a price, ignore it.

Plant and pump messages that leave nothing to ring back about

Most pour-day phone calls are questions that belonged in the booking message. Write the booking as a template once, fill the brackets from the spec and your site visit, and send the same shape every time. The AI's part is tidying your notes into the template and listing any bracket you left empty. A plant order might read:

Hi [contact], please book the following.
Date and first truck: [date], 7:30 am
Site and access: [address]; trucks enter from [street]; drive is [width] ft wide; no overhead wires
Quantity: 9 cubic yards for a 20 x 24 ft slab with thickened edge. Tell me your truck size and how you would split it
Mix: [strength from the drawings]; [slump]; [maximum aggregate size]; air-entrained: yes (outdoor slab, freezing exposure)
Placing: by [chute or pump]; two finishers on site; I can take one truck every [50] minutes (crew places about 12 yards an hour)
Water: none added on site without my say-so. Please put batch time and any water added on the ticket
Weather: please confirm your cut-off for postponing without charge, and the charge after it
Please reply to confirm quantity, mix, start time and cut-off.

A pump booking asks different questions, mostly about whether the machine physically fits the site:

Hi [pump company], please book a pump for [date], on site by [time] to set up before the first truck at [time].
Pour: [volume] cubic yards, slab and edge beams, at [address]
Set-up position: [description], about [x] ft by [y] ft of level ground, [surface]
Reach: farthest point is about [distance] ft horizontally and [height] ft up or down from the set-up position; overhead lines: [none, or height and position]
Mix: [slump], [maximum aggregate size], supplied by [plant]
Questions: which pump will you send, boom or line? Hose length available? Minimum hire time? Where is the washout, and who pays for disposal?
Please confirm in writing: pump type, arrival time, minimum charge and cancellation terms.

What the AI gets wrong is predictable: it fills the brackets. Ask for "Mix: [slump]" and, unless told otherwise, a chatbot will write a plausible slump and a plausible strength, and an invented number in an order is worse than a blank. Add one line to the prompt: "Leave any detail I have not given you in square brackets, and list the empty ones at the end." Then read the finished order against the drawings, the way you would read a delivery ticket.

Two habits make these messages earn their keep. Ask the plant to reply with the order read back, and tell it when a pump is being used so it can confirm the mix suits pumping. And ask both firms for their cancellation terms in writing, so that when the weather call comes it is made against real cut-off times and not a half-remembered phone conversation. The scheduling side, including crews and truck spacing, is covered in planning pours around weather and crews with AI.

Truck spacing: a pour schedule that fits the crew

The plant will deliver at whatever pace you ask for, so the pace is your decision, and it comes from one division: minutes between trucks equal truck volume divided by the crew's placing rate, times 60. A crew that places and strikes off 12 yards an hour needs 50 minutes to take a 10-yard load. Order trucks closer than that and loads wait on site, ageing while the crew catches up. Order them further apart and the crew stands idle while the first placement stiffens. NRMCA's hot-weather sheet states the principle in one line: schedule the rate of delivery that the available crew and equipment can manage.

Take a 30-yard pour with trucks that carry up to 10 yards. Give the AI the facts and your limits, and tell it not to change your numbers:

Build a delivery timetable from these facts and flag anything that clashes with my limits. Do not change my numbers.
Pour: 30 cubic yards. Trucks carry up to 10 cubic yards. Crew places and strikes off about 12 cubic yards an hour. First truck 7:30 am. Finishing runs about 2 hours behind placing. Plant is a 25-minute drive.
My limits: concrete discharged within 90 minutes of batching; no finishing after 1 pm.

A sound answer (illustrative):

Loads: 3 x 10 cubic yards. Spacing: 50 minutes.
Truck 1 arrives 7:30, placing 7:30 to 8:20
Truck 2 arrives 8:20, placing 8:20 to 9:10
Truck 3 arrives 9:10, placing 9:10 to 10:00
Finishing complete about 12:00
Clashes: none. Haul (25 minutes) plus unloading (50 minutes) is about 75 minutes of your 90.

The timetable is only as good as the placing rate you typed in, so time your last three pours and use the slowest. Change the rate to 8 yards an hour and rerun it: spacing stretches to 75 minutes, the trucks arrive at 7:30, 8:45 and 10:00, finishing runs to about 1:15 pm (15 minutes past your own limit), and haul plus unloading becomes 100 minutes, past the 90-minute limit as well. Finding that the day before, on a screen, is the whole value of the exercise. The haul figure also needs a human check on the day, since one stuck truck uses up the margin, so agree with the plant who rings whom. The spacing then goes into the order as a number, which is why the template above asks for it.

Weather: what a forecast table can and cannot decide

Weather is where a chatbot is most tempting and least safe, because the answer sounds authoritative and the cost of a wrong one is a damaged slab. The safe use is narrow: line up the forecast numbers against limits you have written down, and list the clashes. The limits come from your specification, your plant and your own experience. The ready-mix industry's technical sheets give useful starting points, summarised below from NRMCA's cold-weather sheet (CIP 27) and its hot-weather sheet (CIP 12).

ConditionStarting point from the sheetsWhat it means for the call
Cold spellMore than 3 days averaging below 40°F (5°C), with air not above 50°F (10°C) for more than half of each day, counts as cold weatherPlacing, finishing, curing and protection all need a plan with the plant
Frost on fresh concreteFresh concrete freezes below about 25°F (-4°C), and frozen concrete can lose more than half its potential strengthProtect it until it reaches 500 psi (3.5 MPa), about two days after placing
Wet and freezing in serviceConcrete that will sit wet through freeze and thaw cycles should be air-entrained and protected until it reaches at least 3,500 psi (24 MPa)Say so in the plant order; longer protection for driveways and steps
Concrete temperature as placed55°F (13°C) for sections under 12 in; 50°F (10°C) for 12 to 36 in; 45°F (7°C) for 36 to 72 inAsk the plant to deliver at that temperature
Ground and formsSnow and ice removed; surfaces and embedded metal in contact with the concrete above freezingInsulate or heat the subgrade, or move the pour
Slower set in the coldA 20°F (10°C) drop in concrete temperature roughly doubles the setting timeFinishing starts later: check crew hours and light
Hot, dry or windyHigh air or concrete temperature, low humidity, wind and sun all speed moisture loss and settingAvoid the hottest part of the day; dampen subgrade and forms, with no ponding; never sprinkle water on the slab
Finishing and curingStart final finishing when the water sheen has left the surface, start curing as soon as finishing ends, and cure for at least 3 daysBook the crew for the finish, not only the pour
Water on siteDo not exceed the mixing water set for the mix; avoid adding water to concrete more than 1½ hours oldThe foreman's call, load by load

One more figure is worth asking your plant about: the evaporation rate. NRMCA's sheet on plastic shrinkage cracking (CIP 5) names wind above 5 mph, low humidity and high air or concrete temperatures as the conditions that drive it, and points to a chart in ACI 305R that estimates the rate from those readings and shows when special precautions might be needed. The same sheet warns that the chart is not infallible, so ask your plant which evaporation threshold it works to and add that number to your limits. Treat it as a prompt to phone, not a pass mark.

These are starting points, not your specification, and where the spec or the plant is stricter, theirs wins. Rain has no number in either sheet, so that limit is yours: how many minutes you need to get plastic over a placed slab, and whether the base copes with a downpour before the first truck arrives.

The AI's job is the lining-up. Give it the hourly forecast, your timetable and your limits, and forbid it from concluding anything:

Compare this forecast with my limits. List every clash as a table (time, value, limit, what it affects). Do not say whether to pour. Do not add limits of your own.
Forecast for pour day Thursday (air temperature, wind, humidity, chance of rain):
Thu 6 am: 36F, 5 mph, 80%, 5%
Thu 9 am: 41F, 8 mph, 65%, 5%
Thu 12 pm: 47F, 14 mph, 45%, 15%
Thu 3 pm: 49F, 18 mph, 38%, 20%
Fri 6 am: 27F, 4 mph, 85%, 10%
Timetable: first truck 8 am, last truck 10:30 am, finishing until about 3 pm.
My limits: protect from frost for the first 48 hours after placing; flag wind above 15 mph with humidity below 40%; flag rain chance above 30% between first truck and last finishing.

A typical answer (illustrative):

Clashes
Fri 6 am | 27F | below freezing inside the 48-hour protection window | frost cover needed
Thu 3 pm | wind 18 mph, humidity 38% | above your wind limit with humidity under 40% | finishing of the last bay
No rain clashes.
Conclusion: conditions are suitable for a pour.

Delete the last line. Whether the day is suitable is the foreman's decision, and an AI that volunteers it will one day volunteer it on a day it is wrong. The table has already shown what matters: Thursday is dry and mild, but Friday's 27°F arrives while the concrete is under two days old, so blankets have to be booked before the truck, not after the frost warning. The 3 pm wind is a smaller problem with a known remedy: start earlier, or bring a windbreak.

One decision, four messages, sent in this order

Once the foreman has called a pour off, four messages go out within the hour: plant, pump, crew, customer. Plant and pump come first because their cut-off times are the ones with a charge attached. The AI drafts all four from one short line of facts, in a tone that suits each reader:

Draft four short messages from these facts. Audiences: ready-mix plant, pump company, crew, customer. Do not invent dates, charges or promises.
Facts: Thursday's 9 cubic yard pour at [address] is postponed because a hard frost is forecast the next morning; new target date [date], to be confirmed by [time] tomorrow; plant cut-off is [time]; pump cut-off is [time].
Tone: plant and pump factual and brief; crew direct; customer friendly, with the reason in one sentence.

A typical result (illustrative):

Plant: Hi [contact], we need to move Thursday's 9 cubic yard pour at [address] because of a hard frost forecast for Friday morning. Please confirm this falls inside your no-charge cut-off and give me your earliest first-truck slot from [date].
Pump: Hi [pump company], same job: please move Thursday's booking. Please confirm there is no charge at this notice and your earliest availability from [date].
Crew: Thursday's pour is off because of the frost forecast. Target date is [date], confirmed by [time] tomorrow. Tomorrow's job: [job].
Customer: Hi [first name], we are moving your slab pour from Thursday. The forecast shows a hard frost the following morning, and fresh concrete can be damaged if it freezes in its first couple of days. Nothing is needed from you; I will confirm the new date by [time] tomorrow.

Read the customer message twice before it goes. First drafts often write "we will pour on Monday" because the model wants to sound helpful, and Monday has not been confirmed by the plant, so the safe word is "target". Check too that nothing promises "no charge" to anyone: whether a cut-off was met is a fact you hold, not one the AI can know. Customers take a postponement far better when the quote already said that pours move for weather, and the wording for that clause is in the concrete quote template with slab prep, finish and weather clauses.

What stays with the foreman, the engineer and the spec

Everything below involves standing on the site or taking responsibility for the structure. None of it is made safer by a chatbot's opinion.

  • The go or no-go. Made after walking the base and forms, with the weather table, the crew list and the plant's confirmation in front of you. No tool sees the base.
  • Accepting each load. The ticket (batch time, mix, quantity), the slump and the temperature, and any water added on site. The hot-weather sheet says to keep added water within the mix's own mixing water and to avoid adding it to concrete over 1½ hours old.
  • Structural choices. Thickness, reinforcement, joint layout and any mix an engineer has specified. If an AI suggests changing one, treat it as a question for the engineer, not an answer.
  • Finishing and curing timing. "Start when the sheen has left the surface" is a judgement only someone standing on the slab can make.
  • Safety at the pump and the forms. Level set-up ground, overhead lines, who stands where while the boom swings.
  • The price. Rates come from your own cost history, not from a model's idea of what concrete work costs.

A two-week trial on your next two pours

Run the yardage check, the plant and pump templates and the weather table on the next two pours, and write down four numbers. Keep each habit only if its number moves.

MeasureHow to take itKeep the habit if
Yardage gapAI total minus spreadsheet total, in yards, for each pourIt caught an error, or it always matched and you now trust the sheet
Ordered against pouredYards ordered minus yards poured, as a percentage of the orderThe over-run is falling, not rising
Calls back to plant or pumpA tally per pourFewer than on your last two pours
Minutes on messagesTime from decision to the last message sentShorter than before the templates

If after two pours the AI sum never differed and the templates saved no calls, stop; the checks are cheap, but your time has better uses. If you would rather fit this onto your own estimating and booking steps with someone, that is what my AI implementation consultation covers.

Questions concrete firms ask about AI

Can AI work out concrete yardage from my plans?

It can do the sums from dimensions you type in. Reading a drawing and measuring areas is the job of take-off software, and even then you check the scale and the totals yourself. Either way, the quantity you order should come from a spreadsheet you trust, with the AI's independent sum as the cross-check.

Can a chatbot tell me whether it is too cold to pour?

It can compare a forecast with the limits you give it and list the clashes. It cannot see your subgrade, your blankets or the mix temperature the plant will deliver, so the call stays with the foreman, working from the specification and the plant's advice.

What should I keep out of a free chatbot?

Customer names, phone numbers, full addresses and contract prices. Use [first name], a street type or an area description, and round figures. Check the privacy settings of whichever plan you use before pasting anything from a real job.

Further reads

Sources: NRMCA technical sheets CIP 27 (Cold Weather Concreting), CIP 12 (Hot Weather Concreting) and CIP 5 (Plastic Shrinkage Cracking), which cite ACI 306R and ACI 305R. Check your specification and supplier for the limits that apply to your job.

Want your yardage and pour messages tightened up?

On a 1:1 call we'll walk through how you estimate and book a pour now, pick the one step worth checking with AI first, and set the foreman's sign-off points.

Book a 1:1 call with me