METRICS

Understanding the FI Score

The Frustration Index (FI) measures actual video streaming quality — not peak speed, but what users really experience when watching YouTube and TikTok.

What is the FI Score?

Unlike a speed test that measures peak capacity in a single burst, the FI Score captures the real-world experience of video playback. It combines two factors: how long each buffer event lasts, and how many frames were frozen during that event.

A low FI means smooth streaming. A high FI means frequent stuttering or long pauses that disrupt viewing. The score is aggregated across many anonymous sessions in each geographic tile, so you see the typical experience in that area.

The Formula

For each session, we compute the stall “burden” as the sum of (duration × frozen frames) for every buffer event, then normalize by total session time:

FI = Σ (duration_ms × frames_frozen) ÷ total_session_time_ms
Each buffer event contributes to the numerator. Sessions with no buffering have FI = 0.

This gives a single number per tile (and per carrier when you filter). Higher values indicate more frustration — longer or more frequent stalls relative to watch time.

What the Numbers Mean

On the heatmap, tiles are colored by their FI Score. Here’s how to read them:

FI ≤ 0.2 Smooth streaming — minimal or no buffering
0.2 < FI ≤ 0.5 Occasional stuttering — some disruption
FI > 0.5 Frequent stuttering or long pauses — viewing disrupted

Congestion vs. Weak Signal

When you see buffering, it can be caused by a weak cellular signal or by network congestion — too many users sharing the same tower. BufferBeat helps distinguish these.

Congestion only filter

Tiles with strong signal (RSRP > -95 dBm) but high FI (> 0.5) suggest congestion rather than coverage gaps. Use the “Congestion only” filter on the heatmap to focus on these areas — places where the carrier has signal but experience is poor due to capacity limits.

Why Not Just Use Speed Tests?

Speed tests measure what your connection could do in a short burst. Video streaming depends on sustained throughput, consistency, and how the app and CDN behave over time. Real sessions on real apps (YouTube, TikTok) reveal what actually happens — including stalls, rebuffering, and frame freezes that speed tests never capture.

The FI Score is built from actual viewing sessions, so it reflects the experience that matters: can you watch a video without interruption?