2 min read
On this page

Fermi Problems

A Fermi problem is a question that seems impossible to answer without extensive research, but can be estimated reasonably well by breaking it into smaller, estimable pieces. Named after physicist Enrico Fermi, who was famous for making surprisingly accurate estimates from very little information.

The Everyday Version

How Many Piano Tuners in Chicago?

This is the classic Fermi problem. You probably have no idea of the answer. But you can estimate it.

Step 1: How many pianos are in Chicago?
- Chicago population: about 2.7 million (round to 3 million)
- Average household size: about 2.5 people
- Number of households: 3,000,000 / 2.5 = 1,200,000
- Percentage of households with a piano: maybe 5%
- Household pianos: 1,200,000 x 0.05 = 60,000
- Add schools, churches, concert halls: maybe 10,000 more
- Total pianos: roughly 70,000

Step 2: How often does a piano need tuning?
- About once or twice a year
- Let's say 1.5 times per year on average
- Total tunings per year: 70,000 x 1.5 = 105,000

Step 3: How many tunings can one tuner do per year?
- A tuning takes about 2 hours (including travel)
- A tuner works about 8 hours per day, 250 days per year
- Tunings per day: 4
- Tunings per year: 4 x 250 = 1,000

Step 4: How many tuners are needed?
- 105,000 tunings / 1,000 tunings per tuner = 105 tuners

Answer: About 100 piano tuners in Chicago.

The actual number is estimated at 100-200.
Not bad for a question that seemed unanswerable.

How Many Golf Balls Fit in a School Bus?

Step 1: Estimate the volume of a school bus
- Interior: roughly 2.5m wide x 2m tall x 10m long
- Volume: 2.5 x 2 x 10 = 50 cubic meters
- Account for seats taking up space: about 25% usable
- Wait — golf balls can fit under, between, and on seats
- Seats reduce packing but do not eliminate space
- Usable volume: roughly 70% of total = 35 cubic meters

Step 2: Estimate the volume of a golf ball
- Diameter: about 4.3 cm = 0.043 m
- Volume of sphere: (4/3) x pi x r^3
- Radius: 0.0215 m
- Volume: about 0.0000416 cubic meters
- Round to 0.00004 cubic meters

Step 3: Account for packing efficiency
- Spheres do not fill space perfectly
- Random packing: about 64% efficient
- Effective volume per ball: 0.00004 / 0.64 ≈ 0.0000625

Step 4: Divide
- 35 / 0.0000625 = 560,000

Answer: Roughly 500,000 golf balls.

Common estimates range from 300,000 to 600,000.
The exact number does not matter — knowing it is
"hundreds of thousands, not thousands or millions"
is the valuable insight.

How Much Water Does Your City Use Per Day?

Step 1: City population
- Let's say 500,000 people

Step 2: Water use per person per day
- Shower: 60 liters
- Toilet: 30 liters
- Cooking and drinking: 10 liters
- Laundry, dishes, cleaning: 50 liters
- Total household: about 150 liters per person per day

Step 3: Add commercial and industrial use
- Roughly doubles household use
- Total per person: about 300 liters per day

Step 4: Multiply
- 500,000 x 300 = 150,000,000 liters per day
- That is 150 million liters, or 150 megalitres

Now you can think about:
- How big do the water treatment plants need to be?
- How much does a 10% conservation effort save?
  (15 million liters per day)

The Fermi Method

Every Fermi problem follows the same pattern.

1. Identify what you are trying to estimate
   - Be specific about the question

2. Break it into factors you can estimate
   - Population, frequency, duration, size
   - Each factor should be something you can
     roughly guess or look up quickly

3. Estimate each factor independently
   - Use what you know as anchors
   - Round to convenient numbers

4. Multiply (or divide) the factors together
   - The factors combine to give your answer

5. Sanity check the result
   - Does this number feel reasonable?
   - Is it the right order of magnitude?
Key insight: Errors in individual estimates tend
to cancel out.

If you overestimate one factor by 2x
and underestimate another by 0.5x,
the product is still correct.

This is why Fermi estimates work surprisingly well
despite rough inputs.

Connecting to Technology

Capacity Planning

Fermi problems are exactly what engineers solve when planning infrastructure.

Question: How much storage does Gmail need per year?

Step 1: Number of Gmail users
- About 1.8 billion (round to 2 billion)

Step 2: Emails per user per day
- Maybe 20 received, 5 sent (many are small)
- Average email size with attachments: 50 KB
- Some emails have large attachments: say average 75 KB
- Total per user per day: 25 emails x 75 KB = 1,875 KB ≈ 2 MB

Step 3: Daily storage growth
- 2 billion users x 2 MB = 4 billion MB = 4 petabytes per day

Step 4: Annual growth
- 4 PB x 365 = 1,460 PB ≈ 1.5 exabytes per year

This tells Google:
- They need exabyte-scale storage infrastructure
- Storage costs are a major budget item
- Even small efficiency improvements save enormously
  at this scale

Interview Estimation Questions

Tech companies use Fermi problems in interviews to test structured thinking.

"How many Google searches happen per day?"

