Stock and Flow Diagram (SFD) & Vensim
Een Stock and Flow Diagram (SFD) is de kwantitatieve uitbreiding van een CLD. Waar een CLD de causale structuur beschrijft, legt een SFD de accumulatiepunten en stroomsnelheden vast, en maakt daarmee simulatie mogelijk (in Vensim).
- Stock (niveau): accumulatie van hoeveelheden. Stocks zijn het geheugen van een systeem en kunnen ALLEEN via flows veranderen. "A stock is the memory of the history of changing flows within the system.": Meadows (2008)
- Flow (rate): de veranderingssnelheid van een stock. Eenheid = [stock-eenheid / tijdseenheid] (bv. personen/jaar, €/maand).
- Cloud: de systeemgrens: bron of sink buiten het model.
- Auxiliary (converter): tussenliggende variabele die NIET accumuleert en onmiddellijk van waarde kan veranderen.
Hoe herken je een stock? De snapshot-test
Stel je voor dat je het systeem 'bevriest' en een foto maakt. Alles wat je op die foto kunt meten, is een stock.
| Voorbeeld | Stock of flow? | Reden |
|---|---|---|
| Bevolking van een stad | Stock (personen) | Op elk moment meetbaar: hoeveel mensen wonen er nu? |
| Geboortes per jaar | Flow (personen/jaar) | Een snelheid: alleen over een periode meetbaar |
| Bankbalans | Stock (€) | Op elk moment meetbaar |
| Rente-inkomsten per maand | Flow (€/maand) | Stroom die over tijd de stock verandert |
| Reputatie van een bedrijf | Stock (reputatie-eenheden) | Bouwt op over tijd: informatie accumuleert en heeft persistentie |
| Verlies van reputatie per incident | Flow | Snelheid waarmee de reputatiestock daalt |
Informatie is óók een stock, al is het niet fysiek. 'Perceived sales' is een stock: de accumulatie van waarnemingen over de tijd. Gebruik een dimensieloze eenheid ('reputatie-eenheden') als er geen betere maat is, en wees duidelijk vanuit wiens perspectief de stock is (bv. perceptie van de manager, niet van de klant).
Eenhedencheck: kritisch!
De meest voorkomende technische fout is dat eenheden van flows en stocks niet overeenkomen. Controleer altijd: eenheid stock / eenheid tijd = eenheid flow.
| Stock | Stock-eenheid | Flow | Flow-eenheid |
|---|---|---|---|
| Bevolking | personen | Geboortes | personen/jaar |
| Bankbalans | € | Inkomsten | €/maand |
| Voorraad producten | stuks | Verkopen | stuks/dag |
| CO₂ in atmosfeer | ton CO₂ | Uitstoot | ton CO₂/jaar |
Stappen: CLD omzetten naar SFD
- Specificeer de eenheden van alle variabelen in het CLD.
- Identificeer accumulatiepunten: welke variabelen bouwen op over tijd? → stocks.
- Identificeer wat elk accumulatiepunt laat stijgen (inflow) of dalen (outflow) → flows.
- Verbind stocks, flows en variabelen via informatiepijlen; voeg auxiliaries toe.
- Controleer of alle stock- en floweenheden consistent zijn.
- Identificeer feedbackloops in het SFD (R en B, net als in het CLD).
Vensim-formules (examen!)
// Stock: INTEG integreert de netto flow over de tijd: Capital = INTEG(Investment - Depreciation, 5) → stock met initiële waarde 5 (bij t=0) → stijgt via Investment (inflow), daalt via Depreciation (outflow) // STEP: plotselinge stap in een variabele: Customer demand = 20 + STEP(2, 26) → t=0 tot t=26: 20 | vanaf t=26: 22 (+2 stap) // MIN: neemt de laagste van twee waarden: Investment = MIN(Growth goal, Profit) → voorkomt dat er meer geïnvesteerd wordt dan er winst is // Perceptie met vertraging (veelgebruikt patroon): Change in perceived sales = (Sales - Perceived sales) / Perception delay → hoe groter het verschil, hoe sneller de perceptie zich aanpast
Gedragspatronen (graphs over time)
De structuur van een SFD (welke loops domineren) bepaalt het gedrag in de tijd. Leer deze patronen herkennen:
| Patroon | Structuur | Voorbeeld |
|---|---|---|
| Exponentiële groei | Dominante R-loop (inflow afhankelijk van stock) | Bankrekening met rente op rente |
| Exponentieel verval | R-loop waarbij stock zichzelf verkleint | Radioactief verval |
| Goal seeking | Dominante B-loop (flow afhankelijk van doel) | Thermostaat regelt temperatuur naar setpoint |
| S-vormige groei | R-loop + beperkende B-loop | Marktpenetratie tot verzadigingsgrens |
| Oscillatie | B-loop met significante vertraging | Voorraadbeheer met langzame informatiedoorstroming |
| Overshoot & collapse | R-loop + vertraagde B-loop | Overbevissing: visstand herstelt niet snel genoeg |
| Dynamisch evenwicht | Inflow = outflow (gebalanceerd) | Populatie stabiel: geboortes = sterftes |
Statisch evenwicht: alle stromen zijn nul; het systeem staat stil.
Dynamisch evenwicht: som van inflows = som van outflows; de stock verandert niet in waarde, maar er ís beweging.
Voorbeeld examen: in het autodealermodel vóór t=26 is er DYNAMISCH evenwicht: Perceived Sales integreert voortdurend, maar het niveau verandert niet. Dit is geen statisch evenwicht.
Modellen bij dit hoofdstuk
SFD-bouwstenen: Een Stock and Flow Diagram bestaat uit: stock (rechthoek, accumulatie, verandert alleen via flows), flow (pijl met kraan, snelheid van verandering), cloud (bron/sink buiten de systeemgrens) en auxiliary (cirkel, tussenliggende variabele die niet accumuleert). Informatiepijlen zijn gestippeld.
Andere hoofdstukken van Business Analysis for Responsible Organisations
- Responsible Organisation
- Systeemdenken (Systems Thinking)
- PAM: Purposeful Activity Model
- Integrated Reporting (IR)
- Stakeholdertheorie
- Causal Loop Diagram (CLD)
- Systeem Archetypen (Meadows / Kim / Senge)
- Leverage Points: Meadows (2008)
- Interventieontwerp (Stroh, 2015)
- Examen: voorbeeldvragen & antwoorden
- Graphs over Time & Dynamic Hypothesis
- Het IJsberg-model (Iceberg Model)
- Probleemformulering & Research Statement
- Communicatie & Story-telling (Lecture 6)
- Group Model Building (GMB): Rouwette & Franco (2024)
- Limits to Growth (1972): WORLD3-model
- Aanvullende concepten: harde & zachte variabelen, white/black box
- Praktijkcase: drinkwaterconsumptie (RIVM / Ambaum)
- Groepsopdracht: structuur, rubric & checklist
- Sleutelbronnen & academische referenties
- Vensim & System Dynamics: volledige gids