Theory of Constraint’s Dice Game Simulator

Antoine Lagier
Published in
5 min readMay 23, 2020


Photo by Riho Kroll on Unsplash

If you have read “The Goal” by Eliyahu M. Goldratt (i hope you have), you know that in chapters 13 and 14, the main character in the novel Alex goes with his son on a scout hike.

It then comes to his mind to put into practice through simulation his first thoughts about how running smoothly his factory for which he is accountable (after some discussions with his adviser Jonah).

Let’s play this game of bowls and matches to enter the world of the theory of constraints.

Rules of game

The game is actually an experiment in what could be a balanced plant.

The sequence is:

  • Each Work Center (WC) in the plant is represented by a bowl.
    Each bowl belongs to a kid.
  • Matches represent the product (or inventory) processed in the plant.
    A bowl/Work Center takes the matches as inputs and delivers matches as outputs to the next bowl/WC in the production line.
  • Each kid rolls a dice to simulate the performance of his bowl/Work Center (i.e. how many matches it is able to transform and give to the next bowl/Work Center)

Quite simple right?

But like any production plant, any given Work Center (N) is dependent on the upstream Work Center (N-1) outputs : matches delivered by the “N-1” bowl will become the inventory of the “N” bowl.

Two exceptions:

  • First Work Center takes raw material as inputs (let say there is no raw material shortage).
  • Last Work Center gives manufactured finished goods as outputs, ready to be delivered to the customer.

Roll the dice & play

Each kid will roll the dice one after another:

  1. The first one places in his bowl the number given by his dice.
    If he rolls a 5, that means he transformed 5 items from the raw materials and those 5 items are usable for the next bowl.
  2. The next one in the production line rolls his dice. Please note that he is limited by the outputs of the previous bowl.
    For instance, if he rolls a 4, he will place 4 matches in his bowl. On the other hand, if he rolls a 6, he will only place 5 matches in his bowl as the previous bawl has only 5 matches available.
  3. And so on until the last bowl that will finally give the real production of the line.
    At this stage, you restart from the first bowl for a new production and you keep the inventory in each one.

Google Sheet Simulator

You will find here a simulator of this game in a Google Sheet:

You can refresh it to simulate the rolls or copy (File > Make a copy) the sheet into your account.

By default, the simulation is done with a 6-sided dice. Simulator includes 5 Work Centers and 10 rounds of rolls (i.e. each kid will roll the dice 10 times).


Each kid has a 6-sided dice, they all have the same ability to process outputs from the upstream Work Center into new inputs for the downstream Work Center. That’s why it seems to be a balanced plant.

We should theoretically expect an average flow of 3.5 for the production line and for each Work Center (the midpoint between the lowest 1 and the highest 6).

We can then define the performance for each roll in relation to the midpoint : if a Work Center rolls a 2, it will have a performance of -1.5; if it rolls a 6, a performance of 2.5 and so on. Let’s call that Roll Drift.


The sheet simulates 10 rounds of rolls like this one:

A round of rolls : a run through the whole production line
  1. WC1 rolls a 3 and places 3 matches in its bowl. The drift for this roll is -0.5.
  2. WC2 rolls a 1. As it has 3 matches available from WC1, it places 1 match in its bowl for WC3 and adds 2 matches to its inventory. Its drift is -2.5.
  3. WC3 rolls a 4. Unfortunately, it has only 1 match available from its upstream bowl (WC2) and nothing in its inventory so it only places 1 match in its bowl. Drift of -2.5 as well.
  4. At the end of this round, the final WC5 rolls a 6! But as it has only 1 match from WC4, the final production is single match only. Final drift of -2.5 once again.


In addition of the detailed rolls for the 10 rounds, you will find 3 charts at the top of the Google Sheet.

3 charts to analyse the production

Delivered Cumulative Drift (Roll over Roll)

This chart shows the evolution of the drift for the final Work Center, i.e. the actual production for the entire production line. Each roll is added to the previous one (cumulative).

Here, the first two rounds of rolls ended with a single match production (-2.5 drift), leading to a -5 cumulative. Line 0 represents the midpoint.

Inventory sum (Roll over Roll)

At each roll, a Work Center potentially add some matches to its inventory. This chart shows the evolution of the inventory roll after roll for each Work Center.

Cumulative drift per Work Center

This shows the cumulative drift for each Work Center roll after roll.


You can simulate the rolls indefinitely : it is very unlikely to expect an average throughput consistent with the midpoint of the dice (3.5 for a 6-sided dice).

You will always end up with:

  • A never ending drop in cumulative drift.
    The production line will never stop delivering less that you might expect.
  • An increase in inventory.
    Matches stack up in the bowls.


Theory of Constraints aims to find and remove bottleneck(s) in a production line, following the principle that “a chain is no stronger than its weakest link”.

Even if the plant seems balanced (same maximum capacity for each work center here), you will end up with some bottlenecks somewhere restricting the throughput of the entire system.

Theory of Constraints focuses on 3 key considerations:

  • Throughput
    The rate at which you can deliver and that generate revenue.
    “The Goal” is to increase throughput.
  • Inventory
    Anything used to produce finished goods : raw materials, facilities, equipment and work in progress (WIP).
    “The Goal” is to remove inventory.
  • Operational expenses
    Money spent by the company to turn inventory to throughput.
    “The Goal” is to reduce Operational Expenses.

In our case, without managing the constraint (the bottleneck), we have seen that throughput drops and inventory increased.



Antoine Lagier

Help customers in their Cloud Journey at day. Play with Public Cloud providers at night.