Estimating earthwork labor means taking cut and fill volumes off the plans, picking equipment and crew, applying a production rate to each operation, and converting equipment and labor hours into cost. The hard part is productivity, how many cubic yards per hour your crew actually moves, which swings with soil type, haul distance, weather, and access. Build ranges from your past jobs and check the total against recently completed work before you commit.
What You Are Counting
Earthwork takeoff starts with the existing and proposed contours and converts them into cut and fill volumes in CY. You break the takeoff into stripping topsoil, bulk cut, bulk fill, trench excavation, backfill, hauling off excess, and importing borrow. Topsoil stripping is taken off in SF and converted to CY by depth. Bulk cut and fill are computed by cross section or grid method, with a swell factor applied to cut material that becomes fill, and a shrink factor applied to fill placed and compacted. Trench excavation is taken off in LF by trench size, with CY per LF derived from width and depth. Backfill is taken off in CY, with separate lines for structural fill, bedding, and common fill. Haul off is counted in CY of loose material, and import is counted in CY delivered and placed.
Compaction is figured into the fill operation, not as a separate line, but rolling and testing time has to be accounted for. Do not forget the incidental work: clearing and grubbing, demolition of existing slabs or pavement, dust control, dewatering, and erosion control. These can add 10 to 20 percent to the direct earth moving hours depending on the site.
Crew and Production Rate
An earthwork crew is built around the equipment, not the other way around. A typical cut and fill spread pairs an excavator or loader with dump trucks for hauling, plus a dozer for spreading and a roller for compaction. Each piece of equipment has an operator, with laborers and a grade checker for support. Trench work is often an excavator plus a small crew for pipe bedding and backfill. The labor rate for equipment operators runs roughly $25 to $55 per hour burdened, varying by region, equipment class, and union versus open shop. Equipment cost is priced separately by the hour, including fuel, maintenance, and depreciation.
Production is measured in CY per hour for bulk cut and fill, and LF per hour for trench work. Common ranges in good conditions: a midsize excavator loading trucks might move in the neighborhood of 50 to 100 CY per hour of loose material, a dozer spreading fill might push 30 to 80 CY per hour depending on haul distance and grade, and trench excavation might run 20 to 60 LF per hour depending on depth and soil. RSMeans publishes earthwork production ranges by equipment and material type, and most estimators build their own library from past project cost reports. Your own numbers, broken down by soil type and haul distance, are the most reliable source.
Step by Step Labor Estimate
- Take off quantities by operation: stripping, bulk cut, bulk fill, trench excavation, backfill, hauling, import, and incidental work.
- Pick the equipment spread: excavator or loader, dozer, roller, trucks. Note the operator rate for each.
- Apply production rates in CY per hour or LF per hour for each operation, using a low and high range.
- Divide quantities by the production rate to get equipment and operator hours for each line.
- Add labor burden: payroll taxes, workers comp, insurance, benefits, and overhead. Typically 30 to 45 percent on top of bare wages.
- Add non productive hours: mobilization, clearing and grubbing, dewatering, grade checking, testing, and demobilization.
- Multiply burdened operator hours by the wage rate to get labor cost, and add equipment cost separately by the hour.
Factors That Move the Number
Soil type is the biggest driver. Loose sand and gravel move faster than stiff clay, and rock requires ripping or blasting, which is a different operation entirely. Haul distance on site changes dozer and truck production dramatically: a 100 ft push is fast, a 500 ft push is not. Off site hauling adds trucking cost per load, and the cycle time to the dump or borrow pit sets the number of trucks needed to keep the loader busy. Moisture matters: wet clay is sticky and slow to load and place, and saturated material may require dewatering before excavation. Access and room to maneuver on a tight site cut production. Weather can shut the crew down or force erosion control work that was not planned. Document these factors in the estimate so each can be priced separately.
Worked Example
For a representative earthwork scope, a 1 acre site with 500 CY of cut, 300 CY of fill, and 200 CY of haul off, a typical direct cost breakdown looks like this:
| Materials | $3,200 |
| Labor (60 man hours at $25 to $55 per hour) | $2,400 |
| Direct cost | $5,600 |
Numbers are illustrative and vary by region, project size, and material choice. Use them as a sanity check, not a bid.
Common Earthwork Labor Mistakes
- Using one CY per hour number for all soils. Sand and clay and rock are not the same.
- Forgetting swell and shrink factors. Cut material does not equal fill volume, and compacted fill is less than bank volume.
- Not burdening the labor rate. Taxes, insurance, benefits, and overhead go on top of the bare wage.
- Underestimating mobilization, clearing, dewatering, and testing hours. These are real and billable.
- Missing the haul distance penalty. On site and off site hauling change the truck count.
- Ignoring weather and access. Tight sites and wet ground cut production sharply.
Putting It Together
The estimate is only as good as the takeoff behind it. Start with clean volumes, separate by operation, and apply a production range for each soil and equipment combination. Carry low and high numbers so the spread is visible, then add labor burden and non productive hours, including mobilization, clearing, dewatering, and testing. When the bid comes together, compare labor and equipment cost per CY to your last few completed jobs. If the number is far outside that range, either the takeoff missed something or the production assumption is off. Fix it before you commit, not after the equipment is on site.