</> MAANG.io
system design · 301

Advanced

Master system design interviews with scalable architecture patterns, distributed systems, and real-world design challenges.

0/480 solved 0% complete

Section 3: It Is a Budget Problem, Not a QPS Problem - Scale Estimation & Workload Analysis

Executive Summary: This section turns the clarified assumptions into numbers, derived in order: users and watches, user-facing API traffic, the outbound fetch budget split by tier, price-change events, notifications and their worst burst, then storage and bandwidth. The arithmetic shows something most candidates miss. Inbound QPS is small. The scarce resources are the 500 calls per second we may make to the licensed product API, and the burst capacity needed to push 600,000 notifications in a minute. Every big decision in the sections that follow comes back to these two numbers.

The interviewer uncaps the marker: "Give me the numbers." A weak candidate multiplies DAU by something and moves on. You say what you expect to find, then let the arithmetic confirm it or embarrass you.

You: "I suspect the user-facing traffic is the easy part and the hard part is how often we're allowed to ask Amazon for a price. Let me derive both and we'll see."

Two peak factors hold throughout: a normal daily peak is 3× average, and a Prime Day or event-day peak is 10× average.

Users, Watches and the Skew

  • Signed-in extension users: 10M. Daily active: 3M.
  • Active watches: 10M × 5 average = 50M watches.
  • Distinct watched ASINs: 15M, so 50M / 15M ≈ 3.3 watchers per ASIN on average.
  • Push subscriptions: 1.2 per user (Maya has two, Chrome and Firefox) → 12M subscriptions.

The average hides the real shape. The distribution is heavily skewed: the top 1M ASINs, each with roughly 10 or more watchers, hold about half of all watches (~25M). Maya's headphones, B0EXAMPLE4, have 18,000 watchers. On Prime Day the most-watched ASIN reaches 500,000.

Interviewer: "Why does the skew matter this early?"

You: "Because it tells us what to schedule. If we schedule by watch, we fetch Maya's ASIN 18,000 times per interval. If we schedule by product, we fetch it once and evaluate 18,000 watches against the one result."

Scheduling unit Jobs Fetches per interval for B0EXAMPLE4 Average duplication
Per watch (cron per watch) 50M 18,000 ~3.3× every fetch
Per product (ASIN) 15M 1 none

Rejected: one job per watch. It would flip only if prices were personalized per user or region, and even then the key becomes (asin, region), not the watch.

Quick check before moving on:

Sign in to continue reading

The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.

Sign in to read the full lesson

Sign in to MAANG.io

Use your Google or Microsoft account — no password to remember.

Continue with Google Continue with Microsoft

Please accept the terms above to continue.