Why total variance is not enough
A job that finishes $850 over the estimated cost tells you that profit was lower than planned. It does not tell you why. Labor could have run long, materials could have increased, equipment could have come in under budget, or several effects could have offset each other. Only a category comparison shows which assumption failed.
The review also has to hold the selling price and scope constant. If the price changed mid-job, or extra work was added without a change order, the difference between expected and actual profit mixes pricing, scope and cost performance into one number that cannot be interpreted.
Set up an honest comparison
Expected profit is selling price minus payment processing minus estimated cost. Actual profit is the same price minus the same processing minus actual cost. The difference is the leakage.
profit leakage = expected profit − actual profit at the same selling price- Use the original estimate as recorded, not a version revised after the job started.
- Use actual invoices, payroll records and receipts for actual costs, not a second estimate.
- Keep the same selling price before tax on both sides.
- Separate change-order revenue and cost, or remove them from both sides.
- Group costs into the same categories as the estimate: labor, materials, equipment, subcontractors, travel, permits, disposal, overhead and other.
Worked example
The numbers are illustrative. The useful part is the method: the same price, the same processing rate, and a category breakdown that identifies labor as the primary source rather than stopping at the total.
Illustrative example: a job reviewed after closeout
- Estimated total cost: $7,250. Selling price before tax: $10,000. Processing rate: 2%.
- Expected profit: $10,000 − $200 − $7,250 = $2,550.
- Actual total cost: $8,100. Actual profit: $10,000 − $200 − $8,100 = $1,700.
- Profit leakage: $2,550 − $1,700 = $850.
- Category variance: labor +$650, materials +$250, equipment −$50. Net: +$850.
Profit leakage: $850, primarily from labor.
Diagnose the variance
- Labor over: underestimated hours, lower productivity, rework, waiting, callbacks, or a loaded rate that is out of date.
- Materials over: quantity takeoff error, waste, price increases, upgrades, or purchases that belong to another job.
- Equipment over: more days on site than planned, an extra rental, or ownership costs that were never charged to the job.
- Subcontractors over: scope was broader than the subcontract, or a change was approved verbally without a price.
- Overhead over: the allocation rate is stale, utilization fell, or indirect spending rose without being reflected in the rate.
- Underruns: verify they are real savings, not deferred costs, missing invoices or work that will return as a callback.
Build a variance bridge
A category total is a start. A variance bridge splits each category into the part caused by quantity or hours and the part caused by rate or price. The split is arithmetic, not a judgment about blame, and it turns "labor was over" into a specific assumption to inspect.
The two parts add to the category's total amount variance, before rounding. If the bridge does not add up, check that the estimate and actual records use the same units, the same loaded rate and the same selling price.
Record change orders separately. Added work changes both the revenue and the cost, so leaving it inside the original comparison makes a normal change look like a productivity failure.
- Labor hours variance: (actual hours − estimated hours) × estimated loaded rate.
- Labor rate variance: (actual loaded rate − estimated loaded rate) × actual hours.
- Materials quantity variance: (actual quantity − estimated quantity) × estimated unit price.
- Materials price variance: (actual unit price − estimated unit price) × actual quantity.
- Equipment: separate extra rental days from a change in the day rate.
- Subcontractors: separate added scope from a price change on the same scope.
Turn the review into a better estimate
Start with the largest variance and ask whether the cause is one-off or structural. A single difficult site may not justify changing every future estimate. The same labor overrun on five similar jobs probably does.
Update the specific assumption, not the whole model: the productive-hour figure, the loaded rate, the material waste allowance, the contingency percentage or the overhead rate. Then watch the next few jobs to see whether the change improved the result. Changing several assumptions at once makes it impossible to know which one helped.
Saved jobs in this browser keep the estimate and recorded actuals together, so the comparison can be reopened after the job closes. The estimate-versus-actual calculator and its CSV export use the same categories as the job-cost report.
Limits of a single-job review
One job is a sample of one. It can reveal a missing cost or a pricing error, but it cannot establish a trend. Reviews become more reliable when the same categories are compared across similar jobs and across time.
The review also cannot correct a price that was set without a cost estimate. If there was no original estimate, record what you learned about actual cost and start the next job with a complete estimate rather than reconstructing a baseline after the fact.
Sources and scope
QuoteFormula records
- QuoteFormula calculation methodology and formula version 2026.10.1
- Figures recorded by the contractor in this browser
- Illustrative worked examples written for this guide
Primary sources
These guides explain QuoteFormula's arithmetic and common contractor business concepts. They do not provide tax, legal, payroll, insurance or accounting advice. Every example is illustrative, not a benchmark, market rate or promise of profit.
Editorial details
Found an error? Compare the arithmetic with the published methodology, the data sources page and the editorial policy.