The primary elements of system dynamics diagrams are feedback, accumulation of flows into stocks and time delays. As an illustration of the use of system dynamics, imagine an organisation that plans to introduce an innovative new durable consumer product. The organisation needs to understand the possible market dynamics in order to design marketing and production plans.
Causal loop diagrams In the system dynamics methodology, a problem or a system (e.g., ecosystem, political system or mechanical system) may be represented as a
causal loop diagram. A causal loop diagram is a simple map of a system with all its constituent components and their interactions. By capturing interactions and consequently the feedback loops (see figure below), a causal loop diagram reveals the structure of a system. By understanding the structure of a system, it becomes possible to ascertain a system's behavior over a certain time period. The causal loop diagram of the new product introduction may look as follows: There are two feedback loops in this diagram. The positive reinforcement (labeled R) loop on the right indicates that the more people have already adopted the new product, the stronger the word-of-mouth impact. There will be more references to the product, more demonstrations, and more reviews. This positive feedback should generate sales that continue to grow. The second feedback loop on the left is negative reinforcement (or "balancing" and hence labeled B). Clearly, growth cannot continue forever, because as more and more people adopt, there remain fewer and fewer potential adopters. Both feedback loops act simultaneously, but at different times they may have different strengths. Thus one might expect growing sales in the initial years, and then declining sales in the later years. However, in general a causal loop diagram does not specify the structure of a system sufficiently to permit determination of its behavior from the visual representation alone.
Stock and flow diagrams Causal loop diagrams aid in visualizing a system's structure and behavior, and analyzing the system qualitatively. To perform a more detailed quantitative analysis, a causal loop diagram is transformed to a
stock and flow diagram. A stock and flow model helps in studying and analyzing the system in a quantitative way; such models are usually built and simulated using computer software. A stock is the term for any entity that accumulates or depletes over time. A flow is the rate of change in a stock. In this example, there are two stocks: Potential adopters and Adopters. There is one flow: New adopters. For every new adopter, the stock of potential adopters declines by one, and the stock of adopters increases by one.
Equations The real power of system dynamics is utilised through simulation. Although it is possible to perform the modeling in a
spreadsheet, there are a
variety of software packages that have been optimised for this. The steps involved in a simulation are: • Define the problem boundary. • Identify the most important stocks and flows that change these stock levels. • Identify sources of information that impact the flows. • Identify the main feedback loops. • Draw a causal loop diagram that links the stocks, flows and sources of information. • Write the equations that determine the flows. • Estimate the parameters and initial conditions. These can be estimated using statistical methods, expert opinion, market research data or other relevant sources of information. • Simulate the model and analyse results. In this example, the equations that change the two stocks via the flow are: \ \mbox{Potential adopters} = - \int_{0} ^{t} \mbox{New adopters }\,dt \ \mbox{Adopters} = \int_{0} ^{t} \mbox{New adopters }\,dt
Equations in discrete time List of all the equations in
discrete time, in their order of execution in each year, for years 1 to 15 : 1) \ \mbox{Probability that contact has not yet adopted}=\mbox{Potential adopters} / (\mbox{Potential adopters } + \mbox{ Adopters}) 2) \ \mbox{Imitators}=q \cdot \mbox{Adopters} \cdot \mbox{Probability that contact has not yet adopted} 3) \ \mbox{Innovators}=p \cdot \mbox{Potential adopters} 4) \ \mbox{New adopters}=\mbox{Innovators}+\mbox{Imitators} 4.1) \ \mbox{Potential adopters}\ -= \mbox{New adopters } 4.2) \ \mbox{Adopters}\ += \mbox{New adopters } \ p=0.03 \ q=0.4
Dynamic simulation results The dynamic simulation results show that the behaviour of the system would be to have growth in
adopters that follows a classic s-curve shape. The increase in
adopters is very slow initially, then exponential growth for a period, followed ultimately by saturation.
Equations in continuous time To get intermediate values and better accuracy, the model can run in continuous time: we multiply the number of units of time and we proportionally divide values that change stock levels. In this example we multiply the 15 years by 4 to obtain 60 quarters, and we divide the value of the flow by 4. Dividing the value is the simplest with the
Euler method, but other methods could be employed instead, such as
Runge–Kutta methods. List of the equations in continuous time for trimesters = 1 to 60 : • They are the same equations as in the section
Equation in discrete time above, except equations
4.1 and
4.2 replaced by following : 10) \ \mbox{Valve New adopters}\ = \mbox{New adopters} \cdot TimeStep 10.1) \ \mbox{Potential adopters}\ -= \mbox{Valve New adopters} 10.2) \ \mbox{Adopters}\ += \mbox{Valve New adopters } \ TimeStep = 1/4 • In the below stock and flow diagram, the intermediate flow 'Valve New adopters' calculates the equation : \ \mbox{Valve New adopters}\ = \mbox{New adopters } \cdot TimeStep ==Application==