Dirtwork Digital

How to Bid Excavation Jobs

Cost per machine hour, production rates, cost per yard, what goes in the estimate, and how to stop losing to the guy who bids under his cost.

By Chris Westlund · Published September 4, 2026

The short answer. Published ranges in September 2026 put excavation at $2.50 to $15 per cubic yard for straightforward digging in good soil, climbing to $50 to $200 per cubic yard for rock, tight access, or hand work. An operator with a mini excavator, backhoe, or skid steer bills $100 to $300 an hour, and a mid-size excavator with operator commonly lands between $150 and $325. Those figures are from HomeGuide and Angi guides checked September 4, 2026, and they are what the homeowner and the builder see before they call.

None of them is your price. Your price is your cost per machine hour, times the hours that particular hole will take, plus the things that are not digging: mobilization, hauling, fill, compaction, permits, and the unknowns. This guide builds that number step by step, with worked examples, and ends with what to put in the estimate so the customer says yes without calling three other companies.

Contractor pricing starts with one number you have to own

Ask ten excavation contractors what they charge for a mini ex and you will get ten numbers between $95 and $200 an hour. Ask them how they got there and most will say “that’s the going rate.” The going rate is somebody else’s cost structure, or nobody’s.

Yours is built from your machine payment, your fuel, your insurance, your truck, your wage, and the hours you actually bill. It is the same method the excavation business guide uses to decide whether the business works at all. Here it is again, per machine, because each machine has its own number.

Illustrative cost per hour, mini excavator, one-person outfit, rounded:

Cost Monthly Per productive hour at 80 hours
Machine payment, $65,000 used, five years $1,320 $16.50
Truck and trailer share $900 $11.25
Insurance share $400 $5.00
Fuel, 1.5 gallons an hour at $3.90 $5.85
Wear, teeth, tracks, hoses $6.00
Maintenance reserve $450 $5.60
Operator wage, burdened $5,500 $68.75
Overhead share: phone, software, accounting, marketing $700 $8.75
Cost per hour about $128

With 20 to 30 percent profit, $155 to $165 an hour. Inside the published range. Now run the same table for the 20-ton excavator and the skid steer, and you have three rate cards that are yours.

The number that moves the most is productive hours. At 120 hours a month the mini ex costs $100 an hour. At 60, it costs $170. Your rate has to be built on the hours you really bill, and for a small outfit doing site walks, moving, and waiting on weather, 70 to 90 is honest.

From hours to a bid: the four parts

Every excavation bid has four parts. Miss one and you are working for free on that part.

1. Machine hours, from production rates

Estimate how long the digging takes. Production rate depends on the machine, the bucket, the soil, the depth, and how far the spoil moves. Rough field rules that experienced operators use, for planning, not for promising:

Machine and task Rough production
Mini ex, 24-inch bucket, trench 3 feet deep in loam 15 to 25 feet an hour
Mini ex, footing or utility trench, clay 8 to 15 feet an hour
Mid-size excavator, basement in loam, spoil piled on site 40 to 80 cubic yards an hour
Mid-size excavator, same basement, loading trucks 25 to 50 cubic yards an hour, limited by trucks
Skid steer, spreading and grading topsoil 30 to 60 cubic yards an hour
Dozer, rough grade pad, good soil Half an acre to 2 acres a day depending on cut

Rock, water, roots, frozen ground, and tight access can cut any of those in half. That is why you walk the job.

For volume, measure. Length times width times depth in feet, divided by 27, is cubic yards in place. Soil swells when you dig it, usually 15 to 30 percent, so the haul-off volume is bigger than the hole. A 30 by 40 basement 8 feet deep is 356 yards in the ground and 410 to 460 in the trucks.

2. Hauling, fill, and materials

Spoil that leaves the site costs truck hours plus a tipping fee or a place to dump it. Fill that comes in costs the material plus delivery. Gravel, class 5, sand, and topsoil all have a delivered price per yard or per ton that changes with the pit and the distance. Get the quote from the pit the day you bid, not the day you order.

Count truck hours honestly. A tri-axle holds 12 to 16 yards. Round trip to the dump site at 45 minutes is a truck hour per load. A 450-yard basement is 30 loads and 30 truck hours before the first foundation form goes up.

3. Mobilization, setup, and the small stuff

Loading the machine, driving, unloading, walking to the work, setting grade stakes, calling 811 and waiting for the locates, silt fence, matting on soft ground, cleanup at the end. On a small job this is a third of the day. Put a mobilization line in every bid. Customers accept it in the open and resent it hidden.

4. The unknowns

Rock. Water. A buried foundation from the barn that burned in 1962. A septic tank nobody mentioned. You cannot price what you cannot see, so you say what happens when you find it: “If rock, groundwater, or buried structures are encountered, work continues at $165 per machine hour plus hauling and materials with your approval before exceeding the quoted total.” That sentence is the difference between a bid and a gamble.

Worked examples

