Guides · estimated vs actual job costing
Estimated vs actual job costing: a practical guide for job shops
Estimated vs actual job costing compares what a job was quoted to cost with what it really cost, category by category, so you can see where margin went and fix the estimate, the price, or the process.
By the MarginGuard team · FactoryEdgeAI · Last reviewed
- The three formulas you need (variance, margin, erosion)
- A worked example with real numbers
- The five variance categories and what usually drives each
- How to turn variance into a weekly decision, not a report
The problem
Most job shops know their overall margin from the P&L, weeks after month-end. What they don't know is which jobs produced it. A shop running 25% gross margin can have a third of its jobs below 10% and a handful losing money outright. The averages hide them, and the estimates that produced them get reused on the next quote.
What to measure
Job cost variance = actual cost − estimated cost (positive means an overrun). Estimated margin = revenue − estimated cost. Actual margin = revenue − actual cost. Margin erosion = estimated margin − actual margin, which always equals the cost variance when revenue is fixed. Track it in dollars first: a 10-point miss on a $2,000 job matters less than a 3-point miss on a $90,000 job.
How MarginGuard helps
MarginGuard calculates these for every job in your ERP export, ranks jobs by dollars eroded, breaks erosion into the five categories, and rolls it up by customer and part family. A calculation that takes hours in a spreadsheet happens on upload. You can also try the free variance calculator for a single job.
Next step: sign up, load the demo, or compare plans.
How to get started
- Step 1Export estimated and actual costs per job
From your ERP, export one row per job with revenue, estimated cost, and actual cost, ideally split by category. Use the guide for your ERP.
- Step 2Calculate variance and erosion
For each job: actual − estimated by category, then estimated margin − actual margin. Sort by erosion in dollars.
- Step 3Find the pattern, then act
Group the top losers by customer, part family, work center, and category. Decide per pattern: fix the estimate, reprice the customer, or fix the process.
- Step 4Repeat weekly
Review the new top 10 every week while jobs are still fresh in people's memory, and check whether last week's fixes held.
The five variance categories
Labor (run time longer than standard, slower operators, rework), Setup (more setups than planned, long first-article), Machine/burden (wrong machine rate, routed to a costlier machine, extra hours), Material (price increases, yield and scrap, substitutions), and Outside processing (vendor price changes, expedite fees, extra operations). Labor and setup are usually estimating or process problems; material and outside processing are usually pricing or purchasing problems.
Estimate problem, price problem, or process problem?
If the same part family overruns every time, the estimate standard is wrong, so fix the standard. If one customer's jobs erode across part families (rush orders, engineering changes, tight tolerances), it's a pricing problem, so reprice or add terms. If a work center or shift overruns regardless of part, it's a process problem, so fix the process. Variance data tells you which conversation to have.
Why dollars beat percentages
Percent variance overweights small jobs. Ranking by dollars puts the jobs that actually move the P&L at the top of the list, and makes the weekly review a 30-minute meeting instead of a spreadsheet exercise.
Common data pitfalls
Open jobs without actuals look perfect, so filter to closed jobs or jobs with actuals posted. Operation-level exports double-count when summed. Mixed revenue bases (quoted vs billed) make margins incomparable. Burden rates that changed mid-year make old estimates look worse than they were, so note rate changes.
| Line | Estimated | Actual | Variance |
|---|---|---|---|
| Labor | $2,800 | $3,100 | $300 |
| Setup | $600 | $650 | $50 |
| Machine / burden | $1,900 | $2,100 | $200 |
| Material | $3,200 | $3,350 | $150 |
| Outside processing | $400 | $420 | $20 |
| Total cost | $8,900 | $9,620 | $720 |
| Margin | $3,600 (28.8%) | $2,880 (23.0%) | −$720 erosion |
Revenue $12,500. Positive variance = cost overrun. Margin erosion = estimated margin − actual margin.
| Finding | Likely cause | Action |
|---|---|---|
| Labor +$300 (largest) | Run time over standard | Compare routing standard to actual cycle time; update the estimate |
| Burden +$200 | Extra machine hours or a costlier machine | Check which machine actually ran it |
| Material +$150 | Price increase since quote | Add a material escalation clause or requote validity window |
| Setup +$50, Outside +$20 | Minor | Monitor; act only if repeated |
Downloads
- Job cost template (CSV)
Estimated and actual columns by category.
FAQ
- What is estimated vs actual job costing?
- Comparing the cost a job was estimated (quoted) at with the cost it actually incurred, usually split into labor, setup, machine/burden, material, and outside processing, to find where margin was gained or lost.
- How do you calculate job cost variance?
- Actual cost minus estimated cost, per category and in total. A positive number is an overrun. Margin erosion is estimated margin minus actual margin.
- What is a good job cost variance?
- There's no universal number. Many shops treat jobs within ±5% of estimate as on target and review anything beyond that, prioritized by dollars rather than percent.
- How often should we review estimated vs actual?
- Weekly for recently closed jobs, so the people involved still remember what happened. Monthly reviews are usually too late to change behavior.
- Can I do this in Excel?
- Yes for a few jobs. It gets slow once you want rankings, customer rollups, and history across months, which is what MarginGuard automates from your ERP export.
Related MarginGuard pages
Related FactoryEdgeAI products
MarginGuard is the profitability layer. Pair it with the rest of the FactoryEdgeAI family when you need alarms or machine monitoring too.
- MarginGuard
Job-level profitability intelligence: estimate vs actual, margin alerts, and opportunity tracking beside your ERP.
- FactoryEdgeAI
CNC alarm lookup, troubleshooting guides, and shop-floor knowledge for machinists and programmers.
- Machine Monitor
MTConnect machine monitoring for utilization and status — pair with MarginGuard when you want contribution, not just busy spindles.
Run this analysis on every job at once
Upload your ERP export and get erosion by job, customer, and category in minutes. Or try the free calculator on a single job.
Keep your ERP. CSV import today. Create an account or sign in.