Back-of-the-Envelope Estimation

Estimate traffic, storage and bandwidth for a system design in minutes. A simple method, the numbers worth memorising and how to show them on your diagram.

Why estimate at all

An estimate does not need to be right; it needs to be within a factor of ten, because that is the difference between one machine and a cluster. A rough number tells you whether a single database is enough, whether a cache will fit in memory and whether you should worry about bandwidth.

The method

Start with users and turn them into requests per second: daily active users, times actions per user per day, divided by about eighty thousand seconds in a day. Multiply by two or three for peak. Next, size the data: bytes per record times records per day times retention. Finally, bandwidth is requests per second times bytes per response.

Round aggressively. Treat a day as roughly one hundred thousand seconds, and a million as ten to the sixth. Write the units every time; most mistakes are a confused kilobyte and megabyte.

Numbers worth remembering

Memory reads take about a hundred nanoseconds, a solid state disk read about a hundred microseconds and a cross-region round trip around a hundred milliseconds. A single well tuned database node handles thousands of simple queries per second, not millions. These ratios, rather than exact figures, drive most design choices.

Put the result on the diagram

Write the key numbers beside the component they affect: peak requests per second by the load balancer, storage per year by the database, cache size by the cache. In ArchBoard you can add them as text notes or as the label of a smart component, and keep the working in a second page so the figures can be audited later.

Try it with a template

Last updated 2026-10-07.