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

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.

Ready to measure this on your jobs?

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

  1. Step 1
    Export with machine/work center

    Include hours if your ERP exports them.

  2. Step 2
    Upload

    Columns map automatically for common ERPs.

  3. Step 3
    Review 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.

Worked example: job JB-10421 from the JobBOSS² sample export
LineEstimatedActualVariance
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.

Still deciding? Start with a CSV import or the demo shop.

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.

Ready to find margin leaks?

Sign up free, explore the demo, or compare plans — keep your ERP either way.