I was recently asked if System Dynamics (SD) is dead. And this is in fact an interesting question. In the industry, the use of discrete-events (DE) and agent-based (AB) models vastly surpasses the contribution of SD. And SD seems to be in an eternal struggle to get more popular and it doesn’t seem get enough traction, at least in the business/industrial world. So, is SD dead? I can only talk about my experience but here it goes.
I currently feel unbiased into which methodology to use for any simulation project, and I think I am sufficiently proficient in all of them. But while I have used DE and AB in countless different projects of different nature in different industries, SD doesn’t seem to have the same versatility or applicability. So the question is: why is SD not good enough for most of these projects? After developing hundreds of simulation models in the last few years, I can identify 3 main reasons why SD is used: for research, for necessity and as a novelty. Let’s review each one separately.
Research work with a clear Agenda
First, let’s remember that in the academic world, you have 3 actors: the student who needs to complete a project using SD, the professor who supervises this project and requires the project to be done using SD and the client (implicit or explicit) who wants to solve a problem and doesn’t care about the method used as long as the problem is solved. This dynamic has a potential issue: the project needs to be developed using SD, because that’s the professor’s or university department’s agenda.
Some of my clients are students that are generally in a Master or PhD program, and I lost count on how many of them I helped in the process of building a scientific paper or supporting them on the the development of a simulation model, and here we have two distinctions on why SD is applied: pure SD models and hybrid models. And the agenda for each is quite different.
Pure SD models
Research on pure SD models is the best opportunity SD has to thrive. Generally associated with sustainability, high level policies or other social science related topics, the application of SD for these problems is generally well suited and with a potential of being useful from a research standpoint. When the research consists on doing a pure SD simulation, it has rarely been the case where I felt that using AB or DE was better. The SD community wants to push SD-related papers, there are suitable problems to solve, and most of the time they seem to match. I’m not sure about the quality of all these studies, but this is the place where SD seems to have a lot of potential.
With hybrid models, there’s a different story. It is not uncommon to see that the researcher has the task to develop a hybrid model, with a professor who has no idea about hybrid simulation models, or is an expert in only one of the three paradigms. In almost all the cases for this kind of research I find that either SD is enough and should be used in its pure form, or SD has no role to play or adds no value to the research, the latter being a more common situation. Unfortunately, in these cases, the student who hired me has no option but to comply with the rules set by the supervisor and the agenda of the University department.
It is sad to see this happening. The idea of trying to fit a methodology into a problem is the wrong scientific approach, and instead, I think the methodology or group of methodologies should be chosen based on the project at hand, with the multi-method simulation framework in mind. I see this happening very often, and I feel ashamed of some of the models that came out from this. Imagine your professor telling you to simulate the processes of a manufacturing facility with SD, just because the model is not hybrid enough. This happened to a PhD student who worked with me. Come on! It’s not like these methodologies were invented yesterday. We all know already clearly enough that a DE model is the best approach for this application, and in 2020 we don’t need yet another paper trying to bullshit the idea that for a manufacturing facility the use of SD+DE is a novel approach.
I talked about using hybrid models in research, where there’s an agenda to follow. In business applications, there’s no such thing as an agenda, except in rare cases where some manager promised a hybrid model without necessarily knowing what he’s talking about. But generally they are easier to convince than researchers. In big multi-method models, nevertheless, at least in my experience doing hundreds of models, the use of SD is very limited. We don’t generally see the interesting dynamics for which SD is famous for with loop combinations leading to counterintuitive behavior. Instead SD plays a secondary role in the whole context, and the other simulation methods take the lead in terms of the important parts of the model behavior. This is of course a generalization and I have developed in rare cases hybrid models that actually have SD as a significant contributor, but it’s more rare.
On the other hand, there are certain cases in which SD is unbeatable as the only possible viable simulation methodology, and this happens specially when there are abstract or subjective variables or relationships, or when the system is far too complex and requires extensive aggregation. In these cases that are in most cases related to policy making advisory for the public sector, SD is such a great tool to use, and it’s unviable using DE or AB. Of course SD has competition from other domains, for example using econometric models such as Dynamic stochastic general equilibrium models (DSGE), that are generally more straight forward to develop.
This is the most interesting reason on why SD is used in business or public sectors. A client has a problem to solve, that is big and complex. The client normally uses a particular methodology to solve that problem, but someone who knows SD, has the idea of using it to solve it. SD in these cases is sold as a novelty and as a new groundbreaking methodology, that is superior to any other. And there we go, building a big and complex SD model with high expectations in order to get a better understanding of a big system that is just too complex to grasp. After the development two things can happen. Either it’s adopted for future projects, or it’s dropped as an inferior methodology compared to the other options. I don’t have enough data to actually know which one occurs more often, but considering the lack of traction SD has in the business world or in the public sector, I have the feeling that the SD models are sometimes just not superior enough in comparison to simple statistical methods, are too expensive to develop, or are just too difficult to maintain.
There are many consulting companies out there who focus purely in SD and sell their services with SD as the unique solution. Many of these companies seem to do well and sell projects around the world. I personally worked with a couple of them and I see that they are doing good work and the projects they are pursuing are well suited for SD applications. On that regard, there is clearly a big market for SD models and it definitely doesn’t seem to be dead at all.
There are a lot of Software packages that support System Dynamics and you can find a comparison here, but I have only used 4: Vensim, Stella, AnyLogic and Insight Maker. Let’s review them in order to get an understanding on where SD may have problems thriving.
Welcome back to the last century. If you want to feel in the 1990’s, this Software is really great. It is unbelievable that Vensim remains as the most widely used SD Software in the market, most likely because it has a Personal Learning Edition version that is already powerful enough to do most SD models. If you want to do advanced models with the professional version, it’s true that Vensim is quite powerful and complete, but the usability level, visualization level and poor design really needs to be addressed. I just have the feeling that this Software is what makes people think that SD is dead. It’s a Software that gives the feeling that you are using an ancestral methodology that has been obsolete for years. It’s all about perception, and presenting a Vensim model to influential leadership is equivalent to showing a low quality powerpoint presentation. The results can be great, but if it’s ugly, it’s ugly.
This Software suite looks very modern and powerful with real presentation capabilities. It has a historical reputation of having a lot of bugs, but I think its last version is quite stable and powerful. I think it’s the best SD software in the market.
This one is of course my favorite. The SD features you have on AnyLogic are in fact all you need for any model you may want to achieve. Also AnyLogic is one of the leading Software for simulation modeling, so it’s definitely the best option for a long term career as a simulations developer. Nevertheless, the System Dynamics library has some bugs, that even though are not important in most models, they can be problematic in some rare cases. In the AnyLogic community, SD experts are extremely rare since the main focus is in AB and DE while also building libraries for all kinds of applications. It is good though, that along the AB and DE simulation world, AnyLogic keeps SD alive as a concept.
This is the best option to start with the concepts of SD. You can work in parallel with other people so in my opinion is one of the good options for learning since it’s free. I have only made toy models with it, but, it seems pretty intuitive and nice.
Remarks on Software available
We can see that there are so many options for Software used to develop SD models, so there is definitely a demand out there. All the important ones are still being developed and improved. That means that SD still has a long way to go, and from this point of view, it’s far from dead.
Versatility and Complexity
Now let’s talk a little bit about the experience of developing a SD model. There are different elements that can be addressed. How difficult it is, how adaptable it is, how versatile it is, and what makes SD so interesting compared to something else?
The concept of SD is really extremely simple. You have a stock that accumulates something in time, and you have flows that define the rate in which that something is accumulated. And that’s basically all there is to it. It’s so simple, that one can wonder how can there even be a book about it. But the reality is that an extremely simple concept like that, is actually very hard to actually implement. Conceptualize a system into a set of stocks and flows that make actual sense is one of the hardest things to do. It is way harder than any AB or DE model. It requires iterations of the model, a lot of interactions with different experts in different fields, a lot of reading and research, and if you have only built small SD models not larger than the typical SIR model, you can’t even imagine what it takes, and there are a lot of techniques to achieve this conceptualization such as Group Model Building. To put this into perspective, while in DE models you only need the knowledge of 1 expert to have a clear representation of a section of a process, for complex SD models, you need the integration and mental alignment of a set of experts in different fields to all contribute to the conceptualization of every little section of the model. In my opinion, SD is more difficult to understand than AB and DE, and the people who work in each one of these methodologies are actually completely different.
For me it’s much more difficult to value the cost of a SD model, because I always see it as a research project, and research is difficult to quantify when you value the cost of a project. For that reason, at least in my opinion, developing a SD model is more time consuming, more ambiguous and more uncertain, and for that reason more expensive. On the other hand, SD models have more potential to have a larger impact as they are used for example for policy making at a country or regional level, so it’s generally ok for them to be more expensive.
Another difficulty for SD, is that it’s quite hard to maintain and update. A small change in your definition of the system can make the model unusable. For example, making a model for region A in a country, might not work at all in region B. A model built based on a segmentation of the population in a certain way, might be completely useless for a different segmentation. That may end up in the models becoming obsolete pretty quickly.
Finally, the visualization of a SD model is nothing special. It’s just a composition of graphs and numbers equivalent to what you would do on an Excel spreadsheet. People are still very much impressed with SD models, but it’s nothing compared to how they are impressed with a full GIS or 3D animation of the actual operations or reality of the system which is actually very impactful.
SD is definitely not dead. You still have a lot of research being made and new published papers every year. You have Software still under development, you have companies focused on building SD models, SD models can have a greater impact at a higher level, and it’s still used as a novel approach to many different applications. SD has a lot of room to grow and to become something much bigger than what it is, in particular if the SD community grows with more people interested in actually using the methodology for complex systems in the business world.