Complete Guide to Maximizing Throughput

Nov 28, 2022 | Equipment, Accumulation, Line Analysis

Hi, I’m Mike Earling, and I’ve been heavily involved with the packaging industry for nearly 40 years. I wanted to take some time to walk you through the importance of maximizing your throughput.

This point comes up time and again, and it is one of the single most critical considerations of any production line that gets overlooked. Most packaging lines are put together by buying individual machines and then connecting them with conveyors to get the material from one machine to the next.

The focus is often given to the most expensive pieces of machinery, and space is allocated to the line based on the function of the machine components. After the machines are chosen, they are laid out in the line, and whatever space is left is dedicated to connecting the machines with conveyors.

In the packaging industry, we often joke that the conveyor manufacturer is the lowest member of the industry food chain. We get whatever space is left to do what we have to do. It’s amazing to see millions of dollars spent on specific machinery only to connect it without considering what happens when they all start interacting together.

Gains of 20% – 30% in overall output are commonplace when forethought is given to how you connect the machines.

What is the Theory of Constraints?

This theory was put forth by Eli Goldratt in the early 80s in a book called The Goal. I highly recommend it. It is an easy read and does a good job of explaining the concept. It fundamentally states that each process will have a constraint and that a series of steps can be taken to ensure an ongoing improvement of the process. 

Steps to Improve a Constraint

  1. Identify the constraint.
  2. Exploit the constraint.
  3. Subordinate everything else to the above decision.
  4. Elevate the constraint.
  5. Go back to step #1.

I learned about this book during an interview with a prospective employee. I explained how we had been analyzing production lines since 1977 and had developed some interesting insights into how production lines can be improved, and he said, “That sounds just like The Goal.” He sent me a copy, and I found it intriguing that I had been working on a distinctly parallel path to Dr. Goldratt’s. 

Dr. Goldratt’s background came from the defense industry in Israel; therefore, he had not addressed the differences which become apparent in the world of high-speed packaging and the effects of closed coupled systems. Most of my work has been spent in these areas, where there is little or no time to react to any malfunction.

 How to Perform a Line Analysis

The analysis of the line is a relatively simple process, which will do the following:

  1. Identify the constraint
  2. Identify strategic buffer locations
  3. Identify the optimal capacity for the buffers
  4. Verify that there is sufficient rate capacity of the non-constraints
  5. Predict the effect on overall throughput
  6. Determine efficiency thresholds for each machine

The collection of the data is surprisingly simple. It can be accomplished in several different ways. Once you understand the principles behind the analysis process, you will see how easy it is to compile the data.

The key here is not to overkill the data collection process.

There’s a lot of statical information you can collect about your equipment, but you don’t need all of it to perform a line analysis. 

If you know:

  1. The maximum RATE of the machine
  2. The average length of time a machine is down (MTR)
  3. How many times per hour or shift it goes down (MTBF)

You have everything you need! Remember, it does not need to be exact. There are checks built into the system to verify if the numbers are way off, and you only need estimates. Once the first pass is down, it will pinpoint which pieces of data need to be verified. This saves a ton of work.

I know this is contrary to everything you’ve learned in the past. However, once you go through the process several times, you gain confidence in its accuracy and validity. Over the years, we have done hundreds of these analyses for people and have rarely been off by more than  5% of their actual production outputs.

If you want assistance, contact us for a line analysis.

Real-World Examples of Calculating Throughput

Until now, we have been discussing the background of throughput and what you need to know to find it. Let’s take a look at a couple of real-world examples:

Here is an example of how to calculate the POR or Probability of Run. If you think about the logic of the formula, you will see that all you are doing is a simple percentage calculation of the amount of time the machine is running  (MTBF)  as a percentage of the total time (MTR+MTBF).

  • Rate = 175 Products per Minute
  • MTR = 3 Minutes
  • MTBF = 60 Minutes
  • POR = ?


POR = 60/(3+60)
POR = 60/63
POR = .9523

There is no difference, except for moving the decimal place between POR, Efficiency, or Uptime %. What we are looking for is the probability, at any given time, that a machine will be up and running. In this scenario, it is 95.23% of the time.

Now that we have the Probability of Run calculated, we can now find the Net Output with another simple calculation:

  • Rate = 175 Products Per Minute
  • POR = .9523
  • Net Output = ?


Net Output = Rate * POR
Net Output = 175 * .9523
Net Output = 166.65

If the machine runs 95.23% of the time and it runs at 175 products per minute, then the other 4.77%  of the time it is not running. Therefore, over the entire time period, it produces at an average rate of 166.65 products per minute.

Finding the constraint is simple once the preliminary data previously discussed has been analyzed.

You simply look for the operation that has the lowest net output. That net output is now going to be the line’s potential throughput. 100% throughput will be whatever the constraint’s net output is.

At this point, we have developed a target for the line.

You will also see that the net output of the constraint is usually much higher than the actual output that has typically been achieved from the line. The reason for this is the effect of downtime on the non-constrained machines, starving or stopping the constraint from running. As you will see in the in-depth analysis, this is often as much as 20 to 30 percent or even more.

I have simply extended the calculations to each machine. The Filler is the constraint to the line with a net output of 166.6 ppm. This is the target throughput for the line

100% throughput would be achieved if the Filler was always able to run whenever it is capable of running.  However, due to the malfunctions which occur on the other machines, the Filler is left idle with either no product to run or no place for its output to go. This is, in effect, the result of the compounding of all the machinery’s downtime.

For this line to produce a product, all machines have to be running at the same time. The probability of that happening is the result of compounding all of the PORs of the machines. The result is .943*.952*.946*.888*.985*.897 = .676

There is only a .676 probability that all machines will be running at the same time. When they do run, they are paced by the rate of the filler at 175PPM. The result is 175PPM *.676= 118.3 Net Output for the line.

What happens when buffers are added?

By placing Buffers in the ideal places and sizing them for the longest downtime exposure, we now create a condition where the buffers will protect the constraint from most malfunctions of the non-constraint machines.

In this particular example, the Net Gain in throughput on the Total Line from 118.3 Net Output to 166.6 Net Output is increased by 41% or 48 PPM.

How to Protect The Constraint

What you must protect the constraint from is the effect of malfunctions on machines that are non-constraints. You see, in a close-coupled system, anytime a non-constraint shuts down it immediately shuts down the constraint. This is because the entire line is the system. All things are connected. However, the constraint can be protected.  We do this by adding buffers in places, allowing the constraint to continue running during a typical malfunction of a non-constraint.

When this is done effectively, significant increases in throughput can be achieved, as seen in the example above.

A buffer that is upstream of the constraint will normally be full. This is exactly what we want. Because the upstream machines have been uncoupled from the constraint, they can now run faster than before, which means that excess product can be produced. This is what fills the buffer.

Now, when a malfunction occurs on a non-constraint machine upstream of the buffer, the constraint can continue to run using the product out in that buffer. This allows you time to fix the problem and start the machine backup before you run out of the product in the buffer. If the buffer is sized properly, the chance that the constraint will shut down due to a malfunction upstream is greatly reduced. Every time this happens, you gain more throughput.

A buffer that is downstream of the constraint will normally be empty. This is exactly what we want. Because the downstream machines have been uncoupled from the constraint, they can now run faster than before, which means that if any excess product accumulates in the buffer, it will be used up quickly. This is what keeps the buffer empty.

Now when a malfunction occurs on a non-constraint machine downstream of the buffer, the constraint can continue to run, storing its output in the buffer. This allows you time to fix the problem and start the machine backup before you completely fill the buffer. If the buffer is sized properly, the chance that the constraint will shut down due to a malfunction downstream is greatly reduced. Every time this happens, you gain more throughput.

If you need assistance with any of these steps, reach out to our team today to request a line analysis to get started.