Estimation Practice
Your Turn
Two lessons of method, one lesson of numbers, three worked walkthroughs — the loading phase is over. This lesson is a gym: three fresh problems, your envelope, and a checker that grades every rung of your ladder.
Three rules make the practice actually work:
- Paper first. Work each problem with a pen before touching an input box — the struggle to produce the number is the learning; the checker is only there to referee. (Cover-and-guess got you here; now it's produce-and-check.)
- The givens are fixed on purpose. In real life you choose the assumptions — that's next section's discussion. Here the assumptions are handed to you so that your answers are checkable against honest ranges: within 2× passes, because rounding style (10⁵ vs 86,400) legitimately wiggles results and order-of-magnitude is the game.
- Read your misses. When a rung comes back wrong, the checker doesn't just say wrong — it reads the ratio of your answer to the right one and names the mistake: off by ~10⁵ means you never converted to per-second; off by 8, bits versus bytes; off by 3, the forgotten replication. Every miss is one of this section's lessons wearing a number — which makes wrong answers the most valuable thing in this lesson.
Pocket constants within reach, calculator away. Ninety seconds a problem is the bar you're training toward.

The Arena: Three Problems
One problem per dimension, none of them seen before: a chat app (traffic — where does 50M users' chatter land per second?), a podcast platform (storage — with a twist you'll enjoy discovering), and a live-sports stream (bandwidth — smaller than the video giant from the walkthroughs, but the same physics). Type each rung; check the ladder; read your misses.

Reading Your Misses
The decoder's table is worth internalizing beyond this page, because these exact ratios are how estimation errors present in the wild — in your own design docs and in other people's:
| you're off by… | you probably… |
|---|---|
| ~100,000× | never converted per-day → per-second (the ÷10⁵ rung) |
| ~1,000× | slipped a K/M/G — count the zeros again |
| ~365× | mixed a day with a year on a storage ladder |
| ~24× | mixed hours with days |
| ~8× | mixed bits with bytes — networks speak bits, disks speak bytes |
| ~5× | forgot the peak multiplier — you sized for the average |
| ~3× | forgot replication — nobody stores bytes once |
Notice something about that table: it is the section. The units guardrail, the pocket constants, the peak rule, the replication rule — every recurring mistake is a violated lesson, and the ratio tells you which one. Senior engineers sanity-check colleagues' numbers exactly this way: not by redoing the math, but by spotting a suspicious factor of 8 or 365 sticking out of a result. That skill — reading an estimate for its likely failure — is what this practice quietly installs.
And the twist you may have met in problem two: a whole year of a podcast platform — thousands of hours a day — fits on a couple of drives. Audio is ~60 MB/hour; video is ~5 GB/hour; that two-orders-of-magnitude gap is why the walkthroughs' video service lived in petabytes while your podcast empire lives in a shoebox. Dominant dimensions differ within media, not just between product types.

When You're Estimating for Real
One honest difference between this gym and the field: here, the givens were handed to you. In an interview or a design review, choosing the assumptions is half the skill — and it changes how correctness works.
- There is no answer key. Your 50M DAU and someone else's 20M are both defensible; what's graded is that you said it out loud, wrote it down, and picked something plausible (anchored: "WhatsApp does 100B/day, we're a small fraction").
- Ranges get wide — and that's fine. Two defensible assumption sets can produce answers 5× apart and both be useful, because the decision they feed ("one box or a fleet?") usually survives the spread. When it doesn't — when the decision flips inside your uncertainty range — that's the signal to stop estimating and go measure.
- The process is the deliverable. Assumptions stated → ladder → units cancelled → peak applied → anchor checked → decision. An interviewer watching that sequence learns more from it than from the final number — which is why practicing the rungs, as you just did, transfers directly even though real problems come without answer boxes.
Keep the gym habit: any system you read about this week — a news story about some service's scale — run its envelope. Twenty reps of ninety seconds each and the reflex is permanent.
Key Takeaways & What's Next
- Practice with feedback beats re-reading — paper first, check second, and treat every miss as a named lesson: ~10⁵ = day/second, ×8 = bits/bytes, ×5 = peak, ×3 = replication, ×365 = day/year.
- The three dimensions behaved as promised: chat = pure rate (100K msg/s peak from 50M users), podcast storage = accumulation-but-tiny (audio's 60 MB/hr → ~130 TB/yr replicated), live sports = rate×size in bits (600 Gbps → 60 ports → CDN).
- In the field, assumptions are yours to choose — state them, anchor them, and let the decision (not the digits) be the output. If the decision flips inside your uncertainty range, measure instead.
You can now produce the numbers. The final lesson of the section closes the loop: From Numbers to Architecture — what 100 QPS versus 100K QPS actually means for the shape of a system, so that every envelope you write from now on ends the way the walkthroughs did: with a design decision.