Lesson 13 of 19
2. Back-of-Envelope Estimation

2.12 How do you round, and how do you know you're not way off?

3 min read+10 XP

Checking yourself

At the wedding: Nobody says "we need 47.3 kilos of rice". You say "about 50", and you sanity-check it: "500 guests, 100 grams each, yes, 50 kilos."

In the system:

Round hard. Keep one or two significant figures. 5,787 → "about 6,000". 1.46 PB → "about 1.5 PB". Precision you can't justify only slows you down.

Keep the units in every step. "500 million views × 200 KB" makes it obvious the answer is in KB and needs converting. Most big estimate errors are unit errors (bits vs bytes, per day vs per month).

Sanity-check with a second route. Does the answer fit with something you know?

  • "9 Gbps out on average": that's a lot for one machine, so yes, a CDN makes sense.
  • "Only 23 writes a second": one database handles that easily, so the write path isn't the problem. The read path is.

Know which errors matter. Being off by 20% changes nothing. Being off by 10 times changes the design. Check the number of zeros, not the decimals.

Memory code: "Right zeros, not right decimals."