Menu
Book a demo
OEE for Seafood Processing: Fish Lines, Yield and Waiting for Fish

OEE for Seafood Processing: Fish Lines, Yield and Waiting for Fish

How to measure OEE on a fish line: where to count packs, why yield stays out of quality, how to log waiting for fish, cleaning and hand trimming.
OEE for Seafood Processing: Fish Lines, Yield and Waiting for Fish

In short: OEE on a seafood line is measured in good packs at the end of the line, against the time you planned to run. Fillet yield is a second number and stays out of OEE.

  • Count good packs after the tray sealer or vacuum packer, with one ideal rate per product and size grade.
  • Waiting for fish gets its own stop reason. It is not a machine fault.
  • A clean inside a production shift is an availability loss. A sanitation shift with no production planned sits outside OEE.
  • Hand trimming usually sets the pace, so agree the crew that the ideal rate assumes.
  • Where no PLC gives a count, use a pack signal, a sensor or a camera that counts parts.

A fish line is not a bottling line. The raw material arrives when the boat or the truck does, no two fish are the same size, and the slowest step is often a row of people with knives.

That is why a generic OEE setup gives a seafood plant numbers nobody trusts.

This page shows how to set up OEE on a fish or seafood processing line, what to count and where, and what to ask a software vendor. We sell Fabrico, so test what we say like any other vendor's claims.

A fish line step by step, and where each step loses

Most whitefish and salmon lines run in the same order, from reception or thawing to a sealed pack. Shellfish lines swap the middle steps for cooking and peeling, but the logic holds.

Fish line: where OEE is lost Typical losses, not measured data 1 Receiving and grading Time: the line waits for fish 2 Heading and gutting Time: jams, knife changes 3 Filleting Speed: small or soft fish 4 Pin-boning Product: bones left, rework 5 Trimming, by hand Speed: crew size paces the line 6 Portioning Product: off-weight portions 7 Freezing or glazing Time: defrost, belt jams 8 Weighing Speed: micro-stops at the scale 9 Tray sealing or vacuum packing Time: film changes, seal faults Count good packs after step 9
A typical fillet line. Red marks lost time, amber lost speed, blue rejected product. Trim and offcuts are yield, so they are not on this map. Your line may skip or reorder steps.

Three things set this line apart from a normal packing line.

  • Supply: the line can be crewed and ready with no fish to run.
  • Pace: the slowest step is manual, so speed depends on the crew and on the fish.
  • Product: it is lost two ways, as rejected packs and as flesh that never reaches a pack.

Each one needs a written rule before the first number goes on a screen.

Fillet yield stays out of OEE quality

OEE quality asks one thing: of the packs that reached the counting point, how many were good? Leaking seals, short weights, a bone found at the check and wrong labels are quality losses.

Yield asks something else: of the kilos of fish that came in, how many went out as product? Heads, guts, frames, skin and trim belong to yield, not to OEE.

Keep them apart for a practical reason. Yield moves with the fish, and OEE should move with the line.

The FAO's survey of fish yields puts it plainly: "Yield measurements are particularly variable". It adds that published yields for one species can differ by a factor of 2.

Put that swing inside OEE quality and a batch of small, soft fish looks like a bad shift. Our page on OEE vs yield sets the two formulas side by side.

Track yield next to OEE, by batch, supplier and size grade. Do the same with overweight packs and heavy glaze: they pass as good packs, so they are giveaway, a loss of its own outside the quality rate.

Waiting for fish is not a machine stop

On a seafood line, an empty infeed is often the top reason to stand still. The landing was short, the truck was late, thawing ran behind, or grading could not keep up.

There are three cases, and each has its own rule.

  • No fish, so no shift was planned: the time is outside planned production time, and outside OEE. It shows in TEEP, which measures against all calendar time.
  • Shift planned and crewed, fish late: an availability loss with its own reason, such as "waiting for raw material". It belongs to supply or to the step upstream, not to the filleting machine.
  • Short gaps on the belt: seconds between totes or tubs. They show as slow running or as micro-stops, and they add up.

