methodatlas
RunsheetSystems Thinking

Stock and Flow Diagram

ComplexityHigh
Time2-6 h
Participants1-6
FormatWorkshop + async
MaturityEstablished
01

Prerequisite

What needs to be finished first

Complete firstCausal Loop Diagram

A CLD with identified feedback loops and key variables exists.

Without: Without CLD, qualitative model basis is missing and stocks and flows become speculation without structure.
Complete firstReference Mode Datanot in catalog

At least time-series data for the central stock variable exists (ideally 6-24 months).

Without: Without data, model cannot be calibrated and simulation results remain fantasy.
02

Preparation

What needs to be ready before start

Materials

Whiteboard or digital modeling tool (Stella, Vensim, Insight Maker); notation: stocks as boxes, flows as pipes with valve, clouds as source/sink; data snapshots; variable list with units.

People / roles

One modeler experienced in system dynamics; domain expert with data knowledge; stakeholder with decision mandate; one reviewer for plausibility.

Pre-read

Reference-mode data; CLD model; known constraints (capacities, budgets, contracts); historical interventions and their effect; hypotheses about delays.

Time needed

1-2 days initial, then refinement

Setup

Install modeling tool or whiteboard with clear notation. Define units per variable (items, hours, EUR). Rule: stocks are states, flows are rates. No arrow without unit per time.

03

Core question

The one question this method answers

How does the central stock change over time, which flows and feedback loops drive behavior, and which intervention changes the dynamic structurally?

04

Flow

Marker: Phase

StepDurationActionHint
1Phase 1: Identify stocks
45 minExtract variables from CLD that are accumulations (stocks, balance, population). Define unit and current baseline per stock.Confusing stocks and flows is most common error. Rule of thumb: if world stops, a stock continues to exist (depends on past), flows are immediately zero.
2Phase 2: Assign flows
60 minDefine inflows and outflows per stock. Unit per time for each flow (for example signups/week). Mark source or sink as cloud if flow is external.If a flow has no unit per time, it is not a flow. Check mass balance: what enters must stay somewhere or leave somewhere.
3Phase 3: Auxiliaries and relationships
60 minAdd auxiliary variables that influence flows (conversion rate, capacity, delay). Formulate relationships mathematically (Flow = Stock * Rate).Auxiliaries make models realistic. If flows depend directly on stocks, mechanism is missing. Make intermediate step explicit.
4Phase 4: Calibration with data
2-4 hFeed model with reference-mode data. Adjust parameter values so simulation reproduces historical data (with acceptable deviation). Sensitivity analysis for critical parameters.If model does not explain past, it is unusable for future. Calibrate first, then forecast.
5Phase 5: Scenarios and interventions
60-120 minSimulate several scenarios: baseline, intervention A, intervention B. Compare stock trajectories. Document effect after 3, 6, 12 months.Make delays visible. Some interventions show effect only after months, that is learning point, not model error.
05

Artifact

What comes out at the end

Form

Stock-flow diagram with variables, units, relationships plus simulation results for baseline and intervention scenarios as plots over time. Complemented by assumption docs, sensitivity analysis and recommendations.

Versioning / ownership

Version model as file in Git (XMILE format or tool-specific). One version per iteration, document changes to parameters or structure with rationale. Archive reference-mode data and simulation results separately.

Tool alternatives
  • Vensim or Stella Architect (commercial)
  • Insight Maker (browser-based, open source)
  • Sysdea (web-based modeler)
  • Python with PySD library for script-based models
  • AnyLogic for more complex hybrid simulations

stock-and-flow-diagram-working-template.md

Compact working template for Stock and Flow Diagram with context, input, output artifacts, and next step.

Stock and Flow Diagram Canvas

Context

What is this method used for?

Core question

Which question should be answered at the end?

Input

Which data, observations, or materials are available?

Working area

  • Area 1:
  • Area 2:
  • Area 3:
  • Relationships / patterns:

Output artifacts

  • Stock and Flow Model:
  • Dynamics Notes:
  • Simulation Hypotheses:

Open questions

  • ...

Next step

Owner, date, success signal.

06

Example output

Concrete filled scenario, fictional example

stock-and-flow-diagram-beispiel.md

Concrete filled scenario, fictional example

Stock-and-Flow Diagram - Client base at tax firm Bertram

Central stock: active clients (count, current 142).

Flows

  • New mandates (mandates/month, current 3.2).
  • Cancellations (mandates/month, current 1.8).
  • Shutdowns (for example insolvency, 0.4/month).

Auxiliaries

  • Referral rate (referral/active client/year, current 0.18).
  • Conversion rate (referral -> mandate, 35%).
  • Utilization (mandates/person-hour, current 0.92 at capacity 1.0).
  • Service quality (1-10, dependent on utilization, currently 7.2).
  • Cancellation rate (=function(service quality), current 12% p.a.).

Relationships

  • New mandates = client base * referral rate * conversion rate.
  • Service quality declines nonlinearly when utilization >90%.
  • Cancellation rate rises when service quality <7.

Reference Mode: Client base stagnates around 140-145 for 18 months despite rising referrals.

Scenarios (12-month simulation)

  • Baseline: base at 144, slightly downward trend.
  • Intervention A (half-time employee, capacity +0.4): base to 167 in 12 months, utilization falls, service quality rises to 8.4.
  • Intervention B (referral program doubles referral rate): base to 152, but service quality drops to 6.1, cancellation rate rises, effect fades in month 14.

Recommendation: Intervention A. Capacity build-up is mandatory before growth impulses.

07

Pitfalls

Recognize symptoms and steer against them

Trap

Stocks and flows confused

Symptom

"Signups" modeled as stock although it is a flow.

What to do

Test: when the world is paused, stock continues to exist (from previous state), flow is zero. Signups per week is flow, cumulative users is stock.

Trap

Units missing or inconsistent

Symptom

Model equations do not calculate dimensionally, value looks absurd.

What to do

Dimensional check before every simulation. Tools like Vensim enforce unit consistency. Manually: left and right side of equation same unit.

Trap

Model not calibrated

Symptom

Simulation contradicts historical data, recommendations not taken seriously.

What to do

Calibration mandatory. If data missing, mark model as qualitative only and plan quantification as follow-up.

Trap

Delays ignored

Symptom

Model shows immediate effect of interventions, real data shows months of delay.

What to do

Use delay blocks (material delay, information delay). Reference Mode often points to existing delay.

Trap

Sensitivity analysis skipped

Symptom

One simulation sold as truth, robustness of recommendation unclear.

What to do

Vary key parameters by +/-20%. If recommendation flips, it is not robust. Sensitivity note per recommendation.

08

Stop criteria

Done signals checkable in under a minute

No quantitative data available, model remains uncalibratable.
No system-dynamics-experienced modeler in team, notation not manageable.
Problem is linear without accumulations, stock-flow model overly complex.
Timebox under one day, calibration impossible.
Decision mandate for recommended interventions missing, model has no consequence.
Reference-mode data dominated by external shocks, model assumptions overlaid.

Finished the runsheet?

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