Back-of-envelope estimation
Turn users and actions into requests per second, storage and bandwidth in two minutes, the way interviewers expect.
Why estimate
Every design decision depends on scale. 100 requests per second fits on one server; 100,000 needs caching, many app servers and probably sharding. A quick estimate at the start tells you which problems are real, and interviewers expect to see it.
The method
- Requests per second: daily users × actions per user ÷ 86,400 (round to 100,000 seconds in a day).
- Peak: multiply by 2–10 depending on how spiky the traffic is.
- Read:write ratio: tells you whether to focus on caching (read-heavy) or write scaling.
- Storage: writes per day × size per write × 365 × years × copies.
- Servers: peak requests per second ÷ what one server handles ÷ 0.7 for headroom.
Try it
Handy numbers
| Quantity | Value |
|---|---|
| Seconds in a day | 86,400 ≈ 10⁵ |
| 1 million requests per day | ≈ 12 per second |
| 1 billion requests per day | ≈ 12,000 per second |
| A short text record | ~1 KB |
| A compressed photo | ~200 KB – 2 MB |
| A minute of 1080p video | ~50–100 MB |
In the interview
- Ask for or assume daily active users, then say your numbers out loud as you go.
- Round hard: 10⁵ seconds in a day, powers of ten everywhere.
- Finish with what the numbers mean: "about 7,000 QPS at peak and read-heavy, so a cache and replicas are enough; no sharding yet".