Use for Fermi estimation, or when a rough number is needed fast: "roughly how many...", "ballpark the cost", "estimate capacity or market size", "is this even feasible?". Decomposes, uses ranges and sanity-checks. Skip when exact data is available or a precise calculation is wanted.
Installs into .claude/skills of the current project.
Are you the author of Fermi Estimation?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ysskrishna-fermi-estimation)
---
name: fermi-estimation
description: >
Use for Fermi estimation, or when a rough number is needed fast: "roughly how many...", "ballpark the cost", "estimate capacity or market size", "is this even feasible?". Decomposes, uses ranges and sanity-checks. Skip when exact data is available or a precise calculation is wanted.
license: MIT
metadata:
author: ysskrishna
version: "2026.10.5"
---
# Fermi Estimation
Get a defensible order-of-magnitude answer from factors you can reason about. The goal is the right power of ten and a clear view of what drives it, not a precise number.
## When to use
- Capacity, load, storage, cost, headcount, market size or time estimates with little data.
- "Roughly how many", "ballpark", "back of the envelope", "is it even feasible".
- Checking whether a plan's numbers are plausible before investing in measurement.
Skip: when exact data exists (query it instead), or the user needs a precise calculation.
## Before you start
1. State in one block: **Quantity** (with units and period), **Purpose** (what decision depends on it), **Needed accuracy** (a power of ten, or within a factor of 2), and **Pass** (Decompose, Estimate, Combine, Cross-check, Sensitivity).
2. **Gather first.** Look for real anchors before guessing: logs, dashboards, billing, docs, prior numbers. Replace any guess with data you can find. Ask up to 3 questions only for anchors tools cannot supply.
3. **Light path.** Small ask: 3-4 factors, one range each, a result line and one cross-check.
## Steps
### 1. Decompose
Break the quantity into factors you can estimate, usually a product: population x frequency x size, or rate x time. Write the formula first.
### 2. Estimate
For each factor give a **low** and **high** and a one-line basis. Mark guesses `[ESTIMATED]`; mark found data with its source.
| Factor | Low | High | Basis |
|--------|-----|------|-------|
### 3. Combine
Multiply lows and highs for bounds. For a single central value, take the geometric midpoint (the square root of low x high), which suits ranges that span powers of ten. Report the result as a range and an order of magnitude.
### 4. Cross-check
Estimate the same quantity a second way (top-down vs bottom-up, or compare to a known similar system). If the two differ by more than about 3x, find which factor is off.
### 5. Sensitivity
Name the one or two factors that move the answer most, and what measurement would narrow them.
## Pitfalls
- False precision: "47,312 requests per second" from guessed inputs. Round to one significant figure.
- Unit mismatches (per day vs per second, bytes vs bits). Write units in every row.
- Double counting a factor that appears in two inputs.
- Anchoring on the first number you thought of. Estimate the low and high first, then the middle.
- Skipping the cross-check, which is what separates an estimate from a guess.
- Forgetting peaks: averages hide the busiest hour. State average and peak when sizing capacity.
Worked example: [references/example.md](references/example.md).
## Checklist
- [ ] Quantity, units, purpose and needed accuracy stated
- [ ] Formula written before numbers
- [ ] Each factor has low, high, basis; guesses marked `[ESTIMATED]`
- [ ] Result as a range and order of magnitude
- [ ] Cross-checked a second way
- [ ] Dominant factor named, with the measurement that would narrow it