methodatlas
RunsheetSystems Thinking

System Dynamics Simulation

ComplexityHigh
TimeMehrere Tage bis Wochen
Participants1-5 Modellierende, Stakeholder asynchron
FormatAsync
MaturityCanonical
01

Prerequisite

What needs to be finished first

Complete firstCausal Loop Diagram

A validated Causal Loop Diagram with identified feedback loops, stocks and flows exists and serves as structural template for quantitative model.

Without: Without qualitative structure, simulation equations lack relation to real mechanisms and model becomes number game without explanatory power.

Stocks and flows are sketched as diagram with units, initial values and assumed rates.

Without: Without this preparation, simulation work starts with structure clarification instead of quantification and time horizon is blown.
02

Preparation

What needs to be ready before start

Materials

System dynamics tool (Vensim, Stella, Simantics System Dynamics, AnyLogic, BPTK-Py); data sources for initial values and rates; version control (Git, model files plus scripts); spreadsheet for data preparation.

People / roles

One modeler with system dynamics experience (lead); one to two domain experts for rates and assumptions; one data owner for initial and validation data; one stakeholder or client for scenario selection and interpretation.

Pre-read

Question and time horizon; CLD and stock-and-flow sketch; available historical data for calibration; known policy options; accepted uncertainty range; reporting format.

Time needed

Several days to weeks

Setup

Model folder in repo with /model, /data, /scenarios, /docs. Tool installed and licensed. Calibration dataset imported. Question and time horizon visible in model documentation.

03

Core question

The one question this method answers

Which dynamic effects and policy levers become visible when qualitative structure is calculated as quantitative model across the time horizon?

04

Flow

Marker: Phase

StepDurationActionHint
1Phase 1: Fix question and time horizon
Half dayDefine concretely formulated policy or strategy question. Time horizon in steps (for example monthly, 10 years). Success picture for model: what must be answerable at end?If question is "what will the future look like", it is not answerable. Question must be comparative: effect of measure A vs. B over horizon.
2Phase 2: Implement model
3-7 daysEnter stocks and flows in tool. Formulate equations for rates. Model auxiliaries, lookups, time delays. Keep units consistent. Run model without errors.Units check is mandatory. One mismatch destroys explanatory power. Tools often have built-in units check that must not be disabled.
3Phase 3: Calibration
2-5 daysRun model against historical data (hindcast). Adjust parameters so trajectory fits realistically. Document fit metrics (for example RMSE). On mismatch, check structure instead of parameters.Fine-tuning only parameters to fit data (overfitting) gives no forecast value. Mismatch often shows missing loops that must be structurally added first.
4Phase 4: Sensitivity analysis
1-2 daysDefine ranges for 5-10 central parameters. Run sensitivity runs (Monte Carlo or structured tornado analysis). Identify robust vs. fragile parameters.Communicating single-point forecasts suggests precision model does not provide. Sensitivity belongs in every output, otherwise model is misunderstood as oracle.
5Phase 5: Scenarios and policy tests
1-3 daysDefine clear parameter setting and timeline per scenario. At least 3 scenarios (baseline, measure A, measure B). Results as trajectory curves, not only endpoints.Endpoint tables often lie: measures work differently short-term than long-term. Trajectory curve shows overshoots, delays and reactions that disappear in endpoint.
6Phase 6: Interpretation and reporting
Half dayDocument results with assumptions, sensitivity and limitations. Stakeholder workshop for interpretation. Archive model with data and scripts as reproducible bundle.Presenting model without assumptions disclosure invites misinterpretation. Assumptions must be communicated as prominently as results.
05

Artifact

What comes out at the end

Form

Repository with model file (Vensim mdl, Stella isd, Python notebook), dataset, scenario configurations, sensitivity reports, trajectory curves (plots), assumptions documentation and stakeholder briefing.

Versioning / ownership

Model with SemVer in Git repo. Structural changes documented per major release. Data snapshots dated, not overwritten. Scenario files as separate files with description.

