The Estimation Method — A Repeatable 5-Step Routine
Estimation is a routine, not a talent
Freezing on “how many servers?” isn’t a knowledge gap — it’s the absence of a fixed procedure. Run the same five steps every time and the math falls out. Pair it with the cognitive-science Fermi method: decompose → estimate each piece → combine → bound.
The 5 steps (always in this order)
| # | Step | What you write down |
|---|---|---|
| 1 | Inputs | DAU, actions/user/day, bytes/action, read:write ratio, retention (years) |
| 2 | QPS | = DAU × actions/day ÷ 86,400 → ×2–10 for peak |
| 3 | Storage | = writes/day × bytes/write × 365 × years × replication |
| 4 | Bandwidth | = QPS × bytes/payload |
| 5 | Servers / memory / cost | peak QPS ÷ per-server QPS; cache the hot 20%; price it |
Three habits that make it fast and credible
- Separate the power-of-10 from the coefficient. Compute
6 × 10⁸, not 600,000,000. This is the single biggest speed-up. - State every assumption out loud and round aggressively. Interviewers grade the process, not 3 decimal places.
- Bound it. Give a LOW (pessimistic) and HIGH (optimistic) estimate. If HIGH/LOW > 100×, one assumption is too loose — tighten it. This “bounds check” is your built-in sanity test.
Worked example — “Design Twitter” in 60 seconds
- Inputs: 300M DAU, 2 tweets/user/day, ~300 B/tweet, 5-yr retention.
- QPS: 300M × 2 = 6×10⁸ writes/day ÷ 10⁵ = ~6,000 writes/s → peak ×5 ≈ 30K/s.
- Storage: 6×10⁸ × 300 B × 365 ≈ ~65 TB/yr → 5 yrs ≈ ~330 TB.
- Reads ~100× writes → ~600K read QPS → this is why Twitter is a caching/fan-out problem.
Three memorized numbers (10⁵ s/day, 300 B/tweet, “round to powers of 10”) just produced a full capacity plan.
The next pages are per-resource playbooks for steps 3–5. Practice them in the drills at the bottom of this topic.
Formulas are standard/public-domain engineering math. Approach and reference-table format adapted from the System Design Primer (CC BY 4.0), Jeff Dean’s latency numbers, the DesignGurus capacity-estimation guide, and Little’s Law.
🤖 Don't fully get this? Learn it with Claude
Stuck on The Estimation Method — A Repeatable 5-Step Routine? Open Claude, copy a block below, and it'll teach you this exact concept — visually and interactively.
Build the mental picture, not memorization.
I just read a lesson on **The Estimation Method — A Repeatable 5-Step Routine** (System Design) and want to truly understand it. Explain The Estimation Method — A Repeatable 5-Step Routine from first principles using ONE vivid real-world analogy and a visual mental model — draw it as ASCII art or a clear step-by-step diagram — with a concrete example using real numbers. Then ask me one question to check I got the mental picture, and wait for my reply. If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.
Socratic — adapts to where you're stuck.
Teach me **The Estimation Method — A Repeatable 5-Step Routine** interactively. Ask me ONE guiding question at a time, wait for my answer, and adapt to my confusion — build the idea with me step by step instead of explaining it all at once. If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.
Active recall exposes what you missed.
Quiz me on **The Estimation Method — A Repeatable 5-Step Routine** with 5 questions, easy to tricky, ONE at a time. Tell me if each answer is right; at the end, explain clearly what I got wrong and why. If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.
Intuition + hook + flashcards for long-term memory.
Help me remember **The Estimation Method — A Repeatable 5-Step Routine** for the long term: give the one-sentence intuition, a memorable hook/mnemonic, a tiny worked example, and 3 active-recall flashcards (Q -> A). If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.