Systems & Complexity Foundation

Stocks and Flows

Understanding quantities that accumulate or deplete over time (stocks) and the rates of change that affect them (flows).

Quick Reference

The fundamental equation: Stock(t) = Stock(t0) + Accumulated Inflows - Accumulated Outflows. A stock cannot change instantaneously; it can only change through its flows over time. Stocks provide the inertia and memory to systems.

Definition

Stocks represent the stored quantity of any material, resource, or state within a system at a given point in time. They are the accumulations that result from the imbalance between inflows and outflows. Stocks can grow, decline, or remain stable depending on the relative magnitude of their flows. Stocks provide the inertia and memory to systems; they decouple past actions from present consequences.

Flows are the rates of change—the movement of material into or out of stocks per unit of time. Inflows increase stocks; outflows decrease them. Flows are represented by verbs: births, purchases, arrivals, production, sales, deaths, departures, consumption, depreciation.

The fundamental accounting equation governs all stock-flow systems: Stock(t) = Stock(t0) + Integral of (Inflow - Outflow) dt. This means a stock cannot change instantaneously; it can only change through its flows over time.

Key Principles

  • Stocks accumulate: They represent quantities that build up or deplete based on the difference between inflows and outflows
  • Flows are rates: They measure change per unit time (always ask "per what period?")
  • Stocks provide memory: Current stock levels reflect all historical flow decisions
  • Stocks decouple past from present: What you did yesterday affects what you have today
  • Characteristic time: Stock divided by flow rate indicates how long to fill or empty
  • Physical limits exist: Stocks have capacity constraints that change system behavior

How to Apply

  1. Identify All Relevant Stocks: What quantities accumulate or deplete in the system? What resources, materials, or states persist over time? What is being tracked, counted, or measured?
  2. Identify All Flows Into and Out of Each Stock: Inflows increase stocks; outflows decrease them. Use rate language (per day, per month, per year).
  3. Draw the Stock-Flow Diagram: Use boxes for stocks, arrows for flows. Label flows with rate variables and identify whether flows are constant, decision-dependent, or system-dependent.
  4. Identify Time Constants and Delays: How long does it take for flows to change the stock significantly? What is the characteristic time (stock divided by flow rate)?
  5. Formulate the Mathematical Model: For each stock: d(Stock)/dt = Inflow_rate - Outflow_rate.

Visual Diagram - Water Clock Model

        ┌─────────────────────────────────────────┐
        │                                         │
   ╔════▼════╗         INFLOW           ╔═════════▼═════╗
   ║         ║◄─────────────────────────║               ║
   ║  STOCK  ║     (flow rate = Q_in)   ║    OUTFLOW   ║
   ║         ║─────────────────────────►║               ║
   ╚════╤════╝     (flow rate = Q_out)  ╚═════════╤═════╝
        │                                         │
        │         ┌─────────────────────┐         │
        │         │  d(Stock)/dt =      │         │
        │         │  Inflow - Outflow   │         │
        │         └─────────────────────┘         │
        │                                         │
        ▼                                         ▼
   [ Current Level ]                     [ Goes somewhere ]
                    

Real-World Examples

Common Pitfalls

  • Confusing Stocks with Flows: "We hired 50 people this year" (flow) does not mean "we have 50 people" (stock). Current headcount depends on all past hirings and terminations.
  • Ignoring Accumulation Effects: Because stocks accumulate past decisions, current problems often reflect historical patterns. Addressing a depleted stock requires time to rebuild.
  • Mismeasuring Flow Rates: "We processed 1000 orders" is meaningless without knowing whether this is per day, month, or year. Always specify the time unit.
  • Assuming Flows are Independent: Flow rates are often influenced by stock levels through feedback loops.
  • Forgetting Physical Limits on Stocks: Stocks have physical limits (capacity constraints). When stocks approach limits, flow behavior changes dramatically.

Characteristic Behavior Patterns

Constant Inflows Only:              Constant Outflows Only:
    │                                    │
 S  │      ┌─────────                   S  │              ┌─────────
    │     /                             │             /
    │    /                              │            /
 ───┴───/───────────────             ───┴───────────/─────────────
    Inflows=Outflows (equilibrium)       Empty (depleted)

Balanced Inflows/Outflows:
    │
 S  │              *  *
    │           *      *                    *
 ───┴────────*───────────*──────────────*─────────────
            Approaches equilibrium

Growing then Saturating:
    │
 S  │                      ══════
    │                  ═══
    │              ═══
 ───┴────────────══───────────────────────────────
           Growth with carrying capacity
                        
← Previous Back to Category Next →