Spindlewise Join the founding programApply

Guides · 23 October 2026

Why small CNC batches lose money, and how to price them

A buyer asks for prices at 10, 25, 50 and 100 pieces. Many shops work out a price per part and use it for every quantity, maybe with a small discount for the big batch. That is how small batches end up losing money: the costs you pay once per order are hidden inside a per-part price that assumes a long run.

Costs per order, costs per part

Every job has two kinds of cost:

At 100 pieces, two hours of programming barely shows in the unit price. At 10 pieces, it can be a third of it.

A worked example

An aluminium part: one hour of setup and a 6-minute cycle on a machine that costs A$120 an hour with its operator, 2.5 hours of CAM programming at A$95 an hour, A$7.50 of material per blank, and clear anodising at A$3.00 a part with a A$120 minimum lot charge. Plan for 97% good parts, add 10% overhead and 25% margin on cost.

QuantityBlanks startedSetup + CAM per partUnit price
1011A$35.75A$95.15
2526A$14.30A$54.15
5052A$7.15A$41.85
100104A$3.58A$36.93

The price at 10 pieces is more than two and a half times the price at 100, and that is correct. If you had quoted A$45 for every quantity, the batch of 10 would not have covered its own setup and programming.

Two details are easy to miss. First, the anodiser's minimum charge: 10 parts at A$3 is A$30, but you pay A$120. Second, yield: to finish 10 good parts you start 11, and the extra blank and its cycle time are part of the cost.

How to show it to the buyer

Buyers expect a lower unit price for a bigger order; what annoys them is a price that looks arbitrary. A quote that shows several quantity breaks answers the question before they ask it, and often moves them to a larger order. A short line such as "price includes programming and setup, charged once per order" is enough.

For a repeat order of the same revision, the programming is already done. Take it off and say so: it is a fair discount that costs you nothing.

A quick check for your current quotes

  1. Take the last job you quoted at a small quantity.
  2. Add up programming, setup and any minimum charges, and divide by the quantity.
  3. Compare that with the margin in your unit price.

If the one-off costs per part are bigger than your margin, that job was paid for by your other work.