The test for any setup: can the report split "the machine stopped itself" from "the machine was starved"?

If both land in one bucket, maintenance gets blamed for the weather at sea.

Hand trimming sets the pace: how to set the ideal rate

A filleting machine has a rated speed in fish per minute. The trimming and bone check tables after it do not, and they usually decide how many packs leave the line.

So set the ideal rate at the end of the line, in good packs per minute, for one product and one size grade at a time. Large cod cut into loins does not share a rate with small haddock fillets on the same line.

Take the rate from the best sustained hour you have recorded on that product, not from the budget. The method is in our guide to OEE calculation.

Then write down the crew that rate assumes. If it assumes ten trimmers and eight turn up, you have two honest options.

  • Keep the rate. The shortfall shows as a performance loss with the reason "short crew".
  • Use a second, agreed rate for the smaller crew. OEE then judges the line only, and the labour gap is reported somewhere else.

Either works. Switching between them from week to week does not.

Clean-downs on a fish line: where the minutes sit

Fish plants clean often, and the plant's own food safety plan sets how and for how long.

OEE does not argue with that. It only needs to know where the minutes sit.

  • Sanitation shift with no production planned: outside OEE, inside TEEP.
  • Clean-down inside a production shift, for example between a shellfish run and a fish run: an availability loss with its own reason code.

Time the whole window, from the last good pack before the clean to the first good pack after it. A freezer defrost inside the shift follows the same rule.

The wash itself is fixed. The minutes that come back are in the waiting, the strip-down and the restart around it.

Our page on sanitation shifts in OEE and TEEP has the full convention. Whatever you choose, use it on all lines.

Where to count when there is no usable PLC count

Older heading and filleting machines often give a run signal and nothing else. Manual tables give no signal at all.

You still need two facts: is the line running, and how many good packs came off it?

StepWhat it usually givesHow to use it
Grader or batching scalePieces and kilos by grade, if it has a data portThe kilos-in figure for yield, not for OEE
Heading, filleting, skinningRun signal, sometimes a cycle countStops come from the signal. A cycle is a fish, not a pack.
Trimming and bone check tablesNothingA sensor or a camera that counts parts on the outfeed belt
Freezer or glazerBelt running, temperatureStops only
CheckweigherAccepted and rejected packsGood and reject counts, if you can read them out
Tray sealer or vacuum packerA cycle signalCycles times packs per cycle gives total packs

A plain photo-eye struggles with wet fillets that touch or overlap on a belt. It does better on sealed trays, where there is a gap between packs.

A camera that counts parts earns its place over a belt of loose portions, or where one line runs several tray formats. Ask the vendor to show the count on your own product, wet and glazed, before you rely on it.

Pick one counting point for OEE and keep it. Packs after the sealer is the usual choice, because that is what you sell.

Worked example: one shift on a cod portion line

This is example data with round numbers, describing no real plant.

The line packs chilled cod portions in 250 g trays, at an ideal rate of 20 trays a minute. The ideal cycle time is 0.05 minutes a tray.

The shift has 480 planned minutes after breaks. The line stood still for 96 of them.

  • Waiting for fish: 36 minutes
  • Clean-down between two runs: 24 minutes
  • Tray sealer, film change and seal faults: 20 minutes
  • Filleting machine, jam and knife change: 16 minutes

The sealer made 6,400 trays. 160 were rejected for leaks, short weight or a bone found at the check, which leaves 6,240 good trays.

One shift on a fish line Example data, minutes of 480 planned Planned time: 480 min Stops: 96 min (A 80%) Slow running: 64 min (P 83.3%) Rejected packs: 8 min (Q 97.5%) Good packs: 312 min OEE = 312 of 480 min = 65%
Example data. Each loss is shown as minutes at the ideal rate, drawn to one scale. What is left in green is OEE.
FactorSum (example)Result
Availability384 run minutes of 480 planned80%
Performance6,400 trays of 7,680 possible (384 x 20)83.3%
Quality6,240 good trays of 6,40097.5%
OEE0.80 x 0.833 x 0.97565%