Example 1: 120 feet of water line trench, 4 feet deep, loam, homeowner, rural. Mini ex at 15 feet an hour, 8 hours. Backfill and compact with the mini and a plate compactor, 3 hours. Mobilization 2 hours. 811 call, no charge but a two-day wait. 13 hours at $160 is $2,080. Bedding sand, 4 yards delivered, $180. Bid: $2,260, with a per-hour fallback for rock. That works out to about $19 a foot, which is what the customer will compare against the plumber’s number.

Example 2: basement excavation, 30 by 40, 8 feet deep, builder, in town, spoil hauled. Mid-size excavator loading trucks at 35 yards an hour, 430 yards in the truck, about 12.5 hours. Rough grade and ramp, 2 hours. Mobilization for a machine that needs a lowboy, 4 hours plus $350 haul. 18.5 machine hours at $235 is $4,348. Trucking: 30 loads at 1 truck hour and $135, $4,050. Dump fee: clean fill accepted at a nearby site at $4 a yard, $1,720. Bid about $10,500, or roughly $24 per yard in place. Published per-yard ranges would have said $2.50 to $15 for “digging” and the builder might quote that number back to you. The hauling and dump fee are why the real number is higher, and the bid shows him exactly that.

Example 3: 60 by 80 house pad, cut and fill, 2 feet of cut on the high side, rural lot. Dozer rough grade, 1.5 days, 12 hours at $210. Skid steer finish and compaction, 6 hours at $150. Import 40 yards of class 5 for the pad, $1,400 delivered. Silt fence, 200 feet, $400 installed. Mobilization two machines, 4 hours plus $300. Bid about $6,600. If the builder asks for it by the square foot, that is $1.38, and you can show him what is in it.

Notice that in each example the per-foot, per-yard, or per-square-foot number is the last thing calculated. It is a translation for the customer, not the method.

What goes in the estimate

A bid the customer signs without shopping it has these parts in this order. This is the estimate template; put it on your letterhead.

  1. Job description in plain words. “Excavate basement for new home at [address] per the foundation plan dated [date], approximately 30 by 40 feet, 8 feet deep from existing grade.”
  2. What is included, as lines. Excavation, hauling and disposal, rough grade, ramp, mobilization, silt fence. Each with a number or “included.”
  3. What is not included. Footings, drain tile, backfill after foundation, finish grade, topsoil, seed, permits, survey, rock removal, dewatering. Anything they might assume.
  4. Unknowns clause. The sentence above.
  5. Price, deposit, and payment terms. A deposit to schedule and the balance at completion is normal for homeowners. Net 30 with builders, if you can afford to carry it.
  6. Schedule. Start window, and what it depends on: locates, weather, the plan being final.
  7. Access and site conditions the customer is responsible for. Clear path for the trailer, marked property lines, water and power if needed.
  8. Your name, license number where required, insurance statement, phone, and the date the estimate expires. Thirty days is common. Material prices move.

For a contract, the same document with signature lines, a change order clause, and a lien notice where your state requires one. Have a lawyer read your template once. Then use it every time.

Why the other guy is cheaper, and what to do about it

You will lose bids to lower numbers. Most of the time it is one of three things.

He is not counting the machine. The payment comes out of the same account as the fuel, and he thinks of the rate as “what I make.” He will be gone when the machine needs a $12,000 undercarriage.

He is not counting the hauling. He quoted the digging and will “figure out” the spoil, which means a change order or a pile the homeowner did not want.

He needs the cash this week. A real reason, and unbeatable on that job. Let him have it.

What you do is not match him. You make the customer see the difference. Your estimate lists the hauling and the dump fee; his says “excavation, $6,000.” Your site shows the machines, the finished pads with the town named, and 30 reviews; his is a phone number on a Facebook page. When the numbers are $1,500 apart and the customer is nervous, the company that looks like it will still be there in two years gets the job at the higher price more often than you would think.

Raising your rates

Fuel, insurance, parts, and wages go up every year. If your rate did not, you took a pay cut. Re-run the cost per hour every January. Put the new number on new estimates. Existing quotes hold until they expire, which is why the expiration date is on them.

The website is part of the bid

Two bids for the same basement. The builder has never used either company. He does what everyone does and looks both up on his phone at 9 p.m.

Shepard Excavating in Laporte, Minnesota launched a new site August 10, 2026. It scores 95 or better on Google’s mobile speed test where the old site scored 64. It names the machines, lists the towns, and has a form that lands in a pipeline Ryan can see from the cab. In its first 28 days, Search Console showed it in 2,050 searches with 81 clicks. Those are early, dated numbers, and they are on our results page. What they mean for a bid is simple: when the builder looks up Shepard at 9 p.m., the site tells him it is a real outfit.

If yours does not do that, I will look at it and tell you the three things I would fix first. Two business days, no charge. Show me what you would fix.

Free website review

Send me your site. I'll tell you the three things I would fix first.

Three things, in plain English, within two business days. No charge, no obligation, and I will not call you unless you ask.

Prefer email? Send your website to chris@dirtworkdigital.com.