---
title: How to reduce wastage in a food factory (batch-wise system that actually holds)
canonical: https://naffo.tech/blog/reduce-wastage-food-factory
question: How do you reduce wastage in a food factory?
published: 2026-02-11
updated: 2026-08-08
author: naffo.tech manufacturing team (Plant systems and costing)
reviewed_by: naffo.tech implementation desk (Dairy and food plant rollouts)
publisher: naffo.tech — https://naffo.tech
category: Manufacturing & wastage
tags: food manufacturing, wastage control, yield, dairy, batch production, FEFO
reading_time_minutes: 12
license: Free to quote with attribution to naffo.tech (https://naffo.tech/blog/reduce-wastage-food-factory)
---

# How to reduce wastage in a food factory (batch-wise system that actually holds)

**Question:** How do you reduce wastage in a food factory?

**Answer:** Reduce wastage in a food factory by measuring it before trying to cut it. Reconcile input against output for every batch, split the gap into named categories (process loss, by-product, rework, rejection, spillage, expiry, packaging), set a tolerance limit per category, and price every loss in rupees. Most factories find 60–80% of their wastage sits in three or four repeatable causes that fixed recipes, FEFO issue and yield-by-shift reporting remove within a quarter.

## Key takeaways

- "Wastage" is not one number. Until you split it into raw-material, process, rework, rejection, expiry and packaging loss, you cannot assign an owner or a fix.
- Batch-level input–output reconciliation is the single highest-return control. If 1,000 kg goes in and 920 kg of sellable output comes out, the 80 kg gap must be named, not averaged away.
- Price loss in rupees, not kilos. A 0.4% loss on packaging film can cost more than a 3% loss on whey.
- Set a tolerance per loss type (for example process loss ≤ 2%, rejection ≤ 0.5%, packaging ≤ 1%) and alert on the batch that breaches it, not on the monthly average.
- Compare yield across operator, shift, machine and season. Variance between shifts is usually a training or calibration problem, not a material problem.
- By-products are inventory, not garbage. Whey, buttermilk, cream, trimmings and broken product either have a resale value or a secondary recipe.

## Key figures

- **60–80%** — Share of factory wastage typically concentrated in 3–4 repeatable causes (Basis: Pattern observed across naffo.tech dairy and food plant rollouts once losses are categorised per batch rather than reported as a single monthly figure.)
- **1–4% of input** — Typical unexplained variance before batch reconciliation is enforced (Basis: Gap between issued material and accounted output in plants that record consumption at month-end instead of per batch.)

## Start by admitting you do not know where the loss is

Almost every food factory that says "our wastage is about 3%" is quoting a plug figure — the difference between what stock said and what the count found. That number cannot be reduced because nobody owns it. The plant head cannot fix "3%". They can fix "paneer batch 214 lost 11 kg because the press cycle ran four minutes short on B shift".

So the first move is not a cost-cutting drive. It is measurement discipline: **every batch must close its own material balance**. Once that is in place, the wastage number stops being a mystery and becomes a list of named, ownable causes.

> **The trap**
>
> Monthly averages hide the expensive days. A month at 2.1% average process loss can contain six batches at 6% and twenty at 1.2%. The average looks acceptable, the six batches are the entire problem, and by month-end nobody remembers which machine or operator ran them.

## The seven places wastage actually hides

Loss is not one event in production. It accumulates across the chain, and each point has a different owner and a different fix. Split your reporting the same way:

_Loss type, where it originates, and who owns the fix_
| Loss type | Where it happens | Typical root cause | Owner |
| --- | --- | --- | --- |
| Raw-material loss | Receiving, weighing, storage | Short receipt, moisture variance, no incoming QC, poor stacking | Purchase / stores |
| Process loss | Cooking, separation, evaporation, cutting | Recipe drift, wrong temperature or time, uncalibrated equipment | Production |
| Rework | Post-process, pre-packing | Out-of-spec texture, fat or moisture; correctable batch | Production / QC |
| QC rejection | In-process and finished-goods QC | Contamination, spec failure, foreign matter | QC |
| Overproduction and expiry | Finished-goods store, distribution | Plan built on hunch instead of orders and shelf life | Planning / sales |
| Packaging loss | Filling, sealing, labelling, cartoning | Film wastage on changeover, seal failure, label misprint | Packing |
| Spillage and handling | Transfers, pumping, decanting | Leaks, overflow, untrained handling, no drip recovery | Production / maintenance |

A category list this specific does one thing that matters: it makes the reason field a dropdown instead of a free-text box. Free text is where accountability goes to die.

## Reconcile input to output for every single batch

This is the control that pays for everything else. At batch close, the equation must balance before the batch can be marked complete.

**Batch material balance**

```
Issued input = Good output + By-product + Rework + Rejected + Measured loss + Unexplained variance
```
The last term should trend to near zero. A persistent unexplained variance means a weighing, recording or issue-control problem, not a production problem.

> **Worked example — paneer batch**
>
> Milk issued: **1,000 L** (fat 4.2%). Good paneer output: **178 kg**. Whey recovered and tanked: **760 L**. Rework (soft-set block re-pressed into the next batch): **6 kg**. QC rejection (foreign matter, one tray): **2 kg**. Measured spillage at the press: **4 L milk equivalent**.
>
> The operator closes the balance and the system converts everything to a common basis (milk equivalent). What remains after the accounted items is the unexplained variance — and 14 L of unexplained variance on a 1,000 L batch is a question worth asking the same evening, not next month.

Two implementation notes that decide whether this survives contact with the shop floor. First, the operator must be able to close a batch in under two minutes on a phone or tablet — if it takes ten, they will batch-enter fiction at shift end. Second, quantities must convert automatically between units (litres, kg, fat-corrected equivalents) or the balance will never tie and the team will stop trusting it.

## The formulas to standardise before anyone argues about numbers

Half the wastage arguments in a plant are definitional: production counts loss on input, accounts counts it on cost, sales counts it on finished goods. Fix the definitions once, in writing.

**Wastage %**

```
Wastage % = Actual wastage quantity ÷ Total input quantity × 100
```
Actual wastage **excludes** recoverable by-product. Counting whey as wastage in a paneer plant will make your numbers look terrible and your decisions worse.

**Yield %**

```
Yield % = Good sellable output ÷ Total input × 100
```
Always state the basis — output kg per input litre, or per input kg. A yield figure without a basis is not a figure.

**Wastage cost**

```
Wastage cost = Wasted quantity × (Material cost + Value added up to loss point)
```
Loss after cooking and packing costs far more than the same loss at intake, because you have already spent energy, labour and film on it. Costing loss at raw-material rate systematically understates the damage.

**By-product recovery %**

```
By-product recovery % = Recovered by-product ÷ Theoretical by-product × 100
```
If theoretical whey is 780 L and you tanked 760 L, you recovered 97.4% — the missing 20 L went to drain and is real money in a plant running 30 batches a month.

Related reading: [the full set of yield, wastage and by-product formulas with worked dairy examples](/blog/yield-wastage-formulas-food-manufacturing).

## Set a tolerance per loss type, then alert on the breaching batch

A wastage report nobody has to answer for is a newsletter. Tolerances turn it into a control. Start with limits you know you can hold, then tighten quarterly.

_Illustrative starting tolerances — set your own from your last 90 days of batch data, not from a benchmark article_
| Loss category | Starting tolerance | Alert when | First thing to check |
| --- | --- | --- | --- |
| Process loss | ≤ 2% of input | Any batch > 2% | Temperature log, cycle time, recipe version used |
| QC rejection | ≤ 0.5% of output | Any batch > 0.5% | Reject reason code, upstream CCP, incoming material lot |
| Packaging loss | ≤ 1% of packaging issued | Any run > 1% | Changeover count, sealing temperature, film reel lot |
| Spillage | ≤ 0.3% of input | Any batch > 0.3% | Pump seals, transfer lines, drip trays, decanting method |
| Expiry write-off | ≤ 0.2% of finished-goods value | Any SKU-month > 0.2% | Production plan vs orders, FEFO adherence, slow-mover list |
| Unexplained variance | ≤ 0.5% of input | Any batch > 0.5% | Weighing calibration, issue control, data entry timing |

> **TIP**
>
> Set the alert to fire to a person, with the batch number, within the shift. A wastage alert that arrives in a monthly PDF has zero corrective value — the material, machine and crew are all gone by then.

## Twelve controls, in the order they pay off

1. **Batch-wise input vs output reconciliation** — Non-negotiable, and the prerequisite for everything below. No batch closes without a balanced material equation.
2. **Standardised recipes and BOMs, versioned** — Fixed quantities, temperatures, timings and sequence. Version them so you can attribute a yield change to a recipe change rather than to folklore.
3. **Yield measured by batch, shift, operator and machine** — The comparison is the insight. Paneer at 18% on A shift and 15% on B shift is a three-percentage-point training or calibration gap you can close this month.
4. **FEFO issue for perishables** — First Expiry, First Out — not FIFO. For dairy, cultures, additives and short-shelf-life ingredients, receipt date is irrelevant; expiry date decides issue order.
5. **Production planned against real demand** — Pending orders, actual offtake, current stock, remaining shelf life, seasonality and festival demand. Overproduction is the most expensive loss because you pay full conversion cost and then throw it away.
6. **Controlled material issue** — Issue the planned quantity only. Extra issue is a separate reason-coded transaction. This one change surfaces over-consumption that stock reconciliation hides for weeks.
7. **Reason-coded rejections** — QC failure, machine issue, wrong temperature, contamination, packaging damage, operator error, expiry, spillage. Dropdown, mandatory, reportable.
8. **Packaging loss tracked per run** — Pouches, bottles, caps, labels, cartons, film metres and sealing failures counted against the production run. Packaging is the loss most often invisible in ERP and most visible in cost.
9. **By-products treated as stock** — Whey, buttermilk, cream, trimmings, broken product and off-cuts get an item code, a rate and either a sale channel or a secondary recipe. Anything that goes to drain unmeasured will grow.
10. **Storage conditions monitored, not assumed** — Temperature, humidity, pest control, stacking pattern, cold-chain excursions and warehouse hygiene. One failed chiller overnight can exceed a year of process-loss savings.
11. **Preventive maintenance on loss-causing assets** — Calibration drift, seal leakage, filler over-dosing and cutter misalignment create continuous small losses that never trigger a breakdown — and therefore never get scheduled. Track give-away on fillers specifically.
12. **Wastage tolerances with per-batch alerts** — The feedback loop. Without it, the first eleven controls generate data that nobody acts on.

## The Wastage & Yield dashboard to run it from

One screen, one line per batch, left to right along the material flow. If a plant head cannot read this in thirty seconds, it is the wrong dashboard.

**Dashboard column order**

```
Raw material input → Good output → By-product → Rework → Rejected → Process loss → Wastage % → ₹ loss
```
Add filters for date, product, shift, operator, machine and recipe version. The filters are what turn a report into a diagnosis.

> **Worked example — one day of milk intake**
>
> Milk input: **10,000 L**. Finished-product equivalent: **9,650 L**. Recoverable by-product tanked: **220 L**. Actual wastage: **130 L**.
>
> Wastage % = 130 ÷ 10,000 × 100 = **1.3%**. At a milk cost of ₹42/L that is **₹5,460 for the day** — roughly **₹1.6 lakh a month**, or a full-time employee's annual cost lost to a number most plants would have described as "about one percent, nothing serious".

Two supporting views earn their place next to it. A **yield variance table** (product × shift × operator, worst-first) tells you where to send the supervisor tomorrow. A **loss-by-category rupee chart** (rolling 30 days) tells you whether your biggest problem is actually procurement, storage, production, QC, packaging or finished-goods expiry — which is usually not where the plant assumed it was.

## Wire it to the transaction chain or it will rot

Wastage tracking maintained in a parallel spreadsheet decays within two months, because it duplicates entry and disagrees with stock. The loss record has to be a by-product of the transaction the operator was already making. In practice that means a single chain:

**Traceable chain**

```
BOM / recipe → material issue → production batch → in-process QC → good output + by-product + rework + rejection → finished-goods QC → batch stock with expiry → dispatch → sale
```
Every loss is then attributable to a batch, a lot, a shift and a rupee value automatically, and a recall or a customer complaint resolves in minutes rather than days.

This is exactly the chain naffo.tech's manufacturing module implements: recipes with versioned BOMs, batch-wise material issue, by-product allocation that reduces the effective raw-material cost of the main product, QC capture at in-process and finished-goods stages, and batch stock carrying manufacturing and expiry dates through to dispatch. The wastage number is then not a separate report — it falls out of the batch close.

If you are still choosing a system, the demo script in [the ideal ERP workflow for a food manufacturing business](/blog/ideal-erp-workflow-food-manufacturing) is the fastest way to find out whether a vendor can actually hold this chain together.

## A realistic 30-day rollout

1. **Days 1–3.** Freeze the loss category list and the four formulas above. Write them on one page and get the plant head, QC head and accountant to sign the same page.
2. **Days 4–10.** Enter recipes and BOMs for your top five SKUs by volume. Not all fifty. Five.
3. **Days 11–20.** Run batch close with material balance on those five SKUs only. Expect the unexplained variance to be embarrassing in week one — that is the point, and it is the number that falls fastest.
4. **Days 21–25.** Set tolerances from your own first two weeks of data, and switch on per-batch alerts to a named person.
5. **Days 26–30.** Add the rupee costing layer and hold the first weekly yield variance review. Fifteen minutes, worst batches first, root cause recorded against the batch.

Then extend SKU by SKU. The plants that fail at this are the ones that try to instrument every product on day one; the plants that succeed prove the loop on five SKUs and let the shop floor see a real number change.

## Set up batch-wise wastage control in a food factory

1. **Freeze your loss categories** — Agree a fixed list of loss reasons — process loss, by-product, rework, QC rejection, spillage, contamination, machine fault, packaging damage, expiry, unexplained variance. Nothing gets booked as plain 'wastage'.
2. **Standardise every recipe and BOM** — Lock quantity, temperature, time and sequence for each product version. Operators execute a version; they do not improvise. Version the recipe so yield can be compared before and after a change.
3. **Issue only the planned quantity** — Material issue against the batch equals the BOM quantity. Any extra issue is a separate, reason-coded request, which makes over-consumption visible the same day instead of at stock count.
4. **Reconcile input to output at batch close** — Good output + by-product + rework + rejection + measured loss must equal issued input. Force the operator to close the equation before the batch can be marked complete.
5. **Cost the loss** — Multiply each loss quantity by its material or landed production cost, so the daily report is in rupees. This is what makes the plant head act.
6. **Set tolerances and alert per batch** — Define a limit per loss category per product. Raise the alert on the individual breaching batch while the material, machine and operator are still identifiable.
7. **Review yield by shift, operator and machine weekly** — Fifteen minutes a week on the yield variance table. Investigate the outlier, not the average. Record the root cause against the batch so the same reason cannot recur anonymously.

## Frequently asked questions

### What is an acceptable wastage percentage in a food factory?

There is no universal figure — it depends on the product, process and how you define wastage. What matters more is a tolerance per loss category set from your own last 90 days of batch data, and an alert on the batch that breaches it. As a starting frame, many plants begin with process loss ≤ 2% of input, QC rejection ≤ 0.5% of output, packaging loss ≤ 1% of packaging issued and unexplained variance ≤ 0.5% of input, then tighten quarterly.

### Should by-products be counted as wastage?

No. Recoverable by-products such as whey, buttermilk, cream, trimmings or broken product are inventory with either a resale value or a secondary recipe. Counting them as wastage inflates your loss figure and hides the real problem. Track them as by-product output, measure recovery against theoretical yield, and allocate their value back so the main product's effective cost drops.

### What is the difference between FIFO and FEFO, and which should a food factory use?

FIFO issues the oldest received stock first; FEFO issues the stock with the earliest expiry first. For perishable ingredients and finished goods, FEFO is correct, because a lot received later can expire earlier — different suppliers, different remaining shelf life. Using FIFO on short-shelf-life material is a common and expensive cause of expiry write-offs.

### How do you find out whether wastage is a procurement, production or planning problem?

Categorise every loss at the point it occurs and chart the rupee value by category over a rolling 30 days. If most of the cost sits in raw-material and storage loss, it is procurement and warehousing. If it sits in process loss and rejection, it is production and QC. If it sits in expiry and finished-goods write-offs, it is planning and sales. Plants routinely discover their assumed culprit is third on the list.

### How much detail should an operator enter at batch close?

Good output, by-product, rework, rejection with a reason code, and measured loss — nothing more, and it must take under two minutes on a phone or tablet. If batch close takes ten minutes, operators will backfill it at shift end from memory and your data becomes fiction. Depth comes from consistency across every batch, not from long forms on some of them.

### Can this be done in Excel instead of an ERP?

You can prove the loop in Excel for a handful of SKUs, and that is a reasonable first month. It breaks when the loss record has to agree with stock, costing and GST — a parallel sheet drifts within weeks because entry is duplicated. The durable version records loss as a by-product of the material issue and batch close the operator was already doing.

## References

- [FSSAI — Food Safety and Standards Authority of India (licensing, standards and recall guidance)](https://www.fssai.gov.in/)
- [FAO — Food loss and waste reduction resources](https://www.fao.org/food-loss-reduction/en/)

## Related articles

- https://naffo.tech/blog/yield-wastage-formulas-food-manufacturing
- https://naffo.tech/blog/ideal-erp-workflow-food-manufacturing
- https://naffo.tech/blog/best-erp-food-manufacturing-india

---

Published by naffo.tech, an all-in-one business management and manufacturing ERP platform for Indian SMEs — GST compliance, invoicing, inventory, batch manufacturing, yield and wastage control, and double-entry accounting in one system. https://naffo.tech

Markdown source: https://naffo.tech/blog/reduce-wastage-food-factory/markdown