You Don’t Want to Build All Models from Scratch, Do You?

By Wang Zhao
Located in Lisbon, Portugal
European Master in System Dynamics candidate 2017-2019

Modellers face a problem: Too few of their models ever get reused. Meanwhile, many projects start by building a new model from scratch requiring plenty of research to conceptualize the model structure. If we see these two aspects from the perspective of ‘supply’ and ‘demand’, is there any ‘mismatch’ in between that hinders models from reuse? If so, what could be the reason?

Most system dynamics models tell stories in an explanatory way. The more explicit purpose it serves, the more detailed a model should be, and the more assumptions (or hypotheses) are needed to build it. Each model has its own assumptions based on specific context, and apparently context can vary from case to case, resulting in different sets of parameters. If modellers aim to ‘adapt’ a model for a new problem in full scale, they have to thoroughly understand the model as well as all assumptions, restrictions, and conceptualization behind it, satisfy themselves regarding the validity of many of them, though often this might not be feasible. So we can hardly call this process ‘adaptation’: it’s more like building from scratch, conducting another kind of detailed literature review, costly in both energy and time.

However, the same couldn’t be said of the models presented in John Sterman’s book Business Dynamics, whose structures have prevailed for almost two decades. A preliminary comparison informs us that Sterman’s sample models keep a healthy balance: explicit enough in their structure to capture the nature of a system, while conservative in size to avoid any mess. They could be considered as simplified ‘core models’: small, telling a story easy to understand, which makes them easy to adapt. Unlike Sterman’s core models, many modellers deal with problems that are more specific in context – and therefore more complex. As a result, their models hardly have a suitable interface to promote their adoption by follow-up (re)users.

The purpose of these observations is not to undervalue most modelers’ work, only to point out a reason why our models might not be reused. Just like in computer programming, we learn how to program by reading others’ code, but we do not often ‘adapt’ the full code of another program to our own project. Instead, we look for developers’ documents and samples for a faster and more clear understanding. Samples for programmers are what core models should be for a modeler: easy to understand, essence-catching, and safe and efficient to adapt directly. In this sense, core models should be considered more as ‘templates’ for model building, providing us with knowledge of typical structures and behaviours, making it easier to bridge the gap between specific cases and general models. Fortunately, a library containing different scales and types of templates has already been made available since long ago by Jim Hines, who called them ‘molecules’[1].

If ‘templates’ still require an understanding of their essence, another type of reusable System Dynamics model structures are more functional, and ideal for simply ‘plug and play’. Those are ‘observers’, often used for monitoring simulation results from a more complex perspective, providing deeper insights into the system. For example, a Net Present Value structure can be added to a model for analysing the financial performance of a system, as taught by Professor David Wheat of the University of Bergen. Structures like this are difficult to build, but easy to use, and once built up, can be easily and efficiently adapted for inclusion in any dynamic system model. It is proposed that observers might be built, saved, and imported into standard system dynamics platforms as modules rather than individual models, which could foster a wider sharing propagation of reusability.

System dynamics modelling has an origin in programming language (DYNAMO), indicating great opportunities in facilitating the building and dissemination of template and module structures for adaptation. With the help of the entire modeller community, high-quality templates and modules may prevail and add their value to the modelling process. It is exciting to hear that more ‘observer’ structures are already being built into some modelling platforms. I look forward to opportunities to collaborate with other modellers – as well as developers – to improve model reusability by devising features on a platform level.

About Wang: With a complex background of engineering and law, Wang found his major interest in complex systems and started to study System Dynamics. He currently focuses on interpreting human behaviour using System Dynamic tools, while tracking studies on cognitive process of modelling, i.e. abstracting.

Acknowledgements: Many thanks to Jonathan Nichols for his assistance in reviewing the manuscript.

[1] See

Meet the modeler: Interview

Join us for a live interview where you get to ask the questions! We’ll be talking to Wang about his blog post.

How to participate:
– join our Facebook event
– leave a comment with your thoughts and questions on the event page ahead of the interview
– share your questions in the comments section during the live stream

We are looking forward to having you with us!

Read more insightful articles

This post is part of a new series of insights by students of the European Master Program in System Dynamics. Subscribe to Young Modeler now to receive all upcoming articles fresh from the press.

Tagged with: , , ,
Posted in Uncategorized
4 comments on “You Don’t Want to Build All Models from Scratch, Do You?
  1. Kai Neumann says:

    We once worked with templates as well but lately we have moved to bring to life. It is not just that you can search for example models or use the pinboard to ask for some, it is that while you are modeling using the freeware iMODELER you can ask for suggestions for incoming or outgoing connections for each factor within your model. You then can rate those suggestions to improve the system over time. Of course, the repository of example models should also improve providing factors with data or formula and references.


  2. Reblogged this on Dynamic Applications and commented:
    This is a very interesting article by Wang Zhao about fundamental blocks of System Dynamics archetypes in elaborated detail, posted by @YoungModeler.

    For everyone new to the topic, a simple overview of the basic feedback loops that are common to Business Model Generation as well can be found on Wikipedia’s article about System Archetypes. As well, the basic picture of those interacting Problems-and-Success Models can be found within each Dynamic Application.

    I found it on German Wikipedia, translated the picture to English, called it “Balanced Scorecard – Management”, and added that picture to the top right icons in Dynamic Applications. Finally, i’ve uploaded it to the english article on System Archetypes @Wikipedia. Where it resides until today.

    Building World Models, together. A great topic to discuss.

    How could such archetypes or “building blocks” be incorporated with Dynamic Applications? – your suggestions are highly appreciated.

    For everyone interested in more detailed building blocks, see PDF Attachment at the bottom of the article, below.

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Welcome to the blog!

Share what you learn and learn from others

Join 47 other subscribers
Upcoming Events

No upcoming events

%d bloggers like this: