# Thinning is not mortality, and your EPEF knows it

> Computing mortality as birds placed minus birds alive turns every staggered catch into an apparent disaster. A flock at 4.75% real shows 23.97%, and no screen breaks.

URL: https://raptia.co/en/blog/thinning-is-not-mortality
Publicado: 2026-09-22
Actualizado: 2026-09-22

---


## Why can a healthy flock show 24% mortality?

Because the most intuitive subtraction in the world is wrong. If cumulative
mortality is computed as birds placed minus birds alive, divided by birds
placed, then every bird that left the shed counts as dead. And in a thinning,
birds leave **alive**, walking, on their way to the plant.

It is a one-line error. It throws no exception, writes nothing to a log and
breaks no screen. It produces a number that looks perfectly normal — high,
worrying, but normal — and decisions taken on it.

## What exactly is thinning?

<dfn>Thinning</dfn> is the partial removal of a flock before the final catch:
the heaviest birds, or a percentage of the shed, are taken out — usually to cut
stocking density and let the rest keep growing with more room. The flock
continues; it simply has fewer birds in it.

It is common practice when the plant asks for different calibres, when
projected density will exceed the welfare maximum before the planned catch
day, or when the market pays better for a lighter bird on a given date.

## How far off does the number actually go?

This is a case taken from an audit of a complete flock history. A flock with
one thinning mid-cycle:

| Item | Birds | Naive calculation | Correct calculation |
|---|---:|---:|---:|
| Placed | 20,000 | — | — |
| Removed alive when thinning | 3,844 | counted as dead | deducted from the live denominator |
| Actually dead | 950 | — | — |
| Alive at close | 15,206 | — | — |
| **Cumulative mortality** | | **23.97%** | **4.75%** |

Nineteen percentage points of difference on the same flock, the same days and
the same records. One of those two numbers would have triggered a farm audit, a
review of the health programme and doubts about the shed keeper.

## Why does EPEF amplify the error rather than absorb it?

Because survival sits in the numerator. The European Production Efficiency
Factor — <dfn>EPEF</dfn>, also written EPEF or IEP — is built like this:

```
EPEF = (survival % × live weight in kg × 100) ÷ (feed conversion × age in days)
```

At 95.25% survival versus 76.03%, the numerator changes by 20%, and EPEF falls
in the same proportion. A flock sitting at 360 shows up at 287. That is not "a
bit low": it is the difference between congratulating a farm and opening a file
on it.

<aside>

**The signature of the error, so you can spot it without looking:** if feed
conversion comes out exact and EPEF comes out biased, the problem is neither
the feed nor the weight. It is one of the two terms that enter EPEF and not
conversion: survival or age.

</aside>

## How do you check this in your own data?

Three checks, in order of cost:

1. **Find a flock with a staggered catch and look at its mortality.** If it is
   above 15% and the flock had no documented health event, it is almost
   certainly counting the thinning.
2. **Add up the exits.** Birds placed, minus recorded deaths, minus birds
   removed alive should equal the final harvest exactly. If it does not, the gap
   tells you where to look.
3. **Compare two twin flocks**, one thinned and one not, same genetics and same
   season. If the thinned one is consistently worse on mortality and EPEF but
   identical on conversion, you have your answer.

## Why does this error survive for years inside a system?

Because of three properties it shares with almost every expensive error in this
sector:

- **It does not fail, it computes.** A system that crashes gets fixed the same
  day. A system that returns a plausible number can be wrong for entire cycles.
- **It gets copied.** The mortality formula does not live in one place: it lives
  in the dashboard, the report, the alert, the cycle close and the export.
  Fixing one leaves the error free to return through any of the others. In the
  audit it turned up in five places, and only one of them computed it correctly.
- **The bias runs in the direction nobody questions.** A flock that looks worse
  than it is generates work, not suspicion. Nobody audits a number that agrees
  with their pessimism.

## What do you do about it?

One function, in one place, that everything else calls. It sounds trivial and is
not: it requires the data model to distinguish partial removal from mortality,
which requires the field form to distinguish it, which requires the shed keeper
to have somewhere to record it. A calculation error is nearly always the tip of
a modelling error.

And once the data exists, resist the shortcut: do **not** infer thinning from a
discrepancy. If 400 birds are missing one day and nobody recorded anything, that
is not a silent thinning — it is a missing record, and saying so is worth more
than filling it with a guess that will look just as normal as the 23.97%.