Now the check: 6,240 good trays x 0.05 minutes is 312 minutes of good output, and 312 of 480 is 65%. Both routes agree.

Then the yield. Say 3,120 kg of headed and gutted cod went in and 1,560 kg came out in good trays: a 50% yield.

That 50% says nothing about the 96 stopped minutes, and the 65% says nothing about the trim. You need both.

The biggest single loss in this shift is 64 minutes of slow running. In the example it came from a short trimming crew and gaps on the infeed belt, not from a machine.

What to check in OEE software for a seafood line

Run these in the demo with any vendor, including us. Bring one real shift.

  1. Starved or stopped: can a stop be logged as "waiting for fish" and kept apart from machine faults in the report?
  2. Rates by product: can each product and size grade have its own ideal rate, and who is allowed to change it?
  3. Crew: ask how a short trimming crew shows. Is it a reason on slow running, or nowhere?
  4. Cleaning: log a clean-down inside a shift and a sanitation shift outside it. Check that each lands where your rule says.
  5. Counting with no PLC: ask how packs are counted at a sealer with only a cycle signal, and at a manual table with none.
  6. Wet area: ask where the tablet or phone sits in a washdown zone, and how an operator in gloves picks a reason.
  7. Yield beside OEE: ask if kilos in and kilos out can sit next to OEE, or if the data leaves by export to your yield sheet.

For a wider comparison, see our reviews of OEE software and downtime tracking software.

Where Fabrico fits

Fabrico is a cloud-based OEE and light MES platform, on the web, iOS and Android.

  • Stops: they come from the machine signal, through the PLC or a Fabrico IoT device. The operator adds the reason on a tablet or phone.
  • OEE and downtime: availability, performance and quality, by line and by shift. Micro-stops are detected from the machine signal.
  • Money: losses can be shown in money, not only in minutes.
  • Counting: the AI camera is an add-on that counts parts. You can open the video of a stop. In the standard setup, video is streamed, not stored.
  • Your data: REST API and webhooks, and any list exports to Excel or CSV.
  • Maintenance: a stop reason can be set up to open a maintenance task.
  • Not in Fabrico today: production planning and scheduling.

Two things to see on your own line, not on a slide: "waiting for fish" as a reason, and the camera count on wet, loose portions. Ask us to show both, and ask how your yield figures would sit beside OEE.

Book a demo or Contact us.

What people ask next

What is a good OEE for a seafood processing line?

We know of no sourced benchmark that holds across species, products and plants, so we give none. Compare the line with itself, week on week, with rules that do not change.

Should fillet yield be part of OEE quality?

No, OEE quality counts good packs against all packs at one counting point. Yield is kilos out against kilos in, and it belongs next to OEE, by batch and supplier.

Does waiting for fish count against OEE?

It does when the shift was planned and crewed: log it as an availability loss with its own reason, apart from machine faults. If no shift was planned, the time is outside OEE.

Should OEE on a fish line be in kilos or in packs?

Use packs where the pack weight is fixed, and kilos for bulk product such as frozen blocks. Pick one unit per line, and set the ideal rate in that same unit.

How do we count at a manual trimming table?

Count what leaves it, not what people do. A sensor or a camera that counts parts on the outfeed belt can do it, or you count packs at the sealer and treat the table as part of the line.

Want to run these checks on your own line? Book a demo or Contact us.

Track OEE and downtime in real time
See where lines lose time
Book a live demo.
See where lines lose time
See where lines lose time

Real Fabrico tiles, sample data.

By clicking the Accept button, you are giving your consent to the use of cookies when accessing this website and utilizing our services. To learn more about how cookies are used and managed, please refer to our Privacy Policy and Cookies Declaration