Concept Architecture
Stock and Flow Model of Accumulation in Health Care
A stock and flow model splits a health care problem into quantities that exist at a point in time, such as people living with a long-term condition or patients occupying beds, and the rates per unit of time that add to them or drain them, such as diagnoses and deaths. Each stock changes only through its flows, so the model is a running account, and its first lesson is that a stock keeps rising for as long as inflow exceeds outflow, however small the gap becomes. In health economics the same accounting sits inside system dynamics models, compartmental models of infection and the cohort trace of a Markov cohort model. It explains results that surprise budget holders, for example a treatment that lowers mortality and so raises the number of people who need care each year. Feedback, delays and model validation belong to system dynamics, which builds on this accounting core.
Stocks, flows and the balance equation
Marshall and colleagues, reporting for the ISPOR Simulation Modeling Emerging Good Practices Task Force, describe stocks as accumulations or aggregations of something, such as people or beds, and flows as rates that feed in and out of stocks with the units of the stock per unit of time. Sterman, writing on learning in complex public health systems, points out that stocks and the flows that alter them correspond to the epidemiological ideas of prevalence and incidence. The CDC epidemiology primer states that prevalence is based on both incidence and duration of illness.
where is the stock at time , is the stock at the start, and are the inflow and outflow rates at time , and both rates are measured in units of the stock per unit of time. Written as a rate of change, the same identity is , so the stock is the integral of its net inflow.
A waiting list is a stock, a referral rate is a flow, and a length of stay that turns admissions into occupied beds is a parameter that links the flow to the stock. Checking units is the quickest test of the structure, since people cannot be added to people per month.
Why accumulation defeats intuition
Sterman reports that intuitive understanding of stocks and flows is poor, and that most people assume a system's inputs and outputs move together. Because stocks integrate their net inflows, a stock rises even as its net inflow falls, as long as the net inflow stays positive. His health example is HIV, where the number of people living with the infection continues to rise even as incidence falls, and prevalence falls only when new infections fall below mortality.
In health economics this means a falling incidence of a chronic disease does not imply falling demand for its care, and a waiting list grows in every month that referrals exceed procedures, even when the excess is shrinking.
Steady state, average duration and prevalence
A stock is in steady state when inflow equals outflow. The simplest outflow assumption, called first order, is that each member leaves at a constant rate, so outflow is the stock divided by the mean time spent in it.
where is a constant inflow per unit of time, is the mean duration in the stock (the inverse of the per-person exit rate), and is the steady-state stock. This is the quantified form of the statement that prevalence depends on incidence and duration. As an illustration, a unit admitting 25 patients a day with a mean stay of 10 days settles at about 25 × 10 = 250 occupied beds, the quantity that the occupancy rate compares with bed capacity and that capacity planning has to provide for.
Homer and Hirsch start a chronic disease model with one stock of people with disease, fed by disease onset and drained by deaths, in steady state with about 1 million people with disease, 75,000 new cases per year and an equal number of deaths. On the relation above these figures imply a mean stay of 1,000,000 / 75,000 = 13.3 years. In their scenario with better prevention of complications, fewer deaths mean a longer average stay in the stock, so the number of people with disease rises, greater prevalence increases the need for resources, and in their model that demand squeezed out prevention of new cases.
Away from steady state, with constant inflow and first-order outflow, the gap between the stock and its steady state closes exponentially.
where is the starting stock, is the steady state and is the share of the starting gap that remains at time . The mean duration is therefore also the time constant of the stock, so a long-lived stock takes years to settle after any change.
Discrete time steps and numerical error
Most stock and flow models are solved in fixed time steps, which amounts to Euler method integration, the simplest form of numerical integration. Each step adds the net flow over the step to the stock, so the size of the step sets how closely the result follows the continuous model.
where is the stock at time , and are the inflow and outflow rates at time , and is the time step.
With first-order outflow, one Euler step multiplies the remaining gap by instead of the exact . Once the step exceeds the mean duration the factor turns negative and the stock overshoots its steady state, and beyond twice the mean duration the oscillation grows without limit. Short stays need short steps, much as the cycle length of a Markov model must be short relative to the events it represents.
Worked example of a chronic disease stock after a survival gain
All figures in this example are illustrative. A health board has 10,000 people living with a chronic condition, 1,000 new diagnoses a year and a mortality rate of 0.10 per person-year among people with the condition, so the mean duration is 10 years and the stock is in steady state at 1,000 × 10 = 10,000. A new treatment, given to everyone in the stock from year 0, lowers the mortality rate to 0.08, a mean duration of 12.5 years. Care costs GBP 3,000 per person per year, and the model uses annual Euler steps with deaths applied to the stock at the start of each year.
1. New steady state. The stock will settle at 1,000 × 12.5 = 12,500.
2. Year 1. Deaths are 0.08 × 10,000 = 800, so the stock becomes 10,000 + 1,000 − 800 = 10,200 and the net inflow is 200.
3. Year 2. Deaths are 0.08 × 10,200 = 816, so the stock becomes 10,200 + 1,000 − 816 = 10,384 and the net inflow is 184.
4. Year 3. Deaths are 0.08 × 10,384 = 830.72, so the stock becomes 10,384 + 1,000 − 830.72 = 10,553.28 and the net inflow is 169.28. The net inflow falls every year while the stock keeps rising, the pattern Sterman describes.
5. Closed form and the step error. The annual update gives , so , matching step 4. The continuous solution is . The annual step overstates the stock by about 20 people at year 3, and a step of 0.1 years gives 10,535.33, within 2 of the continuous value.
6. Ten years on. The annual update gives . Cumulative deaths over the ten years are 8,585.97 against 10,000 without the treatment, and the account balances because 10,000 + 10,000 − 8,585.97 = 11,414.03.
7. Cost of care. At the end of year 3 the stock is 553.28 above its starting level, worth 553.28 × 3,000 = GBP 1,659,840 a year in extra care. At the new steady state the extra 2,500 people cost 2,500 × 3,000 = GBP 7.5 million a year.
8. Interpretation. The life-years the treatment adds are the benefit an economic evaluation counts, and they appear in the budget as a larger stock of people needing care. Annual deaths fall at once, but because death is the only exit from the stock they climb back towards 1,000 a year, since at the new steady state 0.08 × 12,500 = 1,000. The treatment delays deaths, and a budget impact analysis that held the number of prevalent patients fixed would understate the cost of care by a growing amount.
Stocks and flows inside other health economic models
Chhatwal and He describe the compartments of a compartmental model as population pools with transitions between them represented by differential equations, as in the SIR model and the SEIR model. A dynamic transmission model of this kind is a stock and flow model whose infection flow depends on the infectious stock.
The cohort simulation of a state-transition model is a discrete-time stock and flow account as well. In a cohort simulation the entire cohort is redistributed across the health states after each cycle, so each health state acts as a stock and each transition moves part of it per cycle. The difference lies in the population, since Chhatwal and He note that Markov models generally start with a closed cohort and do not allow births, whereas compartmental models can represent open populations, as the new diagnoses in the worked example do.
Each stock counts its members without tracking who they are. Individual histories and queues of identifiable patients suit discrete event simulation or an agent-based model better. With constant per-person rates the only feedback is each stock's first-order drain, and the model becomes a full system dynamics model once rates depend on other stocks, as when infection rises with the number infectious.
Modelling choices that change the answer
Several structural choices drive the results of a stock and flow model as much as its parameter values do. They are fixed before any data are fitted and belong in structural uncertainty analysis alongside parameter variation.
- Where the boundary sits. A bed model that leaves out patients awaiting discharge to social care can misplace the cause of rising occupancy.
- The form of the outflow. First-order outflow treats every member as equally likely to leave in each period, however long they have been in the stock. Where time in the stock matters, the stock is split into several stocks in series.
- Aggregation. Each stock is homogeneous, so differences in risk within it are averaged away, and splitting by age or severity adds stocks and data needs.
- Open or closed population. A closed cohort describes one group's lifetime, while an open population with continuing inflow describes service demand and budgets over calendar time.
Common misreadings
Most errors with stock and flow models come from treating a level as if it were a rate, or the reverse. Others come from trusting a coarse time step.
- Confusing stocks with flows. Prevalence and occupied beds are stocks, while incidence and admissions are flows, and comparing a stock with a flow needs a duration.
- Reading postponed deaths as avoided deaths. In a model with one exit, a survival gain shifts deaths later, and annual deaths return to the level of the inflow at the new steady state.
- Taking an annual step as exact. A coarse Euler step moves the trajectory, and the check is to rerun with a shorter step.
Sources
- Centers for Disease Control and Prevention. Principles of Epidemiology in Public Health Practice. 3rd edition. Lesson 3, Measures of Risk, Section 2: Morbidity Frequency Measures. Last reviewed 18 May 2012. https://archive.cdc.gov/www_cdc_gov/csels/dsepd/ss1978/lesson3/section2.html
- Chhatwal J, He T. Economic evaluations with agent-based modelling: an introduction. PharmacoEconomics. 2015;33(5):423-433. https://doi.org/10.1007/s40273-015-0254-2
- Homer JB, Hirsch GB. System dynamics modeling for public health: background and opportunities. American Journal of Public Health. 2006;96(3):452-458. https://doi.org/10.2105/AJPH.2005.062059
- Marshall DA, Burgos-Liz L, IJzerman MJ, Osgood ND, Padula WV, Higashi MK, Wong PK, Pasupathy KS, Crown W. Applying dynamic simulation modeling methods in health care delivery research: the SIMULATE checklist. Report of the ISPOR Simulation Modeling Emerging Good Practices Task Force. Value in Health. 2015;18(1):5-16. https://doi.org/10.1016/j.jval.2014.12.001
- Sterman JD. Learning from evidence in a complex world. American Journal of Public Health. 2006;96(3):505-514. https://doi.org/10.2105/AJPH.2005.066043
Related Concepts (1)
Library
Publications
1
A Taxonomy of Model Structures for Economic Evaluation of Health Technologies — Brennan, Chick & Davies, Vol. 15, No. 12 ed., 2006 (Health Economics)
An influential paper classifying decision-analytic model structures along axes of expected value vs randomness, entity heterogeneity, and Markovian vs non-Markovian structure — providing a framework for choosing between decision trees, Markov cohort models, microsimulation, discrete event simulation and system dynamics.
Journal ArticleView source →
Frequently Asked Questions (7)
What is a stock and flow model?
A stock and flow model tracks health quantities, such as people with a disease, as stocks that change over time only through inflow and outflow rates.
Source: Sterman 2006
What is a stock-and-flow model?
A stock-and-flow model divides a health care problem into quantities that exist at a point in time and the rates that change them. Marshall and colleagues, writing for an ISPOR task force, describe stocks as accumulations of something such as people or beds, and flows as rates that feed in and out of stocks with the units of the stock per unit of time. Each stock changes only through its flows, so the model works as a running account of who enters and who leaves. Checking that every flow carries the units of its stock per unit of time is the quickest test of the structure.
Source: Marshall et al. 2015
What system-dynamics tool is a stock-and-flow model?
The stock-and-flow model is the accounting structure on which system dynamics models are built. Marshall and colleagues describe system dynamics models in health care as aggregate, characterising a population by the sizes of its subpopulations, and each of those subpopulations is a stock. With constant per-person rates the only feedback is the drain that each stock places on itself, and the model becomes a full system dynamics model once rates depend on other stocks, as when infection rises with the number infectious. Individual patient histories suit discrete event simulation or an agent-based model better.
Source: Marshall et al. 2015
What are stocks and flows?
In a stock-and-flow model a stock is a quantity that exists at a point in time, such as people living with a long-term condition or occupied hospital beds, and a flow is a rate per unit of time that adds to or drains it, such as diagnoses or deaths. Sterman points out that stocks and the flows that alter them correspond to the epidemiological ideas of prevalence and incidence. A stock integrates its net inflow over time. Comparing a stock with a flow therefore needs a duration, since prevalence and incidence are measured in different units.
Source: Sterman 2006
How do stock-and-flow models represent system behaviour?
Accumulation drives the behaviour of a stock-and-flow model, since each stock integrates the difference between its inflows and outflows over time. Sterman notes that a stock rises even as its net inflow falls, as long as that net inflow stays positive, and that intuitive understanding of stocks and flows is poor. His example is HIV, where the number of people living with the infection continues to rise even as incidence falls, and prevalence falls only when new infections drop below mortality. In health economics the same logic means that a falling incidence of a chronic disease does not imply falling demand for its care.
Source: Sterman 2006
How do stock-and-flow models relate to feedback?
Homer and Hirsch describe system dynamics as resting on ongoing accumulations combined with balancing and reinforcing feedback, and stock-and-flow models supply the accumulations. Feedback arises when a flow depends on a stock. With first-order outflow each stock drains in proportion to its own size, which is the simplest balancing loop, and richer feedback appears once rates depend on other stocks, as when infection rises with the number infectious. In the chronic disease model of Homer and Hirsch, fewer deaths enlarged the stock of people with disease, and the greater prevalence raised the need for resources, which in their model squeezed out prevention of new cases.
Source: Homer & Hirsch 2006
How are stock-and-flow models used in health?
In health care a stock-and-flow model tracks quantities such as people living with a chronic condition or patients occupying beds. Homer and Hirsch built a chronic disease model with one stock of people with disease, fed by disease onset and drained by deaths, in steady state with about 1 million people with disease and 75,000 new cases a year. In their scenario with better prevention of complications, fewer deaths meant a longer average stay in the stock and so more people with disease. A budget impact analysis that held the number of prevalent patients fixed would miss that rise in the cost of care.
Source: Homer & Hirsch 2006
Trust Record
Verified by Dr Darrin Baines
British health economist
Professional identity: darrinbaines.org
Verification date: 31 Oct 2026
Content version: 1.0.1
Canonical Identity
- Term code
- HE-EM-DM-098
Stable URI · Machine-readable · Resolvable · CC BY 4.0
