Back-of-the-Envelope Sizing of Spotify's Average and Peak Streaming Egress
Company: Spotify
Role: Product Manager
Category: Product / Decision Making
Difficulty: medium
Interview Round: Other
Estimate the network bandwidth Spotify needs to support its service.
```hint From listeners to simultaneous streams
Turn daily listening into the number of streams playing at the same moment, then ask how much of that listening actually has to travel over the network.
```
### Clarifying Questions
- Do you mean the bandwidth delivered to listeners' devices, or also traffic inside Spotify's own infrastructure, such as filling caches from origin servers and receiving new uploads?
- Should I estimate the average load or the peak that capacity has to be provisioned for, and for the whole world or a single region?
- Should podcasts, including video podcasts, be counted alongside music?
### What a Strong Answer Covers
- An agreed definition of the bandwidth being estimated: direction, average versus peak, geography and content types
- A chain from users to listening hours to concurrent streams, with each assumption labeled
- A bitrate assumption tied to audio quality settings and the mix of free and paid listening
- Adjustments for offline and cached playback, protocol overhead and peak-to-average ratio, with correct unit conversions
- A sanity check such as data per listener, and how a PM would use the number for cost and quality decisions
### Follow-up Questions
- How would the answer change if a large share of podcast listening moved to video?
- Which lever would you pull to cut delivery cost by 20% without users noticing worse audio?
- How much of this traffic would reach Spotify's origin servers rather than being served from caches near listeners?
Overview: An estimation question that asks how much network bandwidth Spotify needs to support its service. It tests turning users and listening time into concurrent streams, choosing realistic audio bitrates, adjusting for offline playback, overhead and peak load, and converting between bits and bytes correctly.