Problem solving · should-tier · asked at Amazon, Apple, Google, Meta, Microsoft, Netflix

Estimate CDN Bandwidth for a Live Event

mediumestimation

Problem

A live sports final is going to be streamed to a global audience. Estimate the peak egress bandwidth the content delivery network must sustain during the event, and the total bytes delivered over its duration. Then say what the origin servers see, as opposed to what the CDN edge sees, and explain why the two differ by orders of magnitude.

  • Give bandwidth in terabits per second (Tbps) and total transfer in petabytes.
  • Assume adaptive bitrate streaming (the player picks a rendition based on its connection).
  • State every assumption; the interviewer will trade you a number for any assumption you ask about.

Examples

Planning figures that hold up under questioning:

  • Concurrent viewers at peak: 20-30 million for a major global final. Record-setting streams have reported tens of millions of concurrent viewers; 25 million is a defensible planning figure.
  • Average delivered bitrate: with adaptive bitrate, many viewers get 720p (3-4 Mbps), some get 1080p (5-8 Mbps), a long tail on mobile gets 480p or worse (~1-2 Mbps). A blended average of 4 Mbps is reasonable; 5 Mbps if the audience skews to living-room TVs.
  • Duration: 3 hours including pre-game and post-game, with the peak audience for roughly the middle two hours.
  • Segment length: HLS/DASH segments of 2-6 seconds. This matters for the origin, not the edge.
  • CDN structure: viewers hit an edge point-of-presence; edges fetch from regional mid-tier caches; mid-tiers fetch from the origin. Each layer serves many downstream requests per upstream fetch.

Hints

  1. Peak bandwidth is concurrent viewers × bitrate per viewer. Do not start from total viewers over the day; that gives you bytes, not bits per second.
  2. Watch the units: bitrates are in bits, storage is in bytes. Divide by 8 exactly once.
  3. For the origin, count distinct segment fetches, not viewer requests. How many unique things exist to fetch per second?

Last reviewed 8 September 2026