Skip to content
← The Scroll
Canonical · Essay

Proximate vs Root Causes: Keep Digging to Find the Answer

Farnam Street (Shane Parrish) · 2017

"Solving a problem for good requires digging past the proximate cause (the immediate trigger) to the root cause (the deeper condition that, if fixed, prevents recurrence) — otherwise you're applying a band-aid, not a fix."

The idea

A proximate cause is the immediate, most obvious trigger of an event (e.g., 'I lost my job because the company had financial difficulties'); a root cause is the deeper, underlying condition that actually explains why the proximate cause was able to happen at all (e.g., 'I hadn't kept my skills current, so I wasn't valuable enough to retain'). Techniques like the '5 Whys' (repeatedly asking why, using each answer as the basis for the next question) and Socratic questioning are used to dig from the proximate cause down to the root.

Why it works

The mechanism is that fixing only the proximate cause leaves the underlying condition intact, so the same failure mode recurs in a different guise — in the King's Cross fire, replacing wooden escalators or banning smoking (proximate fixes) would have still left a fatal risk in place, because the deeper problem was that staff had no training or equipment to respond to a fire quickly; only fixing that root cause (staff training, communication tools, heat detectors and sprinklers) actually prevented recurrence.

The takeaway — recall it first
Check your understanding

In the 1987 King's Cross fire investigation, what was identified as the actual root cause, as distinct from the proximate cause (a dropped match)?

Further reading

Read more about the topic

The explanation above is written with AI assistance. These are the originals — go to them to check it.

  • Understanding the Limitations of MapsFarnam Street
  • Proximate vs. Root CausesFarnam Street
Up NextSuggested: Continues the theme of Mental Models

Inversion

"Solve problems backwards. Ask how to fail, then avoid it."

Carl Jacobi / Charlie Munger · ModelContinue→
Listen
0 / 3