Title: Prefetching for Short Video Streaming: Experiences from a Longitudinal Evolution at Planetary Scale
Authors: Yinjie Zhang, Ying Chen, Yuming Hu, Aoyang Zhang, Pengcheng Chen, Zhixiang Luo, Shaopeng Li, Zhendong Zhong, Haiqing Tao, Lan Xie, Shenglan Huang, Zhiwei Fan, Feng Qian (ByteDance)
Introduction
Short-video streaming involves rapid swiping and frequent switching. Users often decide within a few seconds of a video’s start whether to continue watching or swipe away. Prefetching therefore needs to determine both when and how much data to download for the current and subsequent videos, while balancing startup delay, mid-playback stalls, wasted bandwidth, on-device computation, and user stay time. Optimization experience from long-form streaming cannot be directly applied: short videos are briefer, user behavior is more random, and mobile devices have tighter computation and network constraints. This paper summarizes two years of ByteDance’s prefetching evolution on a global short-video platform, moving from simple heuristics to buffer control, data-driven viewing-time estimation, per-video and per-user personalization, and joint optimization of current and future video segments. Each change was evaluated through production A/B tests covering tens of millions to hundreds of millions of users.
Key idea and contribution:
The algorithm evolution proceeds through heuristic and optimization stages, improving prefetching logic and viewing-time estimation together (Figure 1). The heuristic stage starts with SPA, which loads a fixed amount for the current video and then prefetches the next videos. BLA switches between downloading the current video and prefetching future videos according to whether the current buffer reaches a safe threshold. DVE estimates viewing distributions from platform-wide data, while VVE builds separate models for popular videos that account for most views. PLA further adjusts the prefetching range according to the user’s scrolling speed, reducing unnecessary downloads for more distant videos.
In the optimization stage, VDA places segments from the current and future videos into a unified decision process and chooses the next segment according to stall and bandwidth costs. EDA then prioritizes the first-frame segment because users are especially sensitive to startup waiting. UVE moves personalized estimation to the device, using a lightweight multi-task model to predict viewing time for the current video and the next seven videos, and reusing the result during one viewing session. The prefetching decision and viewing-time estimation work together to allocate downloads according to expected viewing demand while coordinating startup delay, playback smoothness, bandwidth consumption, and on-device overhead.
Evaluation
The paper evaluates the system with production A/B tests on global Android users, supplemented by trace-driven simulation using real network traces and user sessions. After two years of continuous iteration, the overall system increases user stay time by 0.38% and reduces bandwidth consumption by 14.7%.
In three end-to-end experiments, EDA+UVE improves stay time over SPA by 0.577%, 0.884%, and 0.605%, reduces bandwidth by 27.27%, 24.75%, and 25.51%, and cuts startup delay by approximately 181–203 ms. These results capture the cumulative effect of multiple incremental improvements across the complete production pipeline (Table 10).
VDA places the current and future videos into a unified stochastic decision framework, reducing stalls by 2.92% and bandwidth by 3.39%, while adding 18.90 ms of startup delay. After EDA adds a first-frame startup penalty, stay time and play time increase by about 0.05% and 0.06% over VDA. First-frame skip rates are higher than stall-induced skip rates across video lengths, especially for short videos, indicating that users are more sensitive to startup waiting (Figure 6).
In simulation over 435 network traces and about seven million playback events, EDA’s average startup delay is 6.13 ms. Using EDA’s bandwidth as the baseline, VDA is nearly unchanged at -0.08%, while BLA+PLA, BAP, PDAS, and DeLoad use 5.69%, 34.60%, 7.52%, and 1.71% more bandwidth, respectively. EDA achieves a strong balance among startup delay, playback smoothness, and bandwidth, consistent with the online findings (Table 11). These results matter because they show how a sequence of production-tested decisions can improve engagement and reduce network cost simultaneously.
Q&A
Q1: Great presentation. I’m interested in how much backbone usage increases when prefetching is enabled. What percentage of backbone bandwidth is consumed by prefetching?
A1: I think about 40% is wasted, but I can take this offline.
Q2: How is viewing time used in your algorithm? Does a longer predicted viewing time mean that the system prefetches a longer duration of the video?
A2: For more details, you can refer to the paper. At a high level, in the buffer-level control algorithm, we use danger and safe thresholds. If we predict that the user will stay longer on the current video, we use a higher threshold.
Q3: What model do you use to predict viewing time?
A3: It is a lightweight three-layer MLP.
Personal thoughts
From the two-year production evolution presented in the paper, short-video prefetching needs to reorganize resource allocation around users’ tendency to swipe away quickly; caching strategies from long-form video cannot simply be reused. The paper connects several trade-offs: startup waiting can matter more than mid-playback stalls, a small set of popular-video models can cover most views, and on-device models must keep inference overhead low. These observations suggest that prefetching, viewing-time estimation, and deployment cost should be designed together.
These experiences are mainly based on one platform’s recommendation and playback pipeline. Prefetching and ABR remain decoupled, and the user benefit is difficult to attribute precisely to individual modules. More independent data is needed to determine whether the same trade-offs hold under different content distributions, interaction patterns, and network conditions.




