CNC Cycle Time Estimation: A Practical Method for Accurate Quotes
July 8, 2026
Cycle time is the single number that decides whether a CNC quote makes money. Material is a line you can look up, setup is a figure you already know per machine, and margin is a percentage you apply at the end — but cycle time is the one input most estimators still guess at, and it is the one that quietly turns a profitable job into a break-even one. A part quoted at four minutes that actually runs seven does not lose a little margin; on a batch of 200 it burns ten machine-hours you never charged for. CNC cycle time estimation is the discipline of turning the geometry on a drawing into a defensible time, the same way every time, instead of "that looks like a five-minute part."
This article lays out a practical, formula-driven method: break the cycle into its real components, calculate the cutting time you can actually compute, estimate the non-cutting time you usually forget, and close the loop against shop-floor actuals so the number gets better with every job.
Cycle time is not one number — it's a stack
The mistake that wrecks quotes is treating cycle time as a single intuitive figure. In reality it is a stack of distinct components, and the ones estimators skip are rarely the cutting itself — they are everything around it.
- Cutting time — spindle engaged, tool removing material. The part you can compute from feeds and speeds.
- Rapid and positioning moves — the tool travelling between features at rapid, retracting, repositioning. Small per move, large in aggregate on a part with many features.
- Tool changes — every tool swap on a machining centre costs a few seconds of turret index or ATC change, plus any approach.
- Load / unload — operator handling per part: open the door, unclamp, blow off chips, reclamp the next blank. Fixed per cycle, and brutal on small parts run one at a time.
- In-process gauging and deburr — measuring a critical bore mid-cycle, breaking an edge at the machine.
Add them and you have a true cycle. Skip the bottom three — as rushed estimates do — and you systematically underquote every part, worst of all the small, high-feature ones.
Cutting time: the part you can actually calculate
Cutting time is where the method earns its name, because it is arithmetic, not opinion. The core relationships are worth keeping on a card by the desk.
For turning and drilling, machining time per pass is:
t = L ÷ (f × N) where N = (1000 × Vc) ÷ (π × D)
L= length of cut (mm)f= feed per revolution (mm/rev)N= spindle speed (rev/min)Vc= cutting speed (m/min), from the tooling data for the materialD= diameter (mm)
For milling, you work from the table feed rate:
t = L ÷ vf where vf = fz × z × N
vf= feed rate (mm/min)fz= feed per tooth (mm)z= number of teethL= total tool path length for the pass
A worked turning example: facing and turning a 50 mm diameter over 100 mm of length, in a material that runs at Vc = 200 m/min, feed 0.2 mm/rev.
| Step | Calculation | Result |
|---|---|---|
| Spindle speed N | (1000 × 200) ÷ (π × 50) | ≈ 1273 rev/min |
| Time per pass | 100 ÷ (0.2 × 1273) | ≈ 0.39 min |
| Two roughing + one finish pass | 0.39 × 3 | ≈ 1.18 min |
That 1.18 minutes is cutting time only. It is real, repeatable, and defensible — and it is usually well under half the true cycle once you add everything else. Treating the cutting time as the whole cycle is the most common reason a "fast" part loses money.
Non-cutting time: where the minutes hide
The components you cannot put in a feeds-and-speeds formula are exactly the ones that decide the job. They have to be estimated explicitly, not assumed to round to zero.
- Tool changes. Count the tools the part needs. A turret index runs ~1–2 seconds; an ATC change on a machining centre ~3–6 seconds, plus the approach move. A part with eight tools can spend the better part of a minute just changing them.
- Rapids and approach. Every feature has a rapid in, an approach at feed, and a retract. On a plate with thirty drilled and tapped holes, the positioning between holes can exceed the drilling time.
- Load / unload. This is the killer on small batches. If unclamping, cleaning, and reclamping takes 40 seconds and the cutting is 30, the operator handling is more than half the cycle. A bar feeder or pallet system collapses this toward zero — which is exactly why the machine class matters as much as the geometry, a point the CNC turning and lathe quoting guide develops for turned work.
- In-process inspection. A gauged bore checked every part, or a first-article loop, adds time that belongs in the cycle, not in overhead.
A useful rule of thumb when you have no CAM simulation: non-cutting time on a multi-feature part is often 40–70% of total cycle. If your estimate has cutting time as 90% of the cycle, you have almost certainly forgotten something.
Three ways to estimate — and when each is honest
Shops reach the cycle number three different ways, and each is legitimate in the right place.
- Bottom-up (analytical). Compute cutting time per operation from the formulas above, then add tool changes, rapids, and handling. Slow but the most defensible, and the only method that survives a customer challenge line by line.
- By analogy. "This is like that bracket we ran last month, scaled up 20%." Fast and accurate if you have a real, recent reference part and you adjust honestly for the differences. Dangerous when the reference is half-remembered.
- CAM / simulation. The post-processed cycle from the CAM system is the gold standard for cutting plus rapids — but it does not include load/unload, gauging, or the operator reality, so you still add those by hand.
The practical answer is a blend: analogy to get a fast first figure, the formulas to sanity-check the cutting block, and explicit line items for the non-cutting time the CAM never sees. Where a part has several distinct setups or operations, a written work plan for multi-step operations keeps each operation's cycle from being lumped into one optimistic guess.
Setup time is a different cost — don't blend it in
Cycle time is per part. Setup time is per job — loading the program, fitting jaws or fixtures, indicating, running the first-off, completing the first-article check. It happens once whether you make one part or fifty, so it is divided by the batch, not added to every cycle.
| Batch size | Setup cost (€180 total) | Setup per part |
|---|---|---|
| 1 | €180 | €180.00 |
| 10 | €180 | €18.00 |
| 50 | €180 | €3.60 |
| 200 | €180 | €0.90 |
Keeping cycle and setup separate is what lets you quote a quantity break you can defend instead of discounting by feel. The cycle time stays constant per part; only the amortised setup falls with quantity. Once you have a clean cycle time, multiply it by the machine's fully burdened rate — built per machine the way the machine shop hourly rate calculation describes — and you have the machine-time block of the unit price build-up.
Close the loop: estimate, run, compare
An estimate you never check against reality never improves. The shops that quote cycle time well are the ones that capture the actual run time off the machine — from the controller, the MES, or just an honest operator note — and compare it to the quoted figure.
A simple feedback table per job class teaches you where your estimates drift: maybe your turning cutting time is spot-on but you consistently under-count tool changes by 30%, or your load/unload assumption is fine for batches but wrong for one-offs. That correction factor is worth more than any generic benchmark, because it is calibrated to your machines, your operators, and your parts. Systematically logging estimate-versus-actual is the same discipline that drives down quoting error across the board, covered in reducing quoting errors and improving accuracy.
From a drawing to a cycle time, automatically
The slow, error-prone step in CNC cycle time estimation is not the arithmetic — it is reading the drawing completely and turning every feature into an operation. The diameters and lengths, the hole count, the threads, the tolerance callouts that force a finish pass, the material that sets your cutting speed: miss any of them and the cycle is wrong before you ever apply a rate.
QuoteBuddy reads the technical drawing and surfaces those features — material, key dimensions, hole and thread counts, tolerance classes, and the operations the geometry implies — so the estimator builds the cycle from a complete picture instead of a hurried scan. The cost engine then assembles cutting time, non-cutting time, setup amortised over the batch, and your target margin the same way on every part, so the number you quote is the number the job was planned to.
Start a 30-day trial and run a few real drawings through it — from upload to a complete, itemized quote PDF — and see whether the cycle time it builds matches what your best estimator would produce on a good day, every day.