InsightsCategory: Guides
Why does a small batch cost so much per part?
Part 5 of 9 in the series Costing and quoting
Short answer
A small batch costs a lot per part because setup and programming happen once per batch. In our worked example of 90 min setup, 60 min programming and 10 min cycle time, 1 part takes 160 min and at 100 off just 11.5 min each. The part gets no easier: the fixed time is shared across more parts.
On this page
Which times make up the price of ten parts?
A price for ten parts rests on three kinds of time. Setup time is getting the machine, workholding and tools ready, including the work offset and measuring the first part. Programming time is writing the CAM program for this part. Cycle time is what one part takes on the machine, loading and unloading included.
Decide where setup ends and write it down. The Lean Enterprise Institute measures changeover time from the last part of the previous run to the first good part of the next. On that boundary, measuring the first part and any correction after it belong to setup and stay out of the cycle time.
Setup and programming happen once per batch; cycle time comes per part, and so does material. An estimate therefore works per part and per batch, and only when the two sit apart can you see why ten parts cost more each than a hundred.
Fold all three into one production time and that information is gone. Our guide to cycle time and setup time keeps them apart for that reason, in the pre-calculation and in the times booked after production.
How much of the unit price is setup and programming?
Take the worked example from that guide: 90 min setup time, 60 min programming time and 10 min cycle time per part, with the same setup and program at every quantity. We work in minutes, so no hourly rate is needed; your machine hour rate turns them into euros. For 1 part the total is 160 min, of which 150 min is preparation: about 94 per cent.
Divide those 150 min by the quantity and you get what the estimate calls the ‘one-off share per part’. At 10 off it is 15 min, at 100 off just 1.5 min. At 100 off the total is 1,150 min and cycle time is about 87 per cent of it.
| Quantity | One-off share per part | Cycle time per part | Time per part |
|---|---|---|---|
| 1 off | 150 min | 10 min | 160 min |
| 10 off | 15 min | 10 min | 25 min |
| 25 off | 6 min | 10 min | 16 min |
| 50 off | 3 min | 10 min | 13 min |
| 100 off | 1.5 min | 10 min | 11.5 min |
| Inputs | 90 min setup + 60 min programming, divided by the quantity | 10 min | One-off share + cycle time |
What changes between 10 and 100 parts?
At 10 off, 15 of the 25 min per part is one-off time: 60 per cent. At 100 off it is 1.5 of 11.5 min, about 13 per cent. Time per part drops from 25 to 11.5 min, to less than half, while the part, the setup and the program stay the same.
The drop is steepest at the start. From 1 to 10 parts the one-off share falls from 150 to 15 min; from 50 to 100 parts only from 3 to 1.5 min. In this example the two are equal at 15 off; above that, cycle time is the larger part of the unit price, and below it preparation is.
That also tells you where saving time pays. On a batch of 100, 1 min off the cycle time saves 100 min. On a batch of 10, the same minute saves 10 min while 90 min of setup sits in the price: there the gains are in preparation.
What do you tell a customer who finds the unit price high?
That question usually lands with inside sales, who do not run the machines themselves. Start with the plain words and give the trade term after them: getting the machine ready (setup), writing the program (programming).
Four steps keep the conversation concrete.
In plain words: ‘At ten off, more than half of the time per part is getting the machine and the program ready. At 25 off, it is just over a third.’ That sentence gives the customer a choice of quantities rather than a discount.
- Name what happens once: getting the machine ready and writing the program, a fixed time for the whole batch.
- Name what happens per part: the material and the time on the machine.
- Show how much of the price per part that fixed time is at the requested quantity, and how it shrinks at the next quantity break.
- Ask whether more parts will follow this year. A repeat order at the same revision can reuse the existing program.
What sits behind each figure in a quantity break?
A quantity break gives the price per part at each requested quantity, say 10, 25 and 50 off. Behind every figure is the same build-up: material, cycle time and any finishing per part, plus the share of setup and programming that one part carries at that quantity.
A quantity break card sets that out side by side for each quantity: cost per part, one-off share and total. It lets you talk the customer through what shifts between 10 and 25 off, and shows the cost engineer the quantity at which preparation stops driving the unit price.
Work every figure in a quantity break on the quantity that runs through the machine in one go. An order for 100 parts made separately in four deliveries of 25 needs four setups. In the worked example the one-off share then becomes 4 times 90 min plus 60 min programming, divided by 100: 4.2 min per part instead of 1.5 min. Run all 100 at once and 75 parts sit in stock until the next delivery.
What does not work is one production time per part in a spreadsheet only the cost engineer can read: it prices ten parts on the same figure as a hundred. If that cell holds the time for a hundred, 11.5 min, the price at ten off misses more than half of the 25 min a part then takes, and with it the margin on the whole batch. If it holds the time for ten, you quote 25 min per part at 100 off where 11.5 min will do, and compete with more than twice the time the part needs.
Some shops put setup and programming on the quote as a one-off line, so the unit price stays flat at every quantity. It is the same sum, shown another way. The selling price comes after that, with the margin you choose per quote on top of the cost price.
How do you make a small batch cheaper per part?
At low quantities, start with preparation. With a zero-point clamping system you clamp the workpiece on a pallet outside the machine, and the pallet locates on fixed reference points on the machine table. A MetaalNieuws report on a shop running mostly one-offs and small batches describes how that cuts setup time at every product changeover.
The method behind such steps is SMED (single-minute exchange of die). The Lean Enterprise Institute sets out its core: separate the setup work that can only be done with the machine stopped from the work that can be done while it runs, and move as much as you can into the second group. On a CNC machine that means presetting tools, laying out the next workholding and checking the program while the previous batch is still running.
On a true repeat part, programming time can largely drop away: same part, same revision, same route and a program that already exists. A new revision can call for some or all of that work again, even when the geometry looks similar.
Every setup you remove saves one round of setting up; counting setups shows where to start. Running similar parts on the same workholding back to back helps too: tools and jaws stay in place.
In Blake
The cost engineer no longer puts one production time per part in a single cell. Blake calculates a part in separate lines: material, machining, finishing, setup and programming. Setup and programming sit per batch, material and machining per part, and every line shows its inputs: time, rate and quantity, with your own hourly rate per machine. When the customer asks for 10, 25 and 50 off, Blake works the quantity breaks through those same lines and the quantity break card shows cost per part, one-off share per part and total for each quantity. Change a line and Blake works every quantity again. Set a repeat part beside its last priced calculation before the new price goes out.
Frequently asked questions
How do I explain to a customer why ten CNC parts cost so much?
Split the price into what happens once per batch and what happens per part, in plain words: getting the machine ready and writing the program. Then show the price at the next quantity break.
How do you spread CNC setup cost over a batch?
Divide the setup and programming cost by the number of parts in the batch, then add that one-off share to the machining and material cost per part. Work it out again for every other quantity.
How do you read quantity breaks on a quote?
Each figure is the price per part at that quantity, with the same build-up behind it. The gap between the figures comes mostly from the one-off share of setup and programming, spread across more parts as the quantity grows.
What do you charge for setup and programming on a CNC repeat order?
Setup comes again on every batch: the machine is set up afresh and the first part measured again. Programming can largely drop away when the part, revision and route are unchanged and the program already exists. On a new revision, check what changed first.
How do you quote setup cost on an order with split deliveries?
Work on the quantity that runs through the machine in one go. If each delivery is made separately, setup comes once per delivery and every part carries a larger one-off share. Run the whole order at once and the rest sits in stock.
How do you cut setup time on a CNC machine for small batches?
Move work from standstill into the time the machine is running. Preset the tools, clamp the workpiece on a zero-point pallet outside the machine and lay out the next workholding. Only the changeover itself and measuring the first part remain at standstill.
Sources
- Subduxion, Cycle time, setup time and programming time: what is the difference?, May 2026 (opens in a new tab)
- Subduxion, Pre-calculation vs post-calculation: what each one can tell you, June 2026 (opens in a new tab)
- MetaalNieuws, Kleine investering in referentiesysteem geeft grote tijdwinst (in Dutch), November 2014 (opens in a new tab)
- Lean Enterprise Institute, Changeover, consulted November 2026 (opens in a new tab)
- Lean Enterprise Institute, Single Minute Exchange of Die, consulted November 2026 (opens in a new tab)