What a batch actually costs

A per-unit cost calculated once, from planned quantities and last year's prices, is usually wrong in the same direction — too low. Here is each step where it slips, with the arithmetic.

Last updated September 2, 2026

Ask a small producer what a jar costs to make and you usually get a number that was calculated once, from the recipe as written, using the prices in force when the product was launched. It is a real number. It is also, almost always, lower than what the last batch actually cost.

Four things move it, and they all move it the same way.

The batch

One batch of chili crisp oil, planned at 40 kg, packed into 190 ml jars.

Ingredient Bought as Unit price Used Cost
Chili flake blend 5 kg bag at $62.50 $12.50/kg 4.8 kg $60.00
Rapeseed oil 20 L drum at $34.00 $1.70/L 28 L $47.60
Dried garlic 1 kg tub at $9.80 $9.80/kg 1.2 kg $11.76
Salt 25 kg sack at $18.00 $0.72/kg 0.4 kg $0.29
Total $119.65

One: unit conversion

Nothing in that table is priced in the unit it is used in. The chili blend is bought by the bag and used by the kilo. The oil is bought by the drum, priced by the liter, and the batch is weighed in kilos.

That last one is a density conversion, not arithmetic: at roughly 0.92 kg/L, a 40 kg batch of oil-based product is about 43.5 L, which is 228 jars of 190 ml — not the 210 you get if you quietly treat a kilo as a liter. Getting this wrong is worth about 8 percent on the unit count, and it is invisible because both numbers look plausible.

Every conversion is a place where a hand-built spreadsheet holds a hardcoded factor that nobody re-checks when a supplier changes pack size.

Two: yield loss

The batch was planned at 40 kg. It came out at 38.4 kg — a 96 percent yield, which is a good day. After filling losses it packed 205 jars rather than the theoretical 228.

  • Cost per jar at planned yield: $119.65 ÷ 228 = $0.525
  • Cost per jar at actual yield: $119.65 ÷ 205 = $0.584

An 11 percent difference, on a batch that ran well. Costing against planned yield is the single most common reason a per-unit cost is too low, and the error scales with how lossy your process is.

Three: price rises

Six months later the chili blend goes from $12.50 to $15.75 per kilo. Nothing else changes.

  • Chili blend: 4.8 kg × $15.75 = $75.60, up from $60.00
  • Batch total: $135.25
  • Cost per jar: $135.25 ÷ 205 = $0.660

One ingredient moved and the unit cost rose 13 percent. This is the number that never gets updated, because a single supplier increase always looks too small to justify recosting everything.

Four: what that does to the quote

Suppose you quoted $1.10 a jar against the original $0.525.

Cost/jar Margin on $1.10
Planned yield, old prices $0.525 52%
Actual yield, old prices $0.584 47%
Actual yield, new prices $0.660 40%

Then add packaging — jar, lid, label at, say, $0.34 — and the ingredient-plus- packaging cost is $1.00 against a $1.10 price. Nine percent, before any labor or overhead, on a product you believed carried better than half.

Nothing dramatic happened. One yield assumption and one price rise.

Sub-recipes make each of these compound

A base sauce used across four products has its own yield loss and its own ingredient prices. If the base is costed as a batch and its cost per kilo used as the price of an ingredient downstream, the loss carries through correctly. If the four products instead list the base's raw ingredients directly, the base's yield loss vanishes from all four, and every one of them looks cheaper to make than it is.

This is where hand-maintained costing usually gives up, because the correct calculation is recursive and a spreadsheet models it by copy-paste.

What to do about it

  1. Cost against actual yield, not planned. Record actual output on every batch so you have a real yield to cost against rather than an assumption.
  2. Keep unit conversions in one place, including densities, rather than inline in each recipe.
  3. Keep price history per supplier, so you can cost a past batch at what it really cost and a quote at what it would cost today. These are different questions and one number cannot answer both.
  4. Cost sub-recipes as batches and consume them as ingredients.
  5. Recost when an invoice arrives, not quarterly. The individual rises are always too small to act on; the sum is what ends a product line.

Keep ingredient cost separate from labor and overhead throughout. Ingredient cost per unit can be checked against a recipe and an invoice by anyone; a blended number cannot be reconciled against anything, which is why blended numbers stop being maintained.

The records this needs are the ones a recall needs anyway — actual quantities in, actual yield out, the lot and the price it was bought at. What goes on a batch record is that field list.

Questions

Which ingredient price should I cost against?

For quoting, the price you would pay to buy it again today — that is the cost you will actually incur filling the next order. For understanding a batch you already made, the price of the lot that went into it. Both are useful and they answer different questions, which is why keeping price history matters more than picking one number.

Should labor and overhead go into the per-unit cost?

They have to go in somewhere before you quote, but keep them separate from ingredient cost. Ingredient cost per unit is a number you can check against a recipe and an invoice; a blended figure with labor baked in cannot be reconciled against anything, so nobody trusts it and nobody updates it.

How do I cost a sub-recipe used in several products?

Cost the sub-recipe batch as a batch, then treat its cost per kilo as the price of an ingredient in whatever uses it. This is the only approach that keeps yield loss on the base from disappearing — a base that yields 90 percent makes every product downstream more expensive, and a flat ingredient list hides that entirely.

How often should I recost?

Whenever a supplier price changes, which in practice means whenever an invoice arrives. The reason to make it cheap rather than periodic is that price rises arrive one ingredient at a time and each looks too small to act on, while their sum is what moves a margin from acceptable to negative.