Quant Memo
Core

Cross-Checking Top-Down Against Bottom-Up

The single most reliable way to catch a Fermi estimate that's wildly off is to derive the same number two independent ways — once from a big aggregate divided down, once by building it up from small pieces — and see whether they land in the same ballpark.

Prerequisites: Breaking an Estimate Into a Decomposition Tree

You're asked to estimate how many coffee shops there are in Manhattan. A bottom-up chain — population, coffee drinkers per person, cups per day, customers per shop — gives you one number. But how do you know it's not off by 10×? A single chain of estimates, however careful, has no built-in way to catch a bad assumption baked into step three. The fix isn't to make the chain longer or more careful — it's to build a completely different chain from a different starting point and see if the two answers agree.

The idea: two independent derivations, one sanity check

Bottom-up starts from small, personal-scale numbers and multiplies up: how many cups you drink, times people like you, times shops needed to serve them. Top-down starts from a big aggregate you might already know or can estimate independently — total retail square footage, total coffee industry revenue, commercial rent per block — and divides down to the same target quantity. The two approaches use almost entirely different input numbers, so if they agree within roughly a factor of 2–3, that's real evidence neither chain has a badly wrong assumption buried in it. If they disagree by 10× or more, at least one of the input assumptions is off, and figuring out which one is often more informative than either estimate alone.

Worked example 1: coffee shops in Manhattan

Bottom-up: Manhattan population 1.6\approx 1.6 million; say 40% are regular coffee-shop buyers, buying roughly twice a week \Rightarrow about 1.6M×0.4×21.281.6\text{M}\times0.4\times2\approx1.28 million shop-visits per week. A shop serving, say, 300 customers a day (2,100/week) implies roughly 1,280,000/2,1006101{,}280{,}000/2{,}100 \approx 610 shops.

Top-down: Manhattan has roughly 23 square miles of land, a large fraction of it dense retail corridors; if there's on average one coffee shop per 2–3 city blocks across the borough's walkable grid (a rough density estimate), and Manhattan has on the order of 3,000 blocks, that's roughly 3,000/2.51,2003{,}000/2.5 \approx 1{,}200 shops.

Both land somewhere in the hundreds-to-low-thousands range — 610 vs 1,200 is within a factor of 2, which for a Fermi estimate counts as strong agreement. (The real figure, from public directories, is in the 1,500–2,000 range including chains and independents — both estimates were in the right order of magnitude, with the top-down one closer.)

Worked example 2: catching a bad assumption

Estimating a food-delivery app's daily order volume in a city bottom-up (population × adoption rate × orders/week) gives 200,000 orders/day. A top-down check — restaurant count in the city × average delivery orders per restaurant per day, a number an interviewer might expect you to guess at ~15–20 — gives only 30,000. A 6–7× gap is too large to shrug off: re-examining the bottom-up chain, the adoption rate assumption ("40% of adults order delivery at least weekly") is probably too high for anywhere outside a handful of dense markets. The top-down number, anchored in something more physically constrained (restaurants can only fulfill so many orders), is likely closer to right — and the discrepancy itself is the useful finding, not just the final number.

Bottom-up: population → Top-down: aggregate ÷ Do the two land within ~2-3x of each other?
Two independent estimation paths converging within a factor of 2-3 is meaningful confirmation; a 10x gap flags a bad assumption worth hunting down.

Never trust a single Fermi chain. Build a second, structurally independent chain to the same target — from a different starting aggregate — and treat agreement within a factor of 2-3 as confirmation, and disagreement beyond 10x as a signal to hunt for the bad assumption rather than average the two numbers together.

When the two estimates disagree, the more physically constrained one (bounded by a hard capacity, like restaurant throughput or square footage) is usually more trustworthy than one built from an adoption-rate or behavioral-frequency guess, which is the easiest kind of assumption to get wrong.

Related concepts

Practice in interviews

Further reading

  • Guesstimation, Weinstein and Adam
ShareTwitterLinkedIn