The filler is running. The packer is running. The palletizer is running. The line made 15% less than it should have this shift, and not one machine raised a fault.
That is a line-balance loss. Nothing broke. The machines were waiting for each other, and the waiting lands in the wrong place: most monitoring books a machine that is up but idle as that machine’s own stop, or does not code it at all.
On lines with a bulk-to-pack handoff, starvation and blocking are often five or more OEE points. Machine-level OEE cannot attribute them, because the cause is never the machine that shows them. This article is about measuring them, attributing them to the station that caused them, finding the bottleneck that actually sets the line’s rate, and fixing the loss with the three levers that cost nothing before anyone proposes equipment.
A machine that is not in fault is in one of three states, and only one of them produces anything.
Running. Up, fed, discharging, producing.
Starved. Up and ready, but waiting for input. The infeed is empty because the station upstream is down, slow or between batches.
Blocked. Up and ready, but unable to discharge. The outfeed is full because the station downstream is down, slow or jammed.
Most monitoring cannot tell the three apart. A starved or blocked machine raises no fault, so it is booked as its own stop, left uncoded or, where the system watches only fault signals, counted as running. Operators do the same: a filler waiting for bulk is not a filler problem, so nobody logs a reason. The result is a line where the wrong machines carry the downtime and the line count is 15% short. Robert Hansen’s OEE method has a name for this loss, an induced stop: time lost to a cause outside the machine.
The rule that makes this fixable: a starved or blocked stop belongs to the station that caused it, not the one that showed it. A starved labeler is a filler loss or a bulk loss. A blocked filler is a case-packer loss. Until stops are attributed that way, the Pareto is a list of victims.
Bulk and pack run on different rhythms. Mixing, cooking, filling a tank, running a reactor: these are batch processes with a cycle time measured in hours, with clean-in-place windows and tank changeovers between them. A packing line runs continuously at a rate measured in units a minute. The accumulation between them exists to absorb the mismatch, and it only does so within its capacity.
So the line is starved on schedule. Every time a batch ends and the next is not ready, the buffer drains, the filler stops, and everything downstream follows. Every time bulk out-produces pack, the buffer fills, bulk is blocked, and the batch cycle slips. Neither side sees the whole picture: bulk reports batch completions, pack reports machine availability, and the hours the line spent waiting fall between two departments, two systems and two meetings.
Going the other way, a slow palletizer or a case packer with a chronic jam backs the entire line up to the filler. Blocking travels upstream as fast as starvation travels down. The bad-actor article has the example: a palletizer that looked harmless in isolation and turned out to be stopping three lines.
The bottleneck is the station with the lowest effective rate including its own stops, not the lowest nameplate speed. A filler rated at 200 units a minute that stops for micro-stops 10% of the time is effectively a 180 machine; a case packer rated at 190 that runs clean is the faster station. Nameplate puts the bottleneck at the case packer. The data puts it at the filler.
It also moves. On a high-mix line the bottleneck is one station on small formats and another on large ones, one station on day shift and another on nights, bulk on some SKUs and pack on others.
Once station states are measured, the test is simple. The bottleneck is the station that is almost never starved and almost never blocked, and whose own stops always reach the line count. Everything upstream of it is periodically blocked by it; everything downstream is periodically starved by it. Draw the timeline strip for a shift, station by station, and the bottleneck is the one with no waiting in its row.
On the packing line used across this series, the plant assumed the filler was the bottleneck; it was the newest machine and the one the line was designed around. Four weeks of state data said the case packer set the rate three days a week, when the chronic micro-stops described in the micro-stops article were at their worst, and bulk supply set it the other two, around batch changeovers. The filler was the bottleneck for about four hours a week. Every improvement project for two years had been aimed at it.
Station OEE cannot attribute this loss, because the loss is in the relationships between stations. What is needed is a state per station, per second: running, starved, blocked, down.
The signals are usually already there. A run/stop signal from the PLC or a sensor gives running and down. The infeed and discharge photo-eyes, or the buffer level sensor, give starved and blocked: an idle machine with an empty infeed is starved, an idle machine with a full discharge is blocked. Where the signals are missing, a camera over the accumulation does the same job. Four weeks, every SKU, every crew.
Then the attribution rule. A starved stop is charged to the nearest upstream station that was down or running below rate at the time; a blocked stop to the nearest downstream one. The output is, for each station, three numbers: minutes lost to its own stops, minutes it caused downstream by starving them, minutes it caused upstream by blocking them. Summed, that is lost output by cause, and the reattributed Pareto is usually a different list from the machine-level one. Stations that looked innocent appear; stations that looked guilty, like the series line’s filler, drop.
With the states and the attribution in place, the loss usually resolves into one or more of four causes, and each has a different fix.
Rate mismatch. The pack line is simply faster than bulk can supply, or the palletizer is simply slower than the packer. The starved or blocked time is roughly constant and does not depend on when batches change. This is a structural fact about the line, and it sets the line’s real rate; the first job is to plan at that rate rather than at the nameplate of the fastest station.
Batch-cycle starvation. The starved time is periodic and lines up with batch completions, CIP windows and tank changeovers on the bulk schedule. On the timeline strip it appears as regular gaps, at the same points in every batch cycle. This is a scheduling problem, and it is the most common cause on bulk-to-pack lines.
Buffer undersized for the stop profile. The accumulation drains or fills faster than the stops either side of it last. A case packer with a two-minute micro-stop every ten minutes fills a ninety-second buffer every time, and the filler is blocked on every stop. The buffer was sized to a rule of thumb, not to the measured stop profile of its neighbors.
A moving bottleneck. The rate-setting station changes by SKU or by shift. The loss appears as starvation downstream of one station on some formats and blocking upstream of another on others. This is a routing, settings and crew-method problem, and the fix is per SKU, not per line.
Three levers, in order of cost. Equipment is fourth, and only after the first three have been used.
Rate. Run the non-bottleneck stations a little above the bottleneck’s pace, with speed controlled by buffer level, rather than flat out. Classic line design runs the machines either side of the bottleneck somewhat faster so buffers can refill after a stop; flat out is far too fast. A filler running at 200 into a case packer that can only take 180 does not produce 200; it produces 180 and spends the difference blocked, jamming and generating scrap. Slowing it to 185 removes most of the blocking, keeps enough margin to refill the buffer after a case-packer stop, reduces micro-stops at both stations, and costs nothing. It is counter-intuitive enough that operators will not do it without the data in front of them, and it is usually the first fix.
Buffer. Size accumulation to the measured stop profile of the stations either side, not to the space available or the vendor’s default. If the case packer’s longest routine stop is three minutes, the buffer ahead of it needs to hold three minutes of filler output. A buffer that is too small turns every downstream micro-stop into an upstream blocked stop; one that is too large hides the problem and ties up product.
Schedule. Align batch starts and CIP windows with pack-line demand, so the next batch is ready before the buffer drains. Sequence SKUs so that bulk and pack rhythms match, grouping formats whose batch cycle and pack rate are compatible. Plan the pack line at the bulk-constrained rate for the SKUs where bulk is the bottleneck, so the plan stops promising output the line cannot physically make. These are planner decisions, and they need the measured states in front of the planner.
Equipment, at the bottleneck only. After rate, buffer and schedule, what remains is structural, and the data says exactly where: the one station that sets the rate, on the SKUs where it does. That is a far smaller and better-targeted capital request than the new line in the cost comparison article, and it is the only kind of equipment request the line-balance data supports.
The series line, from the hidden capacity method: starvation and blocking were 5 OEE points, about 6 line-hours a week. Article one allocated 1 point as recoverable through discipline and 4 as “accepted, upstream”, on the assumption that bulk supply was a fact the pack line had to live with.
Four weeks of station states told a different story.
| Cause | Share of the loss | Pattern on the timeline | Owner |
|---|---|---|---|
| Starvation from bulk around batch changeovers | 60% | Regular gaps at the same point in every batch cycle | Planner and bulk-side manager |
| Blocking from the case packer’s micro-stops | 25% | Short, frequent blocked periods at the filler, each matching a case-packer stop | Line engineer |
| Rate mismatch, filler faster than case packer | 15% | Constant low-level blocking regardless of batch | Line engineer, settings |
The case-packer fix from the micro-stops article removed most of the blocking, and running the filler at 185 rather than 200 removed the rate-mismatch blocking and reduced waste at the same time. Together, roughly 2 points.
The batch-cycle starvation was the larger finding. Aligning the start of each batch to the buffer level rather than to the bulk team’s own cycle, and resequencing two SKUs so their batch cycles matched the pack rate, removed about half of it: roughly 1.5 points that the plant had accepted as an upstream fact, now in the planner’s hands. The remaining 1.5 points are a real gap between bulk capacity and pack rate on those SKUs, and they are now a measured number: the structural bucket, and the only part of this loss an equipment case could legitimately address.
The honest conclusion is that article one’s allocation was conservative. The loss the plant accepted as an upstream fact was partly a planning loss, and the only way to find that out was to measure the states. The figures are illustrative; the pattern, where the scheduler owns more of the loss than anyone expected, is what we see on most bulk-to-pack lines.
Line-balance loss lives between two departments’ systems. Bulk has its batch records, pack has its machine monitoring, and the waiting falls into the gap between them. The only way to own the loss is to have both sides in one place, which is what Fabrico’s manufacturing performance platform (MES, OEE, CMMS & AI) is built to do.
Starved and blocked are first-class states. Each station’s state, running, starved, blocked or down, is captured per second from PLC signals, sensors and computer vision over the accumulation, and recorded as such rather than collapsed into “running”. The timeline strip exists for every shift without anyone drawing it.
Attribution is built in. Every starved or blocked period is charged to the station that caused it, so the Pareto is in lost output by cause, not by symptom. The filler stops being blamed for bulk’s batch gaps, and the case packer’s micro-stops are charged with the filler time they blocked.
The bottleneck is identified per SKU and per shift, and shown moving. The platform reports which station set the line’s rate, for how long, on which formats, so improvement effort goes to the station that actually constrains output this week.
The scheduler plans at the real rate. The production scheduling module plans the pack line at its bottleneck-constrained rate per SKU, aligns batch starts and CIP windows to buffer level and pack demand, and sequences formats so bulk and pack rhythms match. When bulk slips, it replans the pack orders rather than letting the line starve on the original plan.
The financial impact module prices the wait. With the selling price and margin entered once per SKU, starved and blocked hours are valued at the margin of the SKU that was waiting. A filler starved during a high-margin format costs more than the same wait on a low-margin one, and the AI actionable insights rank the proposed fixes, a rate setting, a buffer change, a batch-alignment rule, by recoverable value, with an owner and a measured result.
Maintenance is raised where the cause is wear. When the blocking cause is a station whose stop rate is climbing, the work order is raised against that asset in the same system, with the lost-output evidence attached.
The loss nobody attends a meeting for becomes a ranked list with a dollar value and an owner on each line.
What are starvation and blocking in manufacturing? Starvation is a machine that is up and ready but idle because it has no input; blocking is a machine that is up and ready but idle because it cannot discharge. Both are losses caused by another station, and most monitoring books them to the wrong machine or leaves them uncoded, because the machine that shows them has not faulted.
How do you find the bottleneck on a packaging line? Measure each station’s state over several weeks. The bottleneck is the station that is almost never starved and almost never blocked, and whose own stops always reduce the line count. It is the station with the lowest effective rate including its own stops, not the lowest nameplate speed, and it often moves by SKU and by shift.
Why doesn’t machine OEE show line-balance losses? Because the loss is in the relationship between stations, not in any one machine. A starved filler’s lost time is usually charged to the filler, when the output it did not produce is really a bulk loss or a scheduling loss. Only station states with attribution to the causing station make the loss visible.
How big should an accumulation buffer be? Large enough to hold the output of the upstream station for the duration of the downstream station’s longest routine stop, and the reverse. Size it to the measured stop profile of the stations either side, not to a rule of thumb or the space available.
Should non-bottleneck machines run at full speed? No, and not at exactly the bottleneck’s pace either. A station running far faster than the bottleneck does not increase line output; it spends the difference blocked, jamming and generating scrap. Run it a little faster than the bottleneck, with speed controlled by buffer level, so the buffer refills after a stop without constant start-stop cycling.
If the machines all report high availability and the line count is short, the loss is between them. Four weeks of station states will show where, which station is setting the rate, and how much of the waiting belongs to the schedule rather than the equipment.
The fixed-scope pilot does exactly that: one line, six weeks, an industrial sensor and hub installed with your team and computer vision over the handoff, every station’s state captured and attributed from day one. The readout includes the real bottleneck per SKU, the reattributed loss Pareto and the three highest-value interventions, which on a bulk-to-pack line usually include one rate setting and one scheduling rule the plant can apply the following week. The fee is fixed and credited in full against a first-year subscription if you roll out. The pilot runs on Fabrico’s manufacturing performance platform (MES, OEE, CMMS & AI), which connects machine data, OEE and loss analysis, production scheduling, SKU-level output value and maintenance in one system, so the bottleneck the data finds is the one the schedule plans around.
Request a demo or read how the scheduling module plans at the bottleneck-constrained rate.