Step 1: Internet users worldwide
- About 5 billion

Step 2: What fraction use Google?
- Google's market share is about 90%
- Active Google searchers: maybe 60% of internet users
  actually search on any given day
- Daily Google searchers: 5 billion x 0.6 = 3 billion

Step 3: Searches per person per day
- Some people search once
- Some people search 20 times
- Average: maybe 3-4 searches per active user per day
- Let's say 3

Step 4: Total
- 3 billion x 3 = 9 billion searches per day

Google has stated the number is about 8.5 billion.
Our estimate of 9 billion is remarkably close.
"How many messages does WhatsApp deliver per day?"

Step 1: WhatsApp users
- About 2 billion

Step 2: Active users on a given day
- Maybe 70% use it daily = 1.4 billion

Step 3: Messages per active user per day
- Some send 5, some send 200
- Average: maybe 40 messages per day

Step 4: Total
- 1.4 billion x 40 = 56 billion messages per day

WhatsApp has reported about 100 billion per day.
Our estimate is within 2x — which is good for
a Fermi estimate. The key insight (tens of billions,
not millions or trillions) is correct.

Market Sizing

Fermi estimation is critical for business decisions.

"What is the market size for a dog-walking app
in a mid-sized city?"

Step 1: City population
- 400,000 people

Step 2: Number of dog-owning households
- Households: 400,000 / 2.5 = 160,000
- Dog ownership rate: about 30%
- Dog-owning households: 48,000

Step 3: How many need a dog walker?
- Most walk their own dog
- Working professionals who need help: maybe 15%
- Potential customers: 48,000 x 0.15 = 7,200

Step 4: Revenue per customer
- Average walks per week: 3
- Price per walk: $20
- Weekly revenue per customer: $60
- Monthly: $240

Step 5: Total addressable market
- 7,200 x $240 = $1,728,000 per month
- Annual: about $20 million

Step 6: Realistic capture rate
- You will not get 100% of the market
- Maybe 10-20% in a good scenario
- Realistic annual revenue: $2-4 million

This tells you whether the business is viable
before you write a single line of code.

System Design Estimation

"How much bandwidth does a video conferencing
platform need for 1 million concurrent calls?"

Step 1: Data per call
- Video: about 2 Mbps per participant
- Audio: about 100 Kbps per participant
- Average call: 3 participants
- Per call total: 3 x 2.1 Mbps = 6.3 Mbps
- But data flows both ways: 6.3 x 2 = 12.6 Mbps per call

Step 2: Total bandwidth
- 1,000,000 calls x 12.6 Mbps = 12.6 Tbps

Step 3: Implications
- That is 12.6 terabits per second
- A large data center might handle 1-10 Tbps
- You need multiple data centers across the globe
- This is a massive infrastructure challenge

The estimate immediately tells you: this is a
multi-data-center, globally distributed problem.

Getting Better at Fermi Problems

Tips:

1. Practice decomposition
   - Any big question can be split into smaller ones
   - "How much?" = "How many?" x "How much each?"

2. Build a mental library of anchor numbers
   - Your country's population
   - Number of hours in a year (about 8,760)
   - Number of working days in a year (about 250)
   - Average household size in your area

3. Use ranges when unsure
   - "Between 100 and 500" is more honest than "250"
   - Take the geometric mean: sqrt(100 x 500) ≈ 224

4. State your assumptions explicitly
   - "I am assuming 30% of households have dogs"
   - If someone knows the real number, they can correct
     just that one factor without redoing the whole estimate

5. Check against known quantities
   - "My estimate says 50 billion — is that more or less
     than the world population?" (Yes, it is 6x larger.
     Does that make sense for this question?)

Common Pitfalls

  • Refusing to estimate. "I have no idea" is almost never true. You know enough to get within an order of magnitude for most questions.
  • Not breaking the problem down. Trying to guess the final answer directly is much harder and less accurate than estimating factors and multiplying.
  • Anchoring on the wrong number. If your first estimate of a factor is wrong, all downstream calculations inherit that error. Cross-check your most uncertain factors.
  • Ignoring the sanity check. Always step back and ask: "Does this answer make sense?" If your estimate says there are 50 million piano tuners in Chicago, something went wrong.
  • Over-precision in factors. Saying "the average person sends 23.7 emails per day" suggests false precision. Use round numbers: "about 25."
  • Forgetting to multiply by time. Storage, bandwidth, and cost accumulate. Your per-day estimate must be multiplied by 365 for annual planning.

Key Takeaways

  • Fermi problems teach you to estimate quantities that seem impossible to know, by breaking them into smaller, estimable factors.
  • The method works because overestimates and underestimates of individual factors tend to cancel out when multiplied together.
  • In technology, Fermi estimation is used for capacity planning, market sizing, system design, and interview questions.
  • The goal is not precision — it is getting the right order of magnitude. Knowing you need terabytes versus gigabytes changes every decision.
  • State your assumptions explicitly so others can improve specific factors without redoing the whole estimate.
  • Practice regularly. Estimate everyday quantities, then check your answer. Your calibration improves with repetition.