Industries · CNC machine shop job costing
Profitability analysis for CNC machine shops
In a CNC shop, margin is won or lost on cycle time, setups, and machine rates. MarginGuard shows where actuals beat or miss the estimate, by part family and machine.
By the MarginGuard team · FactoryEdgeAI · Last reviewed
- Labor and burden variance by machine
- Setup overruns on short runs
- Underquoted part families surfaced automatically
The problem
CNC estimates depend on cycle-time and setup assumptions that are rarely checked against reality. When a part runs on a different machine, needs extra setups, or prove-out takes longer than planned, the overrun lands in labor and burden and repeats on the next order.
What to measure
Per job: labor, setup, and burden variance against estimate, plus estimated vs actual hours when exported. Across jobs: which machines and part families carry most of the erosion.
How MarginGuard helps
Upload your job-cost export (with machine or work center if available). MarginGuard ranks erosion by part family and machine and shows whether labor, setup, or burden drove it.
Next step: sign up, load the demo, or compare plans.
How to get started
- Step 1Export with machine/work center
Include hours if your ERP exports them.
- Step 2Upload
Columns map automatically for common ERPs.
- Step 3Review by machine and part family
Fix standards where misses repeat.
What CNC shops usually find
Short-run setups underquoted, jobs routed to a higher-rate machine than estimated, first-article and prove-out time missing from quotes, and tooling or material costs rising between quote and run.
Hours vs dollars
If your ERP exports estimated and actual hours alongside dollars, compare both. Hours over estimate with dollars on target usually means a cheaper machine or operator absorbed the time. Dollars over with hours on target points at the rate: the job ran on a higher-burden machine, or the burden rate itself changed. Separating the two tells you whether to fix the cycle-time standard or the routing and rate assumptions.
Burden follows labor
Most CNC shops apply burden per labor or machine hour, so a labor overrun drags burden with it. In the example below, $300 of labor overrun brought $200 of burden overrun. Fix the hours driver and the burden variance shrinks with it; don't chase the burden line separately unless rates changed.
| 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.
FAQ
- Do we need machine monitoring data?
- No. ERP job costs are enough. If you also use Machine Monitor, utilization context complements the margin view.
- Can it show variance by machine?
- Yes, if your export includes a machine or work-center column.
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.
Act on CNC machine shop job costing
Create a free account, import a job-cost CSV, and review margin leaks—or load the demo shop first.
Keep your ERP. CSV import today. Create an account or sign in.