Use when making quick order-of-magnitude estimates under uncertainty (market sizing, resource planning, feasibility checks), decomposing complex quantities into estimable parts, bounding unknowns with upper/lower limits, sanity-checking strategic assumptions, or when user mentions Fermi estimation, back-of-envelope calculation, order of magnitude, ballpark estimate, triangulation, or needs to assess feasibility before detailed analysis.
Fermi estimation provides rapid order-of-magnitude answers to seemingly impossible questions by decomposing them into smaller, estimable parts. This skill guides you through decomposition strategies, bounding techniques, sanity checks, and triangulation to make defensible estimates when data is scarce, time is limited, or precision is unnecessary for the decision at hand.
When to Use
Use this skill when:
Market sizing: Estimating TAM/SAM/SOM for product launch, addressable market for new feature, competitive market share
Feasibility checks: Can we build this in 6 months? Will customers pay $X? Is this market big enough?
Strategic decisions: Build vs buy tradeoffs, enter new market assessment, fundraising/runway calculations, pricing validation
Business metrics: Revenue projections, customer acquisition costs, LTV estimates, unit economics, break-even analysis
Impact assessment: Carbon footprint, energy consumption, social reach, cost savings from initiative
Interview questions: Consulting case interviews (piano tuners in Chicago), product sense questions, analytical reasoning tests
Quick validation: Sanity-checking detailed models, pressure-testing assumptions, getting directional answer before investing in precision
Trigger phrases: "ballpark estimate", "order of magnitude", "back-of-envelope", "roughly how many", "feasibility check", "gut check", "triangulate", "sanity check"
What Is It?
Fermi estimation (named after physicist Enrico Fermi) breaks down complex unknowns into simpler components that can be estimated using common knowledge, constraints, and reasoning. The goal is not precision but being "right to within a factor of 10" quickly.
Quick example:
Question: How many piano tuners are in Chicago?
Fermi decomposition:
Population: Chicago ~3 million people
Households: 3M people ÷ 3 people/household = 1M households
Pianos: ~1 in 20 households has piano = 50,000 pianos
Tuning frequency: Piano tuned once/year on average
Tunings needed: 50,000 tunings/year
Tuner capacity: Tuner works 250 days/year, 4 tunings/day = 1,000 tunings/year per tuner
Tuners needed: 50,000 ÷ 1,000 = ~50 piano tuners
Actual: ~80-100 piano tuners in Chicago (within order of magnitude ✓)
Business example - Market sizing:
Question: What's the TAM for a B2B sales automation SaaS in the US?
Decomposition:
Total businesses in US: ~30M
With sales teams: ~10% = 3M businesses
With >10 employees (can afford SaaS): ~2M businesses
Addressable (tech-savvy, not enterprise with custom solutions): ~500k businesses
Price point: $500/month average
TAM: 500k × $500/month × 12 = $3B/year
Validation: Quick search confirms B2B sales tech market ~$5-7B (same order of magnitude ✓)
Workflow
Copy this checklist and track your progress:
Fermi Estimation Progress:
- [ ] Step 1: Clarify the question and define metric
- [ ] Step 2: Decompose into estimable components
- [ ] Step 3: Estimate components using anchors
- [ ] Step 4: Bound with upper/lower limits
- [ ] Step 5: Calculate and sanity-check
- [ ] Step 6: Triangulate with alternate path
Step 1: Clarify the question and define metric
Restate question precisely (units, scope, timeframe). Identify what decision hinges on estimate (directional answer sufficient? order of magnitude?). See resources/template.md for question clarification framework.
Step 2: Decompose into estimable components
Break unknown into product/quotient of knowable parts. Choose decomposition strategy (top-down, bottom-up, dimensional analysis). See resources/template.md for decomposition patterns.
Step 3: Estimate components using anchors
Ground estimates in known quantities (population, physical constants, market sizes, personal experience). State assumptions explicitly. See resources/methodology.md for anchor sources and calibration.
Step 4: Bound with upper/lower limits
Calculate optimistic (upper) and pessimistic (lower) bounds to bracket answer. Check if decision changes across range. See resources/methodology.md for constraint-based bounding.
Step 5: Calculate and sanity-check
Compute estimate, round to 1-2 significant figures. Sanity-check against reality (does answer pass smell test?). See resources/template.md for validation criteria.
Step 6: Triangulate with alternate path
Re-estimate using different decomposition to validate. Check if both paths yield same order of magnitude. Validate using resources/evaluators/rubric_estimation_fermi.json. Minimum standard: Average score ≥ 3.5.
Common Patterns
Pattern 1: Market Sizing (TAM/SAM/SOM)
Decomposition: Total population → Target segment → Addressable → Reachable → Price point
Anchors: Census data, industry reports, analogous markets, penetration rates
State assumptions explicitly: Every Fermi estimate rests on assumptions. Make them visible ("Assuming 250 workdays/year", "If conversion rate ~3%"). Allows others to challenge/refine. Unstated assumptions create false precision.
Aim for order of magnitude, not precision: Goal is 10^X, not X.XX. Round to 1-2 significant figures (50 not 47.3, 3M not 2,847,291). False precision wastes time and misleads. If decision needs precision, don't use Fermi—get real data.
Decompose until components are estimable: Break down until you reach quantities you can estimate from knowledge/experience. If a component is still "how would I know that?", decompose further. Avoid plugging in wild guesses for complex sub-problems.
Use multiple paths (triangulation): Estimate same quantity via different decompositions (top-down vs bottom-up, supply-side vs demand-side). If paths agree within factor of 3, confidence increases. If they differ by 10x+, investigate which decomposition is flawed.
Bound the answer: Calculate optimistic and pessimistic cases to bracket reality. If decision is same across range (market is $1B or $10B, either way we enter), bounds matter less. If decision flips (profitable at $10M, not at $1M), need precision or better estimate.
Sanity-check against reality: Does answer pass smell test? Compare to known quantities (your estimate for Starbucks revenue should be within 10x of actual ~$35B). Use dimensional analysis (units should cancel correctly). Check extreme cases (what if everyone did X? does it break physics?).
Calibrate on known problems: Practice on questions with verifiable answers (US population, Disney World attendance, wheat production). Identify your biases (overestimate? underestimate? anchoring?). Improves future estimates.
Acknowledge uncertainty ranges: Express estimates as ranges or confidence intervals when appropriate ("10-100k users", "likely $1-5M"). Communicates epistemic humility. Avoids false precision trap.
Common pitfalls:
❌ Anchoring on the wrong number: Using irrelevant or biased starting point. If someone says "Is it 1 million?" you anchor there even if no reason to.
❌ Double-counting: Including same quantity twice in decomposition (counting both businesses and employees when businesses already includes employees).
❌ Unit errors: Mixing per-day and per-year, confusing millions and billions, wrong currency conversion. Always check units.
❌ Survivor bias: Estimating based on successful cases (average startup revenue from unicorns, not including failures).
❌ Linear extrapolation: Assuming linear growth when exponential (or vice versa). Growth rates change over time.
❌ Ignoring constraints: Physical limits (can't exceed speed of light), economic limits (market can't grow faster than GDP forever).