Knowledge Guide
HomeSystem DesignCapacity Estimation

hard Deriving the Peak Factor (not memorizing x2-10)

The peak factor is measured, not memorized

Every estimation guide says peak QPS = average QPS × 2–10, as if 2–10 were physics. It isn't — it's the ratio between how your traffic is actually spread across time and how it would look if it were spread evenly. That ratio is computable from the shape of your own traffic curve, so you never have to guess where in "2 to 10" your system lands.

peak factor = (fraction of traffic inside a time window) ÷ (fraction of the total time that window occupies)

Concentrate 50% of a day's requests into 10% of the day's minutes and the rate inside that window is 0.5 ÷ 0.1 = 5× the day's average — no lookup table, just the shape of the curve. The diagram below traces exactly this, in two compounding layers.

A 24-hour traffic bar chart: 16 off-peak hours sit at 0.3× the day's average, 8 busy-window hours (33% of the day, holding 80% of traffic) sit at 2.4× average. A zoomed inset shows that within that 480-minute busy window, a 48-minute burst (10% of the window's time) carries 50% of the window's traffic, a further 5×. Combined: 2.4× × 5× = 12× the day's average, taking 11,574 req/s up to 138,889 req/s.
A 24-hour traffic bar chart: 16 off-peak hours sit at 0.3× the day's average, 8 busy-window hours (33% of the day, holding 80% of traffic) sit at 2.4× average. A zoomed inset shows that within that 480-minute busy window, a 48-minute burst (10% of the window's time) carries 50% of the window's traffic, a further 5×. Combined: 2.4× × 5× = 12× the day's average, taking 11,574 req/s up to 138,889 req/s.

Layer 1 — diurnal concentration (the ×2–3 you always see)

Start from the baseline: 1B requests/day → average rate = 1,000,000,000 ÷ 86,400 ≈ 11,574 requests/second, if traffic were perfectly uniform across all 24 hours.

It never is. Say 80% of the day's requests land inside working hours — an 8-hour window, i.e. 1/3 of the day:

This layer alone explains the "×2–3" end of the folklore range: any traffic with a normal business-hours or evening-peak shape lands around here.

Layer 2 — burst inside the busy window (where ×5–10 comes from)

The 8-hour window itself isn't uniform either. A cron job that fires every client at the top of the hour, a push notification blast, a celebrity's post going viral — each squeezes a chunk of that window's traffic into a much shorter stretch. Say half of the busy window's 800M requests actually land in a single 48-minute stretch (10% of the window's 480 minutes):

Multiply the two layers and you get the true peak-to-average ratio for the day:

StageWindowTraffic shareTime shareRate× of daily avg
Daily average24 h100%100%11,574 req/s
Busy window (diurnal)8 h80%33.3%27,778 req/s2.4×
Burst (flash event)48 min50% of the window10% of the window138,889 req/s12×

2.4 × 5 = 12× the daily average — the rate you'd actually need to survive a flash event landing inside your normal busy hours, derived from the traffic's shape rather than pulled from a range.

Pitfalls

Judgment: provision-for-peak vs. autoscale-with-headroom

Once you have a derived number (12× here, not "somewhere between 2 and 10"), you still choose how to meet it:

Takeaways


The concentration-ratio derivation (fraction of traffic ÷ fraction of time) is first-principles arithmetic; the commonly-quoted "peak = average × 2–10" figure appears across estimation guides including the System Design Primer, Grokking the System Design Interview, and ByteByteGo — this page derives where that range actually comes from instead of restating it. See also: QPS & Throughput Playbook, The Estimation Method, Tail Latency & Fan-out Amplification.

🤖 Don't fully get this? Learn it with Claude

Stuck on Deriving the Peak Factor (not memorizing x2-10)? Open Claude, copy a block below, and it'll teach you this exact concept — visually and interactively.

🎨 Explain it visually

Build the mental picture, not memorization.

I just read a lesson on **Deriving the Peak Factor (not memorizing x2-10)** (System Design) and want to truly understand it. Explain Deriving the Peak Factor (not memorizing x2-10) 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.
🤔 Walk me through it (interactive)

Socratic — adapts to where you're stuck.

Teach me **Deriving the Peak Factor (not memorizing x2-10)** 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.
🧪 Quiz me & fix my gaps

Active recall exposes what you missed.

Quiz me on **Deriving the Peak Factor (not memorizing x2-10)** 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.
🧠 Make it stick

Intuition + hook + flashcards for long-term memory.

Help me remember **Deriving the Peak Factor (not memorizing x2-10)** 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.

📝 My notes