The FiFo Calculator – Determining the Size of your Buffers

FiFo LaneIn my previous post, I discussed how to Determine the Size of Your FiFo Lane – The FiFo Formula. My preferred method is still an expert estimate. However, if you are interested in the math, here is a small JavaScript calculator that estimates a FiFo size for two processes. For instructions on how to use it and some background, see below. The calculator requires JavaScript, and it may not work with some older web browsers. If you see no graphs below, then try a different browser.

Information About the Two Processes

Please enter the information about the mean and standard deviation of the two processes in the fields below, using a time unit of your choice. You can hover over input fields for additional information.

MeanStandard Deviation
Process 1:
Process 2:
Minimum Time to cover for Breakdowns:

Expected System Time

Shows the relation between the FiFo length and the expected overall time between parts for the system.

FiFo Size Recommendation

Some Additional Observations

Bottleneck Probabilities

Shows the likelihood of one of these two processes being the temporary bottleneck. The larger the FiFo, the more likely that the overall slower process will be the bottleneck.

Normal Distributions

Shows the normal distributions of the two processes. The closer the distributions are and the more these distributions overlap, the more FiFo capacity is needed to achieve the same performance.

How to Use the FiFo Calculator

The program below will calculate the effect of the capacity of a FiFo lane (or for that matter, also a random buffer) on these two processes. This program is most useful to calculate the FiFo length before and after the bottlenecks. For more on bottlenecks, see my posts related to bottlenecks, especially the Bottleneck Walk. For a general discussion on how FiFo works, please see Theory and Practice on FiFo Lanes. For some background into the calculations, see Determining the size of your FiFo lane – The FiFo Formula.

You would need information about the time between parts for each of the individual processes, both the mean and the standard deviation. This means collecting data directly from your processes (or making really good assumptions 😉 ). You have two options here:

  • Collect data including every disturbance, breakdown, changeover, etc. during regular working hours. Your standard deviation may be quite large. In this case, such breakdowns, etc. are included in the assumptions about the effect of the FiFo. In this case, you can ignore the minimum time to cover for breakdowns by setting it to zero below if you wish.
  • Collect data without major disturbances, breakdowns, changeovers, etc. during regular working hours. Your standard deviation will be smaller. In this case, such breakdowns, etc. are not included in the assumptions about the effect of the FiFo. In this case, I recommend to also fill out the minimum time to cover for breakdowns below. How long do your want your FiFo to last in case the slower process breaks down completely?

You will see that the larger the FiFo capacity is, the faster your system will be. However, a too-long FiFo will make your system less agile, hence you need a trade-off. The calculator will also suggest a trade-off. In any case, all the calculations below are only estimations. If you think the results to be strange, use your common sense or the common sense of someone familiar with the system.

About the Calculator

The calculator uses the equations in Determining the Size of Your FiFo Lane – The FiFo Formula to estimate the bottleneck probability. Similar equations were used to estimate the expected joint speed of the system, where the probability of process A having a certain cycle time was combined with the probability of process B being larger than this cycle time and the corresponding expected value of process B. The latter part is a bit complex and involves double integrals.

Calculating the error function necessary for the normal distribution is difficult, but luckily different programming approximations are available for calculating the integral of the normal distribution.

However, joint integrals are trickier. The above calculator estimates a numerical integral, (i.e., the probabilities and means for different X are summed up). Hence the approach is not mathematically perfect, but by far exceeds the accuracy of a Monte Carlo simulation for similar calculation times. For any practical purposes, this calculator is probably much more accurate than the data you are entering in the first place. (How accurately do you know the standard deviation of your processes?)

As for the graphs, Google provides a pretty nifty and free JavaScript library for such graphs (and many other things).

Of course, use all results at your own risk!. In any case, I hope this tool helps you to get a better understanding about your system. Now go out and Improve your Industry!.

7 thoughts on “The FiFo Calculator – Determining the Size of your Buffers”

  1. Hi Sam, as it says in the blog post, the calculator works “using a time unit of your choice”. if you enter the values as minutes, they are minutes. If you use hours, they are hours. Just don’t mix the units, e.g. don’t use minutes for process 1 and seconds for process 2.

  2. Hi Rickard, not sure if i understand correctly. You enter values, and these should all have the same time unit. If the mean for process one is in hours and process two in minutes, then of course it gets messed up. Use the same time unit for all values.

Leave a Comment