The question every estimator lives with after a job closes is simple: what did it actually cost, against what we bid? The margin equation answers that directly by subtracting five cost categories from contract revenue: labor, equipment, materials, subcontract, and allocated overhead.
This matters most for owners and project managers of heavy civil and mining contracting firms, where a single job can represent months of equipment utilization and dozens of crew shifts. A 3% variance on a $3 million job is $90,000, and that variance is rarely visible until someone closes the books.
Your crew already collects data on all five cost lines every shift. The gap is not data collection: it is converting that field data into the same units your estimator used when pricing the work.
What is job costing in construction?
Job costing in construction is tracking every dollar spent on one contract against that contract's own revenue and bid, so you know what the job made while it is still running, not after the books close. Each cost (crew hours, machine hours, materials, subcontract and overhead) is tagged to the job and to a cost code from the estimate, then held against the number the estimator priced.
Job costing in the construction industry: what heavy civil and mining add
Heavy civil and mining jobs add one complication that matters more than any other: the equipment line. Fleets run across shifts and are often shared between jobs, so machine hours have to be split to the right job and cost code before the margin means anything. In the worked example below, equipment is the largest of the five lines.
The equation: Job Margin Equation
M = R - (L + E + Mat + S + OH)
Where:
M- Job margin (dollars)R- Contract revenue (dollars)L- Labor cost (direct wages plus payroll burden) (dollars)E- Equipment cost (ownership plus operating) (dollars)Mat- Materials cost (dollars)S- Subcontract cost (dollars)OH- Allocated overhead (dollars)
Valid for: Holds for any single-client contract where all five cost categories can be isolated to one job; breaks down when equipment or labor is shared across concurrent jobs without a defined allocation method.
Source: This form is derived from the cost categories described in the SME Mining Engineering Handbook, 3rd edition, 5.1.2.4 Investment Analysis, p. 301
Worked example
A contractor prices a haul-road upgrade at a copper mine. Contract revenue is $3,200,000. Field records at job close show labor $760,000, equipment $1,140,000, materials $280,000, subcontract $210,000, and overhead allocated at $192,000.
| Step | Calculation | Result |
|---|---|---|
| Sum the five cost lines | $760,000 + $1,140,000 + $280,000 + $210,000 + $192,000 | $2,582,000 |
| Apply the margin equation | M = $3,200,000 - $2,582,000 | $618,000 |
| Express margin as percentage of revenue | $618,000 / $3,200,000 | 19.3% |
Answer: The job returned a margin of $618,000, or 19.3% of contract revenue.
Where each cost line comes from in the field
Labor (L) is the most direct of the five lines. Your crew logs hours each shift. Multiply those hours by the loaded rate: direct wages plus payroll burden. Burden covers payroll taxes, workers' compensation, and benefits. Most of this data exists in your timesheet system already. The step most contractors miss is tagging each labor entry to a specific cost code for the job rather than posting everything to a single project account.
Equipment (E) has two components: ownership cost and operating cost. Ownership covers depreciation, insurance, and financing on the machine. Operating covers fuel, tires, filters, and wear parts consumed each shift. Most estimators price equipment at an hourly rate that assumes a specific utilization level: a target number of productive machine hours per shift. When actual utilization falls short of that assumption, your cost per unit of production rises even if your hourly rate matches the bid exactly.
Materials (Mat) comes from delivery tickets and weigh-bridge records. In earthworks or road-base contracts, materials means aggregate, gravel, or fill. In a drill-and-blast scope, it means explosives, blasting agents, and drill consumables. Post each delivery to the correct job the day it arrives. Batching at month-end introduces errors because allocations become guesswork once memory fades.
Subcontract (S) covers scoped work passed to another firm: fuel delivery, equipment transport, or specialized services. These originate from written quotes and signed scopes, so the bid number is usually firm and actuals should track it closely. A gap between bid and actual subcontract cost almost always traces to unauthorized scope creep: work the sub performed outside the original scope without a formal change order.
Overhead (OH) is the line handled most inconsistently across firms. The SME Mining Engineering Handbook (3rd edition) describes overhead allocation for detailed project cost work as a "calculated estimate" against direct construction cost, meaning overhead must tie to a defined direct cost base rather than float as a catchall (5.1.2.4 Investment Analysis, p. 301). Whatever method you use, it must match the method your estimator used when pricing the job. A percentage-of-direct-cost method in the estimate paired with a flat monthly charge in the actuals creates a false variance in every comparison you run.
The efficiency gap hiding in your equipment line
When your estimator priced the job, they assumed a specific number of productive minutes per hour the equipment would run. The Caterpillar Performance Handbook (edition 50) puts that assumption in plain numbers: a day shift operation runs at 50 productive minutes per hour, a working hour factor of 0.83. Night shift drops to 45 minutes per hour, a factor of 0.75. These are the handbook's approximation when no site-specific job data is available (Job Efficiency, p. 10).
Those factors do not account for weather delays or machine downtime for maintenance and repairs. Your site conditions determine the actual number.
If your estimator assumed 0.83 and your crew is running night shifts at a realized factor of 0.70 because of extended pre-shift equipment checks and soft ground underfoot, the production shortfall does not appear as a named line on your cost report. It shows up as more machine hours logged to move the same volume. Your E line climbs. Your L line climbs alongside it.
The way to catch this before it compounds is to track production rate daily: units of work completed per equipment shift hour. A road-base crew that estimated 450 BCY per excavator shift and is delivering 390 BCY has a 13% efficiency gap. That gap, compounded over 60 days of excavation, adds substantial hours and fuel to both E and L in ways the original cost breakdown did not anticipate.
Cat's technology products are designed to surface this data in real time from machine sensors. Cat Payload records load counts and cycle times onboard. Cat MineStar Fleet aggregates that data across the fleet (Caterpillar Performance Handbook, edition 50, Introduction, p. 2). Not every contractor runs this hardware. If you don't, a daily operator report with three fields - shift start time, units moved, and fuel drawn - gives you the same rate calculation from paper records.
Aligning field records to bid categories
The primary source of error in construction job costing is not arithmetic. It is misalignment between how costs were classified at estimate time and how they get coded in the field.
Your estimator may have priced drill-and-blast work at a unit rate that split explosives into materials and drill wear parts into equipment. Your accounts payable team may post all of it to a single "drilling supplies" account. When you try to reconcile actuals to the bid, you cannot isolate whether the variance sits in Mat or in E, which means you cannot identify which estimate assumption was wrong or where to improve next time.
The fix is a cost-code structure that mirrors the estimating breakdown before the job starts, not after it finishes. Each purchase order, timesheet, and equipment hour log should carry a code that maps directly to one of the five lines in the margin equation. This is posting discipline, not additional data collection. The field data already exists. The question is whether it arrives in the right bucket.
For contractors working on federally funded heavy civil projects, prevailing wage requirements under the Davis-Bacon Act shape how labor craft classifications are defined and what rates must be paid. The applicable wage determinations are published at ecfr.gov, Title 29, Part 5 and define the craft categories that should map directly to your labor cost codes. If your cost codes use different craft names than the wage determination, your reconciliation between payroll and estimate will require a translation step every time.
Reading the variance before the job closes
A job cost report is only useful when there is still time to act on what it shows. Most contractors run actuals-to-budget comparisons monthly. On a 90-day contract, a month-end review at day 30 is the first checkpoint. By then you have one-third of the job history to work from.
If the E line is running 8% over bid at day 30, the question is whether that overrun is front-loaded - mobilization, clearing, initial ground-breaking - or whether it reflects an efficiency gap that will persist through the remaining schedule. One is noise. The other is a trend. You cannot tell which without comparing cost incurred against work completed, not against elapsed time.
Three checkpoints per job - at roughly 25%, 50%, and 75% of estimated duration - give you two adjustment windows before the final quarter where your options narrow. At each checkpoint, compare cost incurred against the percentage of physical work complete. If you are 40% through the budget and 30% through the work, the gap is real and growing. If you are 30% through the budget and 40% through the work, you are running ahead of the estimate.
The checkpoint at 50% completion carries the most weight. By then you have enough history to separate front-loaded costs from persistent ones, and you still have half the job to work with. A conversation with the owner about scope drift is far easier to open at 50% complete than at 95% complete with a disputed final invoice on the table.
What to do when actuals diverge from the bid
A variance between actual and bid cost is information. The first task is naming its cause.
Equipment variances usually trace to one of three sources: a wrong production rate assumption in the estimate, a ground condition that differed from the pre-bid survey, or maintenance downtime the efficiency factor did not capture. The Caterpillar Performance Handbook states explicitly that the working hour factors of 0.83 and 0.75 do not account for weather delays or machine downtime for maintenance and repairs, and that those must be estimated from experience and local conditions (Job Efficiency, p. 10). If a soil condition not visible during the site inspection is slowing your scrapers, that is a changed-condition claim. It is not a cost overrun you absorb without documentation.
Labor variances trace to productivity, crew size, overtime, or scope change. If you bid the job with a four-person drill crew and ran it with five because of safety requirements you missed at estimate time, that is a lesson for the next bid sheet. It is also a cost you need to document and price into similar scopes going forward.
Materials variances in earthworks often trace to shrinkage and swell factors that differed from bid assumptions. If you estimated 0.85 shrinkage on sandy clay and encountered 0.90 in the field, you moved more bank volume per compacted cubic yard of fill than you priced. Your hauling and compaction hours climbed with it. The Caterpillar Performance Handbook's production estimation methodology uses load factors and shrinkage factors as primary inputs precisely because small differences in those values produce large differences in total volume and total cost (Job Efficiency, p. 10).
Running actuals-to-bid comparisons at project checkpoints rather than at closeout means each variance still has a cause and a potential response. At closeout, a variance is a number. Midway through the job, it is still correctable.
Run your own numbers
Rather than work it by hand every time, the job cost and margin calculator does this arithmetic and shows its working. The rest of the set is on the mining calculators page.
Common questions
What is job costing in construction?
Tracking every cost on one contract (labor, equipment, materials, subcontract and allocated overhead) against that contract's revenue and bid, tagged to the estimate's cost codes, so the margin is known while the job is running.
What is the difference between job margin and markup?
Margin is profit as a percentage of revenue: M / R. Markup is profit as a percentage of total cost: M / (L + E + Mat + S + OH). Using the example above, the margin is 19.3% ($618,000 / $3,200,000) and the markup is 23.9% ($618,000 / $2,582,000). Same dollar figure, two different denominators. Estimates typically use markup; client-facing reporting typically uses margin.
How should I allocate overhead to a specific job?
The most common approach is a fixed percentage of direct cost, typically 8 to 12% depending on your office-to-field ratio. A second method is a per-equipment-hour rate spread across all active jobs. What matters most is consistency: use the same allocation method in your estimates and in your actuals, or the comparison produces a false variance.
When should I first run actuals against the bid on a long project?
At the first of the three checkpoints, roughly 25% of estimated duration. Treat it as an early read: mobilization costs are still in the numbers, so a gap there is a flag to watch rather than a verdict. The 50% checkpoint is where front-loaded costs separate from persistent ones.
Getting this off paper
Most contractors already know these numbers. The cost is in re-keying them into a report, then a timesheet, then an invoice. If that is where your week goes, book a 20-minute call and we will look at your actual paperwork.