Written and maintained by CASRAI Editorial Board
Last updated
The web of causation is an epidemiological model in which a disease or health outcome has many interlinked contributing factors rather than one cause. It is the metaphor behind what epidemiologists call “multiple causation”: factors such as behaviour, environment, biology and social conditions are drawn as connected strands, and no single strand is treated as the whole explanation. This guide defines the model, separates it from Rothman’s causal pies and the epidemiologic triad, works through an example, and sets out what the model cannot do.
Definition of the web of causation in one paragraph
The web of causation is a conceptual model that represents an outcome as the product of a network of causes, where factors interact, feed into one another and sit at different distances from the outcome. In a 1994 essay in Social Science & Medicine, Nancy Krieger describes “multiple causation” as “the canon of contemporary epidemiology” and the “web of causation” as its metaphor and model, first articulated in a 1960 US epidemiology textbook (Krieger, 1994). The model is qualitative. It tells you which kinds of factors to look for and how they might connect; it does not produce a number.
Is there a formula for the web of causation?
No. The web of causation has no formula, no test statistic and no symbols to define, so there is nothing to compute from it directly. If you need a quantity, you estimate it with a separate method (for example a regression model or an adjusted association) after deciding which factors belong in the analysis. The model’s job comes earlier: it is a way of thinking about which factors might matter and how they might be linked. For the analysis step, see CASRAI’s guide to causal analysis and causal inference.
Worked example: reading a web and a set of causal pies
Part 1: a sourced example from the CDC
The CDC’s Principles of Epidemiology in Public Health Practice uses lung cancer to show how several factors combine. It sets out three sufficient causes: smoking together with asbestos, smoking without asbestos, and asbestos without smoking (CDC, 2012). The arithmetic is a count of pathways:
- Sufficient cause I contains smoking (B) and asbestos (C).
- Sufficient cause II contains smoking (B) without asbestos.
- Sufficient cause III contains asbestos (C) without smoking.
That makes three pathways. Smoking (B) appears in two of them and asbestos (C) in two, so neither appears in all three. The CDC states that smoking is not a sufficient cause by itself, because not all smokers develop lung cancer, and not a necessary cause, because a small fraction of lung cancer cases occur in people who have never smoked. That is the information a web diagram alone does not give you. The CDC adds that a proper model for lung cancer would need at least one more sufficient-cause pie containing neither smoking nor asbestos, because the disease can develop in people exposed to neither, so these three pathways are a teaching example, not the full picture.
Part 2: an illustrative composite web (not real data)
Illustrative composite. The factors below are invented for teaching and carry no statistics. They do not describe a real study or population. Suppose an analyst draws a web for a chronic lung condition with these arrows: low income leads to smoking and to poor housing; smoking, poor housing and occupational dust each lead to the condition. Reading the web:
- Direct factors: smoking, poor housing and occupational dust each have an arrow straight into the outcome (3 factors).
- Upstream factor: low income has no arrow into the outcome, only into two direct factors, so it acts through them.
- Total factors in the web: 3 direct + 1 upstream = 4.
A web also invites asking where else to look. Here, an analyst might ask what sits upstream of occupational dust, because that strand has no further arrows drawn into it.
Web of causation vs causal pies vs the epidemiologic triad
The three models answer different questions. The CDC notes that the agent-host-environment triad serves many diseases but “has proven inadequate for cardiovascular disease, cancer, and other diseases that appear to have multiple contributing causes without a single necessary one” (CDC, 2012). Rothman’s causal pies were proposed in 1976 as a way to account for that multifactorial picture (Rothman, 1976; CDC, 2012). For the triad itself, see the epidemiologic triad.
| Term | What it means | Source |
|---|---|---|
| Web of causation | Metaphor and model for multiple causation: many linked factors contribute to an outcome | Krieger (1994) |
| Component cause | An individual factor that contributes to disease, shown as one piece of a pie | CDC (2012) |
| Sufficient cause | The complete pie: all component causes in place, so disease occurs | CDC (2012) |
| Necessary cause | A component that appears in every pie; without it, disease does not occur | CDC (2012) |
The difference in practice: a web lists contributing factors and how they connect, while causal pies say which sets of factors are enough to produce the outcome and which factor is required in every set. A web can be drawn without ever stating whether any factor is necessary or sufficient.
Interpretation: what a web can and cannot tell you
- It shows breadth. Several factors are linked, so removing one strand may not remove the outcome.
- It does not rank factors. Arrows in a hand-drawn web carry no size, so a web cannot tell you which factor contributes most.
- It does not prove causation. An arrow records a hypothesis. Whether an association is causal is a separate question; see correlation vs causation.
Limits and criticism: who is the spider?
Krieger (1994) calls the web a “widely accepted but poorly elaborated model” and argues that its choice of factors relies on a hidden framework of biomedical individualism. She poses the question of the whereabouts of the “spider” that spins the web, and proposes an ecosocial framework that joins biological and social understandings of population patterns of health and disease. The practical lesson for a researcher is that the factors you draw reflect a prior theory of disease. A web built only from individual-level risk factors will not show social conditions that shape those factors.
Common mistakes when using the model:
- Treating every factor in the web as equally important.
- Reading an arrow as proof of a causal effect.
- Leaving out factors because the available data do not measure them. A factor missing from the data can still be missing from the picture; this is the problem described in lurking variables.
- Drawing a web with a loop of arrows and then analysing it as if it had a clear order. Analysis models usually need an explicit, acyclic structure; see directed acyclic graphs for confounder selection.
How to report it (APA example)
Cite the model to its source rather than to a general textbook. In-text: Multiple causation is described in epidemiology through the metaphor of a “web of causation” (Krieger, 1994). Reference list entries in APA 7th edition style:
Centers for Disease Control and Prevention. (2012). Principles of epidemiology in public health practice (3rd ed.) [Lesson 1, Section 8]. https://archive.cdc.gov/www_cdc_gov/csels/dsepd/ss1978/lesson1/section8.html
Krieger, N. (1994). Epidemiology and the web of causation: Has anyone seen the spider? Social Science & Medicine, 39(7), 887-903. https://doi.org/10.1016/0277-9536(94)90202-X
Rothman, K. J. (1976). Causes. American Journal of Epidemiology, 104(6), 587-592. https://doi.org/10.1093/oxfordjournals.aje.a112335
How to represent a web in Python (and why Excel and R add little)
There is no calculation to run in Excel or R, so there is no spreadsheet formula or statistical function to offer. What you can do is store the web as data and list every factor upstream of an outcome. This short Python snippet, run on the illustrative composite above, returns all four factors:
web = {
"low income": ["smoking", "poor housing"],
"smoking": ["lung disease"],
"poor housing": ["lung disease"],
"occupational dust": ["lung disease"],
}
def upstream(web, outcome):
found, stack = set(), [outcome]
while stack:
node = stack.pop()
for cause, effects in web.items():
if node in effects and cause not in found:
found.add(cause)
stack.append(cause)
return sorted(found)
print(upstream(web, "lung disease"))
# ['low income', 'occupational dust', 'poor housing', 'smoking']
The function lists factors only. It says nothing about effect size or whether the arrows are causal.
FAQ
What is the web of causation?
It is the model of multiple causation in epidemiology: an outcome results from a network of linked factors, not one cause. Krieger (1994) calls it the metaphor and model of “multiple causation.”
Is the web of causation the same as Rothman’s causal pies?
No. A web shows contributing factors and how they connect. The causal pies, proposed by Rothman in 1976, define component, sufficient and necessary causes (CDC, 2012).
Does the web of causation prove cause and effect?
No. It organises hypotheses about causes. Testing whether a link is causal needs study design and analysis, not a diagram.
Sources
- Centers for Disease Control and Prevention. Principles of Epidemiology in Public Health Practice, 3rd ed., Lesson 1, Section 8 (archived page, last reviewed May 18, 2012; checked 2026-10-29): archive.cdc.gov
- Krieger N. Epidemiology and the web of causation: has anyone seen the spider? Soc Sci Med 1994;39(7):887-903. PMID 7992123 (abstract checked 2026-10-29): PubMed
- Rothman KJ. Causes. Am J Epidemiol 1976;104(6):587-592. PMID 998606 (record checked 2026-10-29): PubMed