Tool alternatives
  • Vensim PLE/DSS for established setups
  • Stella Architect for visual modeling
  • BPTK-Py or PySD for Python-based simulation
  • AnyLogic for multi-method models

system-dynamics-simulation-working-template.md

Compact working template for System Dynamics Simulation with context, input, output artifacts, and next step.

System Dynamics Simulation Working Template

Goal

Quantitative simulation model built from stocks, flows, and feedback loops.

Context

When and for what do we use this method?

Input

Which data, observations, decisions, or materials are available?

Execution

Short notes along the runsheet.

Output artifacts

  • Simulation model:
  • Scenario reports:

Assumptions and open questions

  • ...

Decision / next step

Owner, date, and success signal.

06

Example output

Concrete filled scenario, fictional example

system-dynamics-simulation-beispiel.md

Concrete filled scenario, fictional example

Simulation — Heat-pump subsidy program Saxony 2026-2040 (model v0.4, 2026-05-18)

Question: How strongly does increasing investment subsidy from 30% to 45% reduce CO2 emissions in residential building stock by 2040 compared with baseline path?

Time horizon: 2026-2040, monthly steps.

Stocks: Number of heat pumps, number of gas heaters, cumulative CO2. Flows: Installation rate, retirement rate, heating demand. Key parameters: Installation rate (200-650/month by subsidy level), lifetime (18 years), heating demand (seasonal).

Calibration: Hindcast 2018-2025, RMSE 4.2% for heat-pump stock. Acceptable.

Scenarios:

  • Baseline: 30% subsidy, cumulative CO2 by 2040: 84 Mt.
  • Scenario A: 45% subsidy from 2027, cumulative 71 Mt (-15%).
  • Scenario B: 45% + gas shutdown 2035: 58 Mt (-31%).

Sensitivity: Robust against heating-demand variation (+/-10% gives +/-2 Mt). Fragile against installation capacity (+/-20% gives +/-9 Mt). Policy recommendation: subsidy alone limited, bottleneck is installer capacity.

Limitations: Model ignores electricity-price feedback and district-heating competition.

07

Pitfalls

Recognize symptoms and steer against them

Trap

Point forecasts communicated

Symptom

Stakeholders quote one single number ("minus 15%") without range.

What to do

Always present results as range with sensitivity. Point value in reports without confidence interval is forbidden.

Trap

Unit error

Symptom

Model runs, but values look plausible although units do not fit (for example month vs. year).

What to do

Activate tool's units check and never disable. Check manually when migrating between tools. Plausibility check against external benchmark.

Trap

Overfitting

Symptom

Model fits history perfectly, forecasts for subsequent years deviate massively.

What to do

Train-test split: calibration on older data, validation on newer. For structural mismatch add loops, do not keep adjusting parameters.

Trap

Missing loops

Symptom

Model shows linear trajectory, reality shows saturation or oscillation.

What to do

Re-check CLD and Stock-and-Flow. Balancing loops are often missing (capacity constraints, saturation). Structure problem, not parameter.

Trap

Stakeholders without interpretation aid

Symptom

Stakeholders read plots and draw wrong conclusions about mechanisms.

What to do

Short explanation of mechanism per scenario (which loops dominate when). Stakeholder workshop instead of PDF sendout.

Trap

Model not reproducible

Symptom

Six months later nobody can rerun model with same assumptions.

What to do

Store model, data and scripts versioned. README with reproduction command. Fix tool version in docs.

08

Stop criteria

Done signals checkable in under a minute

Question is not comparative question, but desire for prediction without lever.
No robust data for initial values and rates available, model would be speculation.
Time horizon shorter than 6 months, static-analytical methods sufficient.
No person with system dynamics experience in team and no coaching obtainable.
Stakeholders expect point forecasts and accept no ranges.
Domain linear without visible feedback loops, simulation adds no value.
Tool or license costs exceed decision value.

Finished the runsheet?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.