The Milk Glass Game
(c) 2009 by Ed Seykota

If you wish to see the applet, you might consider downloading Java.



The Milk Glass Game



We live our lives within a system of inter-connecting feedback loops.


The Milk Glass Game is an interactive exercise in which you come to know something about control systems and also about your own control policies - as you take part in the feedback loop.


Hitting a target requires feedback and an effective policy for implementing the feedback.


In this video clip, the pilot uses positional feedback to land his airplane on a very small runway.  In this case, overshoot can be lethal.


The Milk Glass Game may not turn you into a fighter pilot.  It can, however, help you experience feedback control.




Click on the button on top of the spigot to start the milk flowing.  Change the flow rate by moving the button up and down.


Practice filling the glass to the fill line as quickly as possible - without overshooting.  If you work in a  restaurant, your boss might give you similar instructions.


The lines on the graph to the right show:


Blue: The Milk Flow Rate (and)

White: The Milk Level


As you interact with the model, you can come to see how the Level accumulates the Rate.  You can also get a sense of how you react to the Level to control the Rate.


In real life and in this model, rates accumulate into levels and levels feed information back (through you) to control the rates. 


Physics and Economics are full of confusion about what motivates flow rates; in particular, many claim that since the rate is the "derivative" of the level, the level somehow controls the rate through the derivative equation. 


This is, of course exactly backward.  The Rate flows into the Level, changing it; the Level controls the rate through the Policy.


As you get some hands-on experience with the milk glass game, or with actual milk, if you prefer, you might come to notice that you are using a policy to control the flow rate in response to feedback about the level. 


Your policy may change as you practice and as you gain knowledge about the system.


After some practice, you might come out with curves similar to these:



Typical Behavior of a Simple Feedback Loop


When you achieve a consistent result, you might like to define your control policy in writing.


For example: One policy is to keep the flow rate proportional to the distance remaining to the target.


You might also notice that your policy contains "reaction time" that may contribute to "overshooting."


You may notice the milk glass game does not show any scales.  The real world also does not show any scales.  Model builders must learn to deal with ambiguity.





A policy is a strategy that helps you control a rate in response to feedback from a level.

The amount of milk in the glass is a level.  Levels change by accumulating flow rates.  Levels cannot change instantly.  Levels have units of measure like gallons, pounds, dollars, people, miles, etc.

The flow of milk from the spigot into the glass is a rate.  Rates change according to policies that respond to feedback from levels.  Rates can change as quickly as you please.  Rates have units of measure like gallons/minute, pounds/week, people/year, miles/hour, etc.

One way to understand a dynamic system is to model it as a structure of levels, rates and policies - and to simulate its behavior.


We can then program the system structure in a simulation language (Excel works fine) and simulate the system behavior, one moment of now at a time. 


The model building process is an excellent way to define and refine assumptions and theories about how a system operates.


In the next chapter we make a mental model of the milk game. 


mental milk model

back to menu