Why the estimate exists
The estimate is not arithmetic for its own sake. It tells you which designs are impossible, and it takes under three minutes.
The order matters. Users to requests per second: daily actives times actions each, divided by 86,400 seconds, then multiplied by two or three for peak because traffic is never flat. Requests to storage: writes per second times bytes per write times seconds in a year, which is about 31.5 million. Storage to bandwidth: requests per second times payload size, counting in and out separately when they differ.
Rounding hard is the point. Treat 86,400 as 100,000. A day is ten to the fifth seconds and a year is three times ten to the seventh. You want an order of magnitude, because the decision in front of you is whether something fits on one machine or needs a fleet, and being 40 percent out never changes that answer. Reach for precision here and you are optimising the wrong thing while the clock runs.
Each number should kill an option
Let each number rule something out. A terabyte in total means one database instance is fine and sharding would be premature. A petabyte means object storage and a metadata layer. Two thousand queries per second is comfortable for one database and two million is not. Five megabytes per second of traffic leaving your servers is nothing, and five gigabytes per second is a content delivery network conversation and a bandwidth bill worth mentioning.
What each number rules out is worth saying as you get it, because that is the part being scored. “200 million businesses at 5 KB is a terabyte, so storage is not the constraint here, the rate of requests is” shows the judgement. The same arithmetic with no conclusion attached is just arithmetic, and it is a common way to spend four minutes and earn nothing.
A few figures are worth having ready so you are not deriving them live. One machine handles roughly 10,000 to 50,000 simple requests per second. A single relational database node sustains something like 5,000 to 10,000 writes per second. Memory is about a thousand times faster than a solid state disk, and a round trip inside one data centre is around 500 microseconds.
Worked example
Design a photo sharing service. The candidate does it in three steps out loud. Users to requests per second: 50M daily actives, 2 uploads a day, so 100M uploads over roughly 10^5 seconds, about 1,000 writes per second, call it 3,000 at peak. Reads at 100 to 1 gives 100,000 reads per second, which is immediately the interesting number and rules out serving images from application servers.
Storage: 100M uploads a day at 2 MB each is 200 TB a day, which is 73 petabytes a year. They stop and say what that rules out: no database stores this, so photos go to object storage and the database holds metadata only, and at that volume the retention policy is a real product question rather than an afterthought.
Bandwidth: 100,000 reads per second times 2 MB is 200 GB per second of egress, which nobody serves from origin. That is the CDN, and now it is in the design because the arithmetic put it there rather than because photo apps usually have one. Three multiplications, and the shape of the entire system is already decided.