Stocks and flows are not enough

Image courtesy Wikipedia . I’m a big fan of systems thinking, modelling, and design.  I pretty much “see” systems everywhere - it’s beco...

Image courtesy Wikipedia.
I’m a big fan of systems thinking, modelling, and design.  I pretty much “see” systems everywhere - it’s become that engrained in my thinking.  (Whether that’s good or bad we’ll defer to some other post.)  But I think a lot of the literature out there about systems modelling is missing something important: that a system is more than just "stocks and flows."

Two of the most basic concepts in systems are stocks and flows.  And the classic example to explain this mated pair of concepts is a bathtub.  The bathtub itself is a stock (of water); that is, it’s an accumulator/dispenser of some resource.  There’s a faucet that lets water into the tub; that’s a flow into the stock.  There’s a drain that lets water out of the tub; that’s a flow out of the stock.  And that’s all there is to it - you can build up incredibly complex system models with just these two basic concepts.

I’ve read a lot about systems, at it seems that stocks and flows are always central to explaining what systems are all about.  But I’ve come to believe that the focus on stocks and flows, while necessary, isn’t sufficient to really understand what the notion of systems modelling is really all about.

I’ll explain with an example.  There’s a great system modelling tool call Insight Maker.  It’s a web-based system that lets you construct some pretty complex system models and run “what if” scenarios to observe how the models behave under different conditions.  There’s an example on the Insight Maker website of a simple model of disease propagation.

The example starts by creating two stocks, one representing the collection of “healthy” people, and the other representing the collection of “infected” people.  They then add a flow to represent the spread of infection; specifically, it models how people flow (in an abstract sense) from one population to the other (and not the more concrete flow of the disease from infected people to healthy ones).  This makes sense if you consider that the model is about the people, not about the disease.

Step 5 of the example includes this: "The basic model structure has been laid-out, we can start to define parameter values and equations."  And that, in a nutshell, is the key point: the system model is worthless so long as it only has stocks and flows; the parameters and equations are absolutely essential to represent actual situations and therefore to have a model that’s even remotely complete.  The rest of the 28 steps of the example are all meant to highlight the importance of the parameters and equations to the behaviour of the model and of the real life situations that the model represents.

Just to drive this point home, notice that less than 1/5th of the example is about stocks and flows and more than 4/5ths of it are about the parameters and equations.  Go look through almost any text on systems, and you’ll always see stocks and flows front and centre, as if they are essential and most important.  But if you consider the total amount of material in the book, you'll see that stocks and flows make up a relatively small part of that body of knowledge.

Let’s look at parameters first.  In the example, the parameters include: initial quantities of people in each population, the rate of infection, and the rate of recovery.  These parameters are external to the stocks and flows; indeed, they are constants for a given instance (or simulation run) of the model.  There is nothing in the model itself that lets us determine these parameters - that’s why they’re external to it.

But if the parameters are external, then there’s something else beyond the system model that sets their values for a given instance.  Different diseases will have different infection rates on different populations.  In the (very) long term, the activity of a real population and real diseases will cause evolutionary changes in the disease (and the people too) that will alter the parameter values, but these aspects also exist beyond the system model.  It’s like saying that the speed of light is a fixed constant - which is perfectly reasonable in most common circumstances - while also recognizing that there are rare cases where it will vary.  There’s no point in including General Relativity in calculations of, say, how long it takes to communicate by telephone because for all practical purposes, it really doesn’t matter.  Similarly, in any system model (including the disease propagation model in the example), there’s no point in including the coupling between populations and disease characteristics due to evolution.  But this also means that in any system model, there are parameters the values of which are both (a) essential to proper functioning of the model yet (b) must be established externally to the model itself.

So stocks and flows just aren’t enough.  A system model must include stocks, flows, and those key parameters.

The same argument can be made for the equations that capture system flows.  The equations capture a different kind of “structure” of a system than stocks or flows or parameters. The equations capture the behavioural structure of the system.  In the disease propagation example, for instance, the flow rate between the healthy and infected population is set to [Infection Rate]*[Healthy]*[Infected].  This equation represents a kind of structure that defines a response for a given stimulus; the structure is directly modelled by the math of the equation. In this case, the behavioural structure indicates a multiplier effect between the two stocks and a parameter.  Notice that the multiplier effect cannot be derived from any other information in the stocks, flows, or parameters.  It is this structure that the equations provide, structure without which the model cannot operate.  If the equation had been different, say taking the form of a power law or an inverse square law, then the behaviour of the system would be completely different even if the stocks, flows, and parameters remained exactly the same.

So a system model really isn't a system model unless it includes stocks, flows, parameters, and equations.

In the end, then, I hope I’ve made clear that the emphasis on stocks and flows, though necessary, is really only half (or less!) than the real story behind systems thinking and a systems perspective. Without parameters to bring external information into the system and equations to embed behaviour into a system, we really can’t do much of anything.

I’m going to be revising my courseware. I’ve gone a long time doing the “classical” thing and depending on stocks and flows as the key concepts behind systems.  But I was wrong.  Or rather, I was incomplete.

COMMENTS

Name

academia activism admin aesthetics affect ageing AI analogy android anthropology anticipation app architecture art arts Asia assistive technology balance biology biomimetics book branding building business CAD Canada case cfp change revision children codesign cognition collaboration colonization commercialization commonplacing communication design competition complexity computation computer science computing concept map conference constructivism conversational analysis craft creative arts creativity CSCW culture cybernetics design design thinking digital digital media digital reproduction digital scholarship disability dissertation drawing economics education effectiveness efficiency emotion engineering environment ergonomics ethics ethnography Evernote evolution exhibition exoskeleton experience experimental studies fail fashion featured food function modeling futurism gender studies Germany globalization grantsmanship graphic design Greece HCI health heritage history housing human factors humanism identity image inclusivity industrial design informatics information innovation interaction interior design internet of things iphone journal journalism language law library life life cycle lifehack logistics luxury making management manufacturing material culture materials mechanics media method migration mobile motion design movie new product development Nexus 6 olfaction online organization packaging paper participatory design PBL pengate performance PhD philosophy planning policy politics practice predatory preservation prison proceedings productivity project management public space publishing reading Remember The Milk reproduction research resource-limited design review Samsung scholarship science science fiction semiotics senses service design simplicity society sociology software space strategic design student sustainability systems tactile tangibility technology textile theatre theory Toodledo Toronto tourism traffic transhumanism transnationalism transportation tv uncertainty universal design urban usa usability user experience visualization wearable well-being women workshop writing
false
ltr
item
The Trouble with Normal...: Stocks and flows are not enough
Stocks and flows are not enough
http://2.bp.blogspot.com/-eaNcz32pppQ/VWeqpYUdjzI/AAAAAAAAV7Y/y7rBJmz_Ff8/s320/Simple_LPM_stock_and_flow.png
http://2.bp.blogspot.com/-eaNcz32pppQ/VWeqpYUdjzI/AAAAAAAAV7Y/y7rBJmz_Ff8/s72-c/Simple_LPM_stock_and_flow.png
The Trouble with Normal...
http://filsalustri.blogspot.com/2015/05/stocks-and-flows-are-not-enough.html
http://filsalustri.blogspot.com/
http://filsalustri.blogspot.com/
http://filsalustri.blogspot.com/2015/05/stocks-and-flows-are-not-enough.html
true
389378225362699292
UTF-8
Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy