From thinking-frameworks-skills
Decomposes complex unknowns into estimable components for rapid order-of-magnitude estimates with bounded uncertainty. Useful for market sizing, resource planning, feasibility checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/thinking-frameworks-skills:estimation-fermiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- [Workflow](#workflow)
Question: How many piano tuners are in Chicago?
Decomposition:
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.
Pattern 1: Market Sizing (TAM/SAM/SOM)
Pattern 2: Infrastructure Capacity
Pattern 3: Staffing/Headcount
Pattern 4: Financial Projections
Pattern 5: Impact Assessment
State assumptions explicitly: Every Fermi estimate rests on assumptions. Make them visible ("Assuming 250 workdays/year", "If conversion rate ~3%"). 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). If the decision needs precision, get real data instead.
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.
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 the decision holds across the range, bounds matter less. If the decision flips, invest in a better estimate.
Sanity-check against reality: Compare to known quantities, use dimensional analysis (units should cancel correctly), and check extreme cases (what if everyone did X? does it break physics?).
Calibrate on known problems: Practice on questions with verifiable answers to identify personal biases (overestimate? underestimate? anchoring?).
Acknowledge uncertainty ranges: Express estimates as ranges when appropriate ("10-100k users", "likely $1-5M").
Common pitfalls:
Key resources:
Common Anchors:
Demographics:
Business:
Technology:
Physical:
Conversion factors:
Decomposition Strategies:
Typical estimation time:
When to escalate:
Inputs required:
Outputs produced:
estimation-fermi.md: Question, decomposition, assumptions, calculation, bounds, sanity check, triangulation, final estimate with confidence rangenpx claudepluginhub lyndonkl/claude --plugin thinking-frameworks-skillsBreaks down unknown quantities into estimable factors for order-of-magnitude answers. Use for capacity planning, cost estimation, or sanity-checking when real data is unavailable.
Estimates effort, cost, duration, and complexity for projects, features, and tasks using analogous, parametric, three-point, and expert judgment methods. For planning and forecasting.
Estimates TAM, SAM, SOM using top-down and bottom-up approaches with growth projections. For market opportunity sizing, investor pitches, and entry evaluation.