← All docs

Flowchart modelling

The standard system dynamics paradigm is a flowchart: flow inputs are aggregated into a stock, with wires connecting the flows and the stocks. Minsky supports this paradigm as well, but with a few differences to the industry standard:

  • Our flowchart elements are modelled on the relevant mathematical operations—integration and differentiation—rather than being shown as “taps and bathtubs”, as in several leading programs;
  • All our equations are created graphically, and are visible on the canvas (unless they are in a group).
  • Standard programs enter equations as lines of text, and they are stored inside dialog boxes which sit behind the graphical representation of variables on the canvas; and
  • Parameters and variables can be “passed by name” as well as “passed by wire”, resulting in much less of a “spaghetti diagram” issue with Minsky .
  • Standard system dynamics programs require every entity that is used in defining another entity to be wired to it, and they allow only one instance of each entity on the canvas. This results in a lot of wires!
  • Minsky cuts this down dramatically by enabling multiple copies of an entity on a diagram, and it can be wired to only the entity it is used to define at that point. Consequently, Minsky diagrams look more like lots of small cobwebs, rather than one enormous bowl of spaghetti.

This gives Minsky a more compact and modular feeling than standard system dynamics programs. But it also requires adjustments for experienced system dynamics modellers. Figure 34 shows the conventional “inflowsStockOutflows approach:

Figure 34: Standard system dynamics display of flows and stocks (https://ccmodelingsystems.com/how-to-read-a-stella- model-diagram/)

minsky-quick-intro figure

Figure 35 shows the same model in Minsky (our symbol for Stocks is the integral sign as used by mathematicians).

Figure 35: Minsky's approach to Stocks and Flows

minsky-quick-intro figureminsky-quick-intro figure

There are strengths and weaknesses to both approaches, but we prefer ours because (a) the equations for births and deaths per year are visible on the canvas (though you can conceal them in a group if you wish), and (b) the simulation values are shown dynamically as the model runs—see Figure 36.

Figure 36: Varying population outcome by varying birth & death parameters during a simulation

minsky-quick-intro figure

The stylized dynamics of the introduction of a new product to the marketplace is a classic system dynamics model. Figure 37 shows a slight generalization of the original Bass model of product diffusion (named after its developer Frank Bass).

Figure 37: A Stella model of a product diffusion model

minsky-quick-intro figure

The model divides the population into two types: innovators and imitators. Innovators try out new things—and hence are the potential first buyers of a new product. Imitators do what other people are doing, so they don’t adopt a new product until they see it being used by others.

Innovators have an innate tendency to try something new, and the equation describing their movement from non-adopters to adopters is the percentage of current non-adopters that are innovators, times the number of non-adopters:

minsky-quick-intro figure

Imitators don’t have an innate tendency to try something new, but the probability of them trying something depends on the number of people that they see using it, times their tendency to imitate, times the fraction of the population that are still non-adopters:

minsky-quick-intro figure

The fraction of potential adopters is the potential adopters divided by the population:

minsky-quick-intro figure

The total number of adopters at any point in time is the sum of Innovators plus Imitators:

minsky-quick-intro figure

The two stocks are the Potential Adopters and the Adopters, and the increase of the former is identical to the fall in the latter:

minsky-quick-intro figure

Figure 38: The basic Bass model of product diffusion in Minsky using its flowchart technology

minsky-quick-intro figure

The model shows the importance of what we today call “Influencers”—as well as the importance of their imitators. Without influencers, nothing happens (set InnovatorFraction to zero in the above and run the model). With no imitators and Influencers being just 3% of the population (as in the simulation in Figure 38), it takes over a century for the product to diffuse through the entire population (set ImitationTendency to zero). With imitators, it takes just 5 years (given the parameters in Figure 38).

This model can also be constructed using a Godley Table. even though the flows are of people rather than money, because the two states—Potential Adopters and Adopters—are mutually exclusive categories. Figure 39 shows the model done this way. The advantages are (a) that it’s easier to read, since there are no differential equations shown (the Godley Table generates them automatically); and (b) that it’s easier to construct, especially as more factors are added, since the Godley Table automatically makes sure that the flows out of one category are balanced by flows into the other.

Figure 39: New product diffusion model built using a Godley Table

minsky-quick-intro figure

Given the built-in stock-flow accounting performed by the Godley Table, it’s worth considering whether you can use a Godley Table in your model before you start to construct it. The obvious rule is that where the flow out of one system state is the same as the flow into another, a Godley Table version is possible. One case where this does not apply is the “Predator-Prey” model, shown in Figure 3 on page 5: the negative for Fish (the fall in their number from predation by Sharks) is not the same as the positive for Sharks.

Flowchart modelling | Ravelation