Resources
Metrics Encyclopedia
Your guide to understanding video, advertising, and performance metrics.
Monetization & Advertising Ad Requests • Ad Fill Rate • Ad Impressions • Ad Error Rate • Total Ad Errors • Ad Playback Reliability • Ad Break Duration • Ad Watched Time • Ad Completion Rate • Ad Click Through Rate • Ad Tolerance • Ad Revenue • Average CPM Rate • Exits Before Video Start • Exits During Ad Break • Content that drives Subscription • Conversion to Subscribe • Total Sponsor Impressions • Total Sponsor Viewing Time
Audience Engagement Monthly Viewing Users • User Stickiness • Authentication Rate • Concurrent App Sessions • Concurrent Plays • Total Time Watched • Content Watch Time • Content Session Time • Content Drop Off • Interval Minutes • Viewing Minute Distribution • Audience Penetration • Content Penetration • Completion Rates • Percent Complete • Pageviews with Video Playback • Video Engagement Ratio • Flag Interesting Segments
Operational Integrity SEI (Streaming Experience Index) • Play Attempts • Play Starts • Startup Time • Session-Level Playback Latency Breakdown • Video Restart Time • Stall Ratio • Buffer Ratio • Playback Stall Rate • Average Playback Stalls • Video Buffering Time • Stall Cause Attribution Metric • Exits During Stall • Video Error Rate • Video Interruption Count • Video Interruption Ratio • Exits After Error • End-to-End Session Resilience • Video Bitrate • Average Frame Rate • Adaptive Bitrate (ABR) Drift Analysis • Bitrate Selection Efficiency • Content Delivery Consistency Score • Dynamic Network Congestion Monitoring • Per-Region QoE Disparity Index • QoE-to-QoS Correlation Index
Monetization & Advertising
Metrics related to generating revenue, ad delivery, and how the monetization experience impacts your audience.
Example Filters
Note: Any dimension in the Datazoom data dictionary is a candidate filter. The following are common examples you can use to slice and dice the metrics in this category:
Content & Strategy: Streaming Type, Title / Asset ID, Content Duration, Genre
Advertising Data: Advertiser, Ad Partner, Ad System, Ad Creative ID, Deal ID, Ad ID
Audience & Device: Device Manufacturer / Device Name, Device Type, OS Name / OS Version, Browser Name / Browser Version
Quality & Network: Bandwidth, Bitrate, Error Code
User Context & Preferences: Orientation, Cookies Enabled, Ad Tracking Opt Out, Volume Level
Ad Requests
Definition
The total number of requests made to the ad server to retrieve an ad.
Potential Insight
Useful for tracking ad system delivery performance and load. It is also a fundamental baseline for monetization metrics, particularly when comparing ad requests against actual ad impressions to identify fill issues.
Required Data Points
media_request (event) where media_type = 'ad'
Generalized Formula
count(media_request where media_type = 'ad')
Example SQL Query
1SELECT2 COUNT(*) AS total_ad_requests3FROM4 datazoom.events5WHERE6 event_type = 'media_request' 7 AND media_type = 'ad'Ad Fill Rate
Definition
The percentage of ad requests that are successfully filled with an ad response from the ad server.
Potential Insight
Identifies missed revenue opportunities. A low fill rate indicates that despite having available ad inventory (requests), the ad server is failing to provide an ad to the viewer, often pointing to configuration or network issues.
Required Data Points
media_request(event) wheremedia_type= 'ad' (CSAI supported; coming soon for SSAI)playback_start(event) wheremedia_type= 'ad' (used here as a proxy for a filled ad impression)
Generalized Formula
(count(playback_start where media_type = 'ad') / count(media_request where media_type = 'ad')) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN event_type = 'playback_start' AND media_type = 'ad' THEN ad_session_id ELSE NULL END) / 3 NULLIF(COUNT(DISTINCT CASE WHEN event_type = 'media_request' AND media_type = 'ad' THEN ad_session_id ELSE NULL END), 0)) * 100 AS ad_fill_rate4FROM5 datazoom.eventsAd Impressions
Definition
The total number of ads that successfully loaded and started playing on the viewer's screen.
Potential Insight
Acts as the bridge between ad requests and ad completions. Comparing ad requests to ad impressions helps identify fill or rendering issues, while comparing impressions to completions measures user tolerance and engagement.
Required Data Points
ad_impression (event)
Generalized Formula
count(ad_impression)
Example SQL Query
1SELECT2 COUNT(*) AS total_ad_impressions3FROM4 datazoom.events5WHERE6 event_type = 'ad_impression'Ad Error Rate
Definition
The percentage of ad requests or play attempts that result in a fatal error, preventing the ad from being displayed.
Potential Insight
High ad error rates indicate issues with the ad server, VAST/VMAP parsing, or ad inventory mapping. This directly impacts monetization and helps ops teams pinpoint faulty ad creatives or network timeouts.
Required Data Points
ad_request(event)ad_error(event)
Generalized Formula
(Total Ad Errors / Total Ad Requests) * 100
Example SQL Query
1SELECT2 (CAST(SUM(CASE WHEN event.type = 'ad_error' THEN 1 ELSE 0 END) AS double) / 3 NULLIF(CAST(SUM(CASE WHEN event.type = 'ad_request' THEN 1 ELSE 0 END) AS double), 0)) * 100 AS ad_error_rate4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Total Ad Errors
Definition
The absolute count of all ad errors encountered across all viewer sessions in the selected timeframe.
Potential Insight
Identifies massive spikes in ad failures indicating a widespread outage, an incompatible VAST response, or a severely broken ad campaign that needs immediate pausing.
Required Data Points
ad_error (event)
Generalized Formula
Count of ad_error events
Example SQL Query
1SELECT2 COUNT(*) as total_ad_errors3FROM datazoom.events4WHERE event.type = 'ad_error' AND $__timeFilter(event.timestamp)Ad Playback Reliability
Definition
The percentage of ad play attempts that successfully completed without fatal errors, stalls, or interruptions.
Potential Insight
Helps pinpoint specific ad creatives, ad networks, or SSAI providers that are causing playback instability, ensuring optimal ad yield and viewer retention during commercial breaks.
Required Data Points
ad_request(event)ad_complete(event)ad_error(event)
Generalized Formula
(Total Ad Completes / (Total Ad Requests - Ad Errors)) * 100
Example SQL Query
1SELECT2 (CAST(SUM(CASE WHEN event.type = 'ad_complete' THEN 1 ELSE 0 END) AS double) / 3 NULLIF(CAST(SUM(CASE WHEN event.type = 'ad_request' THEN 1 ELSE 0 END) AS double), 0)) * 100 AS ad_playback_reliability4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Ad Break Duration
Definition
The duration of an ad break. This can be calculated down to a single ad break or used as an average across multiple breaks.
Potential Insight
Tracking ad break duration provides a balance between monetization and user experience. For example, comparing the length of an ad break against content completion rates helps you understand user tolerance and drop-off behavior.
Required Data Points
ad_break_start(event)ad_break_end(event)
Generalized Formula
(ad_break_end) - (ad_break_start)
Example SQL Query
1SELECT2 ad_break_id,3 AVG(timestamp_diff(millisecond, ad_break_start_time, ad_break_end_time)) AS avg_ad_break_duration_ms4FROM5 datazoom.events6WHERE7 event_type IN ('ad_break_start', 'ad_break_end')8GROUP BY9 ad_break_idAd Watched Time
Definition
The total duration of ad playback.
Potential Insight
Helps quantify total ad exposure and inventory delivery. Useful for calculating total ad yield and understanding viewer ad consumption. Also: When measured by content title, this can indicate ad tolerance (e.g. is this content able to drive more ad sales).
Required Data Points
heartbeat (event) where media_type = 'ad'
Generalized Formula
SUM(MAX(playback_duration_ads_ms)) for each content_session_id
Example SQL Query
1SELECT2 SUM(MAX(metrics.playback_duration_ad_ms)) AS total_ad_watched_time_ms3FROM4 datazoom.events5WHERE6 event_type = 'heartbeat'7 AND media_type = 'ad'Ad Completion Rate
Definition
The rate at which ad impressions result in a completed ad playback.
Potential Insight
High completion indicates user tolerance and ad effectiveness. Ad space for content or cohorts with high completion rates can be sold at a premium.
Required Data Points
playback_complete(event) where media_type = 'ad'ad_impression(event)
Generalized Formula
(count(playback_complete where media_type = 'ad') / count(ad_impression)) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN event_type = 'playback_complete' AND media_type = 'ad' THEN ad_session_id ELSE NULL END) / 3 NULLIF(COUNT(DISTINCT CASE WHEN event_type = 'ad_impression' THEN ad_session_id ELSE NULL END), 0)) * 100 AS ad_completion_rate4FROM5 datazoom.eventsAd Click Through Rate
Definition
The rate at which ads are clicked by the viewer.
Potential Insight
Provides an indication of how a particular ad is performing to engage the user. High click-through rates indicate high interest from users. When a cohort or content can be identified with a higher click-through rate, that ad space can be sold for a premium.
Required Data Points
ad_click(event)ad_impression(event)
Generalized Formula
(count(ad_click) / count(ad_impression)) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN event_type = 'ad_click' THEN ad_session_id ELSE NULL END) / 3 NULLIF(COUNT(DISTINCT CASE WHEN event_type = 'ad_impression' THEN ad_session_id ELSE NULL END), 0)) * 100 AS ad_click_through_rate4FROM5 datazoom.eventsAd Tolerance
Definition
Measure ad tolerance by comparing the volume of advertising successfully consumed against the volume explicitly rejected. An equilibrium point of 1.0 indicates users are abandoning as many ads as they complete. A score > 1.0 means high tolerance (completing more), while < 1.0 signifies ad fatigue (abandoning more).
Required Data Points
playback_start(event) wheremedia_type= 'ad' (Ad Starts)playback_complete(event) wheremedia_type= 'ad' (Ad Completes)
Generalized Formula
(Ad Starts) / (Ad Completes)
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN event_type = 'playback_complete' AND media_type = 'ad' THEN ad_session_id ELSE NULL END)) / 3 NULLIF((COUNT(DISTINCT CASE WHEN event_type = 'playback_start' AND media_type = 'ad' THEN ad_session_id ELSE NULL END) - COUNT(DISTINCT CASE WHEN event_type = 'playback_complete' AND media_type = 'ad' THEN ad_session_id ELSE NULL END)), 0) AS ad_tolerance_score4FROM5 datazoom.eventsAd Revenue
Definition
The total estimated revenue generated from ad impressions.
Potential Insight
Directly measures the financial impact of your advertising strategy. Combining this with Ad Impressions and Ad Watched Time helps calculate overall yield and return on investment (ROI) for your content.
Required Data Points
ad_impression(event)ad_cpm(enrichment metadata)
Generalized Formula
(Sum of all ad_cpm values) / 1000
Example SQL Query
1SELECT2 SUM(event.metrics.ad_cpm) / 1000 AS total_ad_revenue3FROM datazoom.events4WHERE event.type = 'ad_impression'5 AND $__timeFilter(event.timestamp)Average CPM Rate
Definition
The average CPM rate for a given asset. Could also be used for title, if that is filled out accurately.
Potential Insight
Provides average revenue earned by each video show or title. Daily, Weekly, and Monthly summaries can provide key indicators of growth.
Required Data Points
ad_impression(event)asset_id(metadata)ad_cpm_rate(enrichment metadata)
Generalized Formula
avg(ad_cpm_rate) group by asset_id
Example SQL Query
1SELECT2 asset_id,3 AVG(ad_cpm_rate) AS avg_cpm_rate4FROM5 datazoom.events6WHERE7 event_type = 'ad_impression'8GROUP BY9 Asset_idExits Before Video Start
Definition
The number of instances where a user abandons the session after a "Play" intent is captured (Play Attempt) but before the first frame of media—either an Ad or Content—is successfully rendered.
Potential Insight
This is a critical "friction" metric. High EBVS typically indicates that your startup latency is too high (buffering before start), your pre-roll ad tags are broken/timing out, or there is a fatal error in the player initialization sequence.
Required Data Points
media_request(event)playback_start(event)content_session_id(metadata)
Generalized Formula
Total Play Attempts - Total (Unique Content Sessions that reached ad_start OR playback_start)
Example SQL Query
1SELECT2 COUNT(DISTINCT user_details.content_session_id) AS total_exits_before_start3FROM datazoom.events4WHERE event.type = 'media_request'5 AND user_details.content_session_id NOT IN (6 SELECT DISTINCT user_details.content_session_id7 FROM datazoom.events8 WHERE event.type IN ('ad_start', 'playback_start')9 )10 AND $__timeFilter(event.timestamp)Exits During Ad Break
Definition
The number of sessions intentionally terminated by the user while an ad break was actively playing.
Potential Insight
Indicates severe ad fatigue, overly long commercial breaks, repetitive creatives, or broken ad media causing abandonment.
Required Data Points
ad_break_start(event)ad_break_end(event)session_end(event)
Generalized Formula
Count of session_end events occurring between ad_break_start and ad_break_end
Example SQL Query
1SELECT2 COUNT(DISTINCT content_session_id) AS ad_abandonments3FROM datazoom.events4WHERE event.type = 'session_end' AND video.media_type = 'ad' AND $__timeFilter(event.timestamp)Content that drives Subscription
Definition
Titles most watched by subscribed users.
Potential Insight
Useful to determine which video titles are watched by subscribers to inform content decisions.
Required Data Points
Subscription Status (Enrichment)
asset_id(metadata)
Generalized Formula
watched titles from subscribers / watched titles from non-subscribers
Example SQL Query
1SELECT2 asset_id,3 COUNT(DISTINCT CASE WHEN subscription_status = 'Subscribed' THEN user_id END) AS subscribed_views,4 COUNT(DISTINCT CASE WHEN subscription_status != 'Subscribed' THEN user_id END) AS non_subscribed_views,5 (COUNT(DISTINCT CASE WHEN subscription_status = 'Subscribed' THEN user_id END) / NULLIF(COUNT(DISTINCT CASE WHEN subscription_status != 'Subscribed' THEN user_id END), 0)) AS sub_to_non_sub_ratio6FROM7 datazoom.events8WHERE9 event_type = 'playback_start'10 AND $__timeFilter(event.timestamp)11GROUP BY12 asset_id13ORDER BY14 subscribed_views DESCConversion to Subscribe
Definition
Ratio of subscribed users to identified returning viewers.
Potential Insight
Measures how many returning users have subscribed to the service. Useful KPI to track retention and marketing campaigns for converting users to subscription levels.
Required Data Points
user_id(metadata)Subscription Status (Enrichment)
Generalized Formula
(viewers with subscriptionID / viewers with userID) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN subscription_status = 'Subscribed' THEN user_id END) / NULLIF(COUNT(DISTINCT user_id), 0)) * 100 AS conversion_to_subscribe_rate3FROM4 datazoom.events5WHERE6 $__timeFilter(event.timestamp)Total Sponsor Impressions
Definition
The number of times a sponsor's product has appeared to end-users within the content.
Potential Insight
Provides the number of times a sponsored product or service was viewed. Can be used to track sponsorship goals and ad delivery.
Required Data Points
ad_impression(event)content_session_id(metadata)sponsor_id(join key / enrichment)
Generalized Formula
COUNT(ad_impression) grouped by sponsor_id
Example SQL Query
1SELECT2 sponsor_id,3 COUNT(*) AS total_sponsor_impressions4FROM5 datazoom.events6WHERE7 event_type = 'ad_impression'8 AND $__timeFilter(event.timestamp)9GROUP BY10 sponsor_idTotal Sponsor Viewing Time
Definition
The total amount of time viewers spent watching a specific sponsor's ad or product placement.
Potential Insight
Helps quantify the total brand exposure and engagement time for a specific sponsor, which is highly useful for reporting ROI and value to brand partners.
Required Data Points
playback_duration_ad_ms(metadata)content_session_id(metadata)sponsor_id(join key / enrichment)
Generalized Formula
SUM(playback_duration_ad_ms) grouped by sponsor_id
Example SQL Query
1SELECT2 sponsor_id,3 SUM(event.metrics.playback_duration_ad_ms) / 60000 AS total_sponsor_viewing_time_minutes4FROM5 datazoom.events6WHERE7 $__timeFilter(event.timestamp)8GROUP BY9 sponsor_idAudience Engagement
Metrics tracking how users interact with, consume, and navigate the content.
Example Filters
Note: Any dimension in the Datazoom data dictionary is a candidate filter. The following are common examples you can use to slice and dice the metrics in this category:
Content & Strategy: Title / Asset ID, Genre, Series, Content Duration, Streaming Type (Live vs. VOD)
Audience Context: Subscription Status, User ID, App Session ID
Device & Geography: Device Type, OS Name, Country, City
Monthly Viewing Users
Definition
The total number of unique users who initiated at least one video playback within a 30-day (or calendar month) period.
Potential Insight
A core platform health metric. Tracking your active monthly audience size helps evaluate the long-term success of acquisition and retention strategies.
Required Data Points
user_id(metadata)playback_start(event)
Generalized Formula
count(distinct user_id) over a 30-day window
Example SQL Query
1SELECT2 COUNT(DISTINCT user_details.user_id) AS monthly_viewing_users3FROM4 datazoom.events5WHERE6 event_type = 'playback_start'7 AND timestamp >= NOW() - INTERVAL 30 DAYUser Stickiness
Definition
The ratio of Daily Active Users (DAU) to Monthly Active Users (MAU), expressed as a percentage.
Potential Insight
Measures how frequently users return to the platform. A higher stickiness percentage indicates that viewers are making the app a daily habit, rather than just dropping in once a month.
Required Data Points
user_id(metadata)playback_start(event)
Generalized Formula
(Daily Active Users / Monthly Active Users) * 100
Example SQL Query
1WITH DAU AS (2 SELECT COUNT(DISTINCT user_details.user_id) AS daily_users3 FROM datazoom.events4 WHERE event_type = 'playback_start' AND timestamp >= NOW() - INTERVAL 1 DAY5),6MAU AS (7 SELECT COUNT(DISTINCT user_details.user_id) AS monthly_users8 FROM datazoom.events9 WHERE event_type = 'playback_start' AND timestamp >= NOW() - INTERVAL 30 DAY10)11SELECT12 (daily_users * 100.0 / monthly_users) AS user_stickiness_percentage13FROM DAU, MAUAuthentication Rate
Definition
The ratio of identified/returning users (who have logged in) to total viewers on the platform.
Potential Insight
Provides an indication of how many users are accessing the system through logging in rather than browsing anonymously. Useful for tracking conversion strategies aimed at moving anonymous viewers into known, registered users.
Required Data Points
user_id(enrichment metadata)app_session_id(metadata)
Generalized Formula
(count(distinct user_id) / count(distinct app_session_id)) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT user_details.user_id) * 100.0) / COUNT(DISTINCT user_details.app_session_id) AS login_success_rate3FROM4 datazoom.events5WHERE6 $__timeFilter(event.timestamp)Concurrent App Sessions
Definition
The total number of unique application sessions occurring at a specific point in time or over a given interval.
Potential Insight
Helps understand peak viewership, overall platform usage, and app-level engagement trends. This is a crucial KPI for tracking overall platform reach and for capacity planning.
Required Data Points
app_session_id (metadata)
Generalized Formula
count(distinct app_session_id)
Example SQL Query
1SELECT2 COUNT(DISTINCT user_details.app_session_id) AS app_sessions3FROM4 datazoom.events5WHERE6 $__timeFilter(event.timestamp)Concurrent Plays
Definition
The total number of unique, active video streams (content sessions) occurring at a specific point in time.
Potential Insight
While "App Sessions" tracks platform traffic, Concurrent Plays tracks actual video consumption load. This is a vital real-time metric for live event monitoring and CDN capacity management.
Required Data Points
content_session_id(metadata)heartbeat
Generalized Formula
count(distinct content_session_id)
Example SQL Query
1SELECT2 COUNT(DISTINCT user_details.content_session_id) AS concurrent_plays3FROM4 datazoom.events5WHERE6 $__timeFilter(event.timestamp)7 AND event_type = 'heartbeat'Total Time Watched
Definition
The absolute total duration of all video content consumed across all users and sessions over a given period (often inclusive of ads).
Potential Insight
A top-level KPI for platform health and overall engagement volume. Often reported to executives or external stakeholders to demonstrate the sheer scale of platform consumption.
Required Data Points
content_session_id(metadata)playback_duration_total_ms(metadata)
Generalized Formula
Sum of MAX(playback_duration_total_ms) across all content_session_ids
Example SQL Query
1SELECT2 SUM(totalDuration) / 60000 AS total_time_watched_minutes3FROM (4 SELECT5 user_details.content_session_id,6 MAX(event.metrics.playback_duration_total_ms) as totalDuration7 FROM8 datazoom.events9 WHERE 10 $__timeFilter(event.timestamp)11 GROUP BY12 user_details.content_session_id13)Content Watch Time
Definition
The total aggregated time users have spent watching strictly content (excluding ads).
Potential Insight
The ultimate measure of true content consumption. High watch time indicates compelling programming. Useful for evaluating audience retention and the success of specific titles or genres independent of ad loads.
Required Data Points
content_session_id(metadata)playback_duration_content_ms(metadata)
Generalized Formula
Average of MAX(playback_duration_content_ms) for each content_session_id
Example SQL Query
1SELECT2 SUM(playbackDurationContent) / 60000 AS total_content_watch_time_minutes3FROM (4 SELECT5 user_details.content_session_id,6 MAX(event.metrics.playback_duration_content_ms) as playbackDurationContent7 FROM8 datazoom.events9 WHERE10 $__timeFilter(event.timestamp)11 GROUP BY12 user_details.content_session_id13)Content Session Time
Definition
Total time of video (includes playing and buffering time).
Potential Insight
Useful for understanding total time users spend viewing content.
Required Data Points
playback_duration_content_ms(fluxdata)buffer_duration_content_ms(fluxdata)content_session_id(metadata)
Generalized Formula
SUM(MAX(stall_duration_ms) + MAX(playback_duration_ms)) per unique content_session_id
Example SQL Query
1SELECT2 SUM(max_playback + max_buffer) AS content_session_time_ms3FROM (4 SELECT5 user_details.content_session_id,6 MAX(event.metrics.playback_duration_content_ms) AS max_playback,7 MAX(event.metrics.buffer_duration_content_ms) AS max_buffer8 FROM datazoom.events9 WHERE $__timeFilter(event.timestamp)10 GROUP BY user_details.content_session_id11)Content Drop Off
Definition
The specific point in a video timeline where users abandon playback, usually calculated as a percentage of total viewers actively watching at specific time intervals.
Potential Insight
Helps content creators, producers, and ad-ops teams understand where users lose interest, informing content editing and optimal mid-roll ad placement.
Required Data Points
playback_stop(event)playhead_position(metadata)
Generalized Formula
Count of Playback Stop events grouped by Playhead Position (in buckets)
Example SQL Query
1SELECT2 FLOOR(event.metrics.playhead_position / 60) * 60 AS minute_bucket,3 COUNT(*) AS drop_offs4FROM datazoom.events5WHERE event.type = 'playback_stop' AND $__timeFilter(event.timestamp)6GROUP BY minute_bucket7ORDER BY minute_bucket ASCInterval Minutes
Definition
The total amount of video watch time segmented into specific time intervals (e.g., minute-by-minute, hourly) across a timeline.
Potential Insight
Useful for tracking consumption trends chronologically throughout a live broadcast or identifying specific timeframes where viewership spikes or drops.
Required Data Points
playback_duration_content_ms(metadata)timestamp(event)
Generalized Formula
Sum of watch time grouped by time intervals (e.g., 5-minute buckets)
Example SQL Query
1SELECT2 $__timeGroup(event.timestamp, '5m') AS time_bucket,3 SUM(event.metrics.playback_duration_content_ms) / 60000 AS interval_watch_minutes4FROM5 datazoom.events6WHERE7 $__timeFilter(event.timestamp)8 AND event_type = 'heartbeat'9GROUP BY10 time_bucket11ORDER BY12 time_bucketViewing Minute Distribution
Definition
A distribution (or histogram) showing how viewing time is spread across the audience. (e.g., How many users watched for <10 minutes, 10-30 minutes, 30+ minutes).
Potential Insight
Helps segment your audience into casual, regular, and power viewers. This allows you to tailor strategies—such as targeting heavy users with subscription offers, or trying to increase the session lengths of casual viewers.
Required Data Points
user_idorcontent_session_id(metadata)playback_duration_content_ms(metadata)
Generalized Formula
Count of users bucketed by their MAX(playback_duration)
Example SQL Query
1WITH UserWatchTime AS (2 SELECT3 user_details.user_id,4 SUM(event.metrics.playback_duration_content_ms) / 60000 AS total_mins5 FROM datazoom.events6 GROUP BY user_details.user_id7)8SELECT9 CASE10 WHEN total_mins < 10 THEN 'Casual (<10 min)'11 WHEN total_mins >= 10 AND total_mins < 60 THEN 'Regular (10-60 min)'12 ELSE 'Power (>60 min)' 13 END AS viewer_segment,14 COUNT(user_id) as user_count15FROM UserWatchTime16GROUP BY viewer_segmentAudience Penetration
Definition
The percentage of total unique viewers that are watching a specific selected title (grouped by title).
Potential Insight
A highly useful measure of what content is capturing the most attention relative to your total active audience at a particular point in time. Helps with content optimization, promotional strategies, and identifying trending "hit" content.
Required Data Points
user_idorapp_session_id(metadata)asset_idortitle(metadata)
Generalized Formula
(count(distinct viewers watching a specific title) / count(distinct viewers across all titles)) * 100
Example SQL Query
1SELECT2 asset_id,3 (COUNT(DISTINCT user_details.user_id) * 100.0 / (SELECT COUNT(DISTINCT user_details.user_id) FROM datazoom.events WHERE event_type = 'playback_start')) AS audience_penetration_percentage4FROM5 datazoom.events6WHERE7 event_type = 'playback_start'8 AND $__timeFilter(event.timestamp)9GROUP BY10 asset_idContent Penetration
Definition
The watch time of a specific title expressed as a percentage of the total watch time across the platform.
Potential Insight
Determines which video titles are driving your platform's consumption. This is a highly useful KPI to inform content acquisition, licensing, and production decisions.
Required Data Points
content_session_id(metadata)playback_duration_content_ms(metadata)asset_idortitle(metadata)
Generalized Formula
(Total watch time for a specific title / Total platform watch time) * 100
Example SQL Query
1WITH SessionWatchTime AS (2 SELECT3 asset_id,4 user_details.content_session_id,5 MAX(event.metrics.playback_duration_content_ms) AS max_duration6 FROM datazoom.events7 WHERE $__timeFilter(event.timestamp)8 GROUP BY asset_id, user_details.content_session_id9)10SELECT11 asset_id,12 (SUM(max_duration) * 100.0 / (SELECT SUM(max_duration) FROM SessionWatchTime)) AS content_penetration_percentage13FROM SessionWatchTime14GROUP BY asset_idCompletion Rates
Definition
Computes the percentage of users who reached each completion milestone (e.g., 25%, 50%, 75%, 100%).
Potential Insight
Provides an indication of which video titles engage users for the duration of playback. It can also be used to correlate ad tolerance (e.g., do users drop off when more ads are delivered on a particular show?).
Required Data Points
milestone(event)playback_start(event)milestone_percent(metadata)
Generalized Formula
(count(milestone where milestone_percent = n) / count(playback_start)) * 100
Example SQL Query
1SELECT2 event.metrics.milestone_percent,3 (COUNT(DISTINCT user_details.content_session_id) * 100.0) / 4 (SELECT COUNT(DISTINCT user_details.content_session_id) FROM datazoom.events WHERE event_type = 'playback_start') AS completion_rate5FROM6 datazoom.events7WHERE8 event_type = 'milestone'9 AND $__timeFilter(event.timestamp)10GROUP BY11 event.metrics.milestone_percentPercent Complete
Definition
The average percentage of a video's total duration that was watched during a playback session.
Potential Insight
A strong indicator of content stickiness at the asset level. If a video has a low percent complete, the thumbnail/title may be misleading, or the content itself may lose viewer interest rapidly.
Required Data Points
playback_duration_content_ms(metadata)content_duration_ms(metadata)
Generalized Formula
Average of (playback_duration_content_ms / content_duration_ms) * 100
Example SQL Query
1SELECT2 asset_id,3 AVG( (max_playback / NULLIF(content_duration, 0)) * 100 ) AS average_percent_complete4FROM (5 SELECT6 asset_id,7 user_details.content_session_id,8 MAX(event.metrics.playback_duration_content_ms) AS max_playback,9 MAX(event.metrics.content_duration_ms) AS content_duration10 FROM datazoom.events11 WHERE $__timeFilter(event.timestamp)12 GROUP BY asset_id, user_details.content_session_id13)14GROUP BY asset_idPageviews with Video Playback
Definition
Tracks the number of pageviews that successfully convert into a video playback session.
Potential Insight
Provides a measurement of which pages have video content that users actually want to watch. Can help optimize which video subjects, topics, thumbnails, and placements drive the highest engagement.
Required Data Points
datazoom_loaded(event)playback_start(event) wheremedia_type= 'content'
Generalized Formula
(count(playback_start) / count(datazoom_loaded)) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN event_type = 'playback_start' AND media_type = 'content' THEN user_details.app_session_id END) * 100.0) / 3 NULLIF(COUNT(DISTINCT CASE WHEN event_type = 'datazoom_loaded' THEN user_details.app_session_id END), 0) AS pageview_to_playback_conversion_rate4FROM5 datazoom.events6WHERE7 $__timeFilter(event.timestamp)Video Engagement Ratio
Definition
The ratio of time a user is actively engaged on a page versus the time spent actually watching a video on that same page.
Potential Insight
Provides insight into how to optimize the site layout for higher video consumption. If users spend a long time on the page but have low video watch time, the video might be hard to find, unappealing, or the text content may be vastly more engaging.
Required Data Points
datazoom_loaded(event)playback_duration_content_ms(metadata)Page dwell time / Page unload events
Generalized Formula
(Total Video Watch Time on Page / Total Time Spent on Page) * 100
Example SQL Query
1-- Note: This requires joining video sessions with web page session durations2SELECT3 page_url,4 (SUM(video_watch_time_ms) / SUM(page_dwell_time_ms)) * 100 AS video_engagement_ratio5FROM6 page_and_video_metrics7GROUP BY8 page_urlFlag Interesting Segments
Definition
Identifies specific portions of a video that receive disproportionately high engagement, typically driven by users seeking/rewinding to replay specific moments.
Potential Insight
Helps editorial teams and content creators understand what exact moments resonate most with viewers, informing future content creation, highlight clipping, and social media sharing.
Required Data Points
seek_end(event)playhead_position(metadata)
Generalized Formula
Count of seek events grouped by playhead_position intervals
Example SQL Query
1SELECT2 FLOOR(event.metrics.playhead_position / 10) * 10 AS video_segment_seconds,3 COUNT(*) AS seek_to_count4FROM5 datazoom.events6WHERE7 event_type = 'seek'8 AND asset_id = 'YOUR_ASSET_ID'9 AND $__timeFilter(event.timestamp)10GROUP BY11 video_segment_seconds12ORDER BY13 seek_to_count DESCOperational Integrity
Metrics related to the technical health, reliability, and quality of the video delivery and playback experience.
Example Filters
Note: Any dimension in the Datazoom data dictionary is a candidate filter. The following are common examples you can use to slice and dice the metrics in this category:
Content & Strategy: Streaming Type, Title / Asset ID, Content Duration, Genre
Advertising Data: Advertiser, Ad Partner, Ad System, Ad Creative ID
Audience & Device: Device Manufacturer / Device Name, Device Type, OS Name / OS Version
Quality & Network: Bandwidth, Bitrate, Error Code, CDN Name, ASN, ISP
Streaming Experience Index
Definition
A composite, weighted score aggregating multiple critical QoE factors (startup time, stall ratio, average bitrate, error rate) into a single overarching platform health metric (usually 0-100).
Potential Insight
Provides executives and operational teams with a high-level, easy-to-understand health score for the platform, streamlining reporting and historical trending.
Required Data Points
startup_time_ms(metadata)stall_ratio(metric)video_bitrate(metadata)error_rate(metric)
Generalized Formula
A proprietary weighted average: (Weight A * Startup Score) + (Weight B * Stall Score) + (Weight C * Bitrate Score) - (Penalty * Error Rate)
Example SQL Query
1SELECT2 (100 - (AVG(event.metrics.stall_duration_ms / NULLIF(event.metrics.playback_duration_ms,0)) * 50) 3 (AVG(event.metrics.startup_time_ms) / 1000)) AS sei_score4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Play Attempts
Definition
The total count of user-initiated requests to play a video (or auto-play triggers).
Potential Insight
Represents the overall top-of-funnel audience engagement and intent to watch content before any technical failures are accounted for.
Required Data Points
media_request (event)
Generalized Formula
Count of media_request events
Example SQL Query
1SELECT2 COUNT(*) as play_attempts3FROM datazoom.events4WHERE event.type = 'media_request' AND $__timeFilter(event.timestamp)Play Starts
Definition
The total count of successful initial frame renderings of the requested media content.
Potential Insight
When compared directly to Play Attempts, this metric establishes the base success rate of your entire content delivery pipeline.
Required Data Points
playback_start (event)
Generalized Formula
Count of playback_start events
Example SQL Query
1SELECT2 COUNT(*) as play_starts3FROM datazoom.events4WHERE event.type = 'playback_start' AND $__timeFilter(event.timestamp)Startup Time
Definition
The total chronological time elapsed from the exact moment of the user's play request to the successful rendering of the first frame of video.
Potential Insight
Critical for initial engagement; high startup times directly and exponentially lead to high Exits Before Video Start (EBVS) rates.
Required Data Points
media_request(timestamp)playback_start(timestamp)startup_time_ms(metadata)
Generalized Formula
Average of Startup Time MS grouped by Session
Example SQL Query
1SELECT2 AVG(event.metrics.startup_time_ms) / 1000 AS avg_startup_time_seconds3FROM datazoom.events4WHERE event.type = 'playback_start' AND $__timeFilter(event.timestamp)Session-Level Playback Latency Breakdown
Definition
Measures total video startup latency divided into its constituent components: DNS resolution time, TCP connection time, TLS handshake time, and Time to First Byte (TTFB).
Potential Insight
Pinpoints the exact network layer or infrastructure component causing slow video startup times (e.g., DNS vs. Player rendering delay).
Required Data Points
dns_time_ms(metadata)tcp_time_ms(metadata)tls_time_ms(metadata)ttfb_ms(metadata)
Generalized Formula
Average values for each latency segment grouped by session or platform.
Example SQL Query
1SELECT2 AVG(event.metrics.dns_time_ms) as avg_dns,3 AVG(event.metrics.tcp_time_ms) as avg_tcp,4 AVG(event.metrics.tls_time_ms) as avg_tls,5 AVG(event.metrics.ttfb_ms) as avg_ttfb6FROM datazoom.events7WHERE $__timeFilter(event.timestamp)Video Restart Time
Definition
The latency or time it takes for video playback to successfully resume after a user scrubs/seeks to a new position, or after recovering from a stall.
Potential Insight
Helps tune ABR logic, player pre-caching behaviors, and edge chunk retrieval for seek operations, ensuring high engagement when viewers skip around timelines.
Required Data Points
seek_end(event)playback_resume(event)resume_time_ms(metadata)
Generalized Formula
Average time difference between seek_end and playback_resume
Example SQL Query
1SELECT2 AVG(event.metrics.resume_time_ms) AS avg_video_restart_time_ms3FROM datazoom.events4WHERE event.type = 'playback_resume' AND $__timeFilter(event.timestamp)Stall Ratio
Definition
Also known as Connection Induced Rebuffering Ratio (CIRR). The percentage of a viewer's total session time spent waiting for the video to buffer after successful initial playback has started.
Potential Insight
Another way to view Stall is to create a time-series metric that charts the average time viewers are in a stalled state. A high stall ratio guarantees poor viewer retention.
Required Data Points
stall_start(event)stall_end(event)playback_duration_ms(metadata)
Generalized Formula
sum(time_since_last_stall_start_ms from event.type=stall_end) / sum(max(playback_duration_ms for each unique content_session_id))
Example SQL Query
1SELECT2 (SUM(event.metrics.stall_duration_ms) /3 NULLIF(SUM(event.metrics.playback_duration_ms), 0)) * 100 AS stall_ratio4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Buffer Ratio
Definition
The proportion of total session time spent in a buffering or stalled state versus the time spent actively playing content.
Potential Insight
One of the most critical QoE metrics. High buffer ratios directly correlate with viewer churn and reduced watch time.
Required Data Points
buffer_duration_ms(metadata)playback_duration_ms(metadata)
Generalized Formula
(Total Buffer Duration / (Total Playback Duration + Total Buffer Duration)) * 100
Example SQL Query
1SELECT2 (SUM(event.metrics.buffer_duration_ms) /3 NULLIF(SUM(event.metrics.playback_duration_ms) + SUM(event.metrics.buffer_duration_ms), 0)) * 100 AS buffer_ratio4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Playback Stall Rate
Definition
The frequency of stalls occurring per unit of active playback time.
Potential Insight
Normalizes stall counts across varying lengths of content, allowing fair comparison of buffering issues between short-form clips and long-form movies.
Required Data Points
stall_count(metric)playback_duration_ms(metadata)
Generalized Formula
Total Stall Count / (Total Playback Duration in Minutes)
Example SQL Query
1SELECT2 (SUM(event.metrics.stall_count) /3 NULLIF(SUM(event.metrics.playback_duration_ms) / 60000, 0)) AS playback_stall_rate4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Average Playback Stalls
Definition
The average number of distinct stall (rebuffering) events experienced per viewing session.
Potential Insight
A direct indicator of the smoothness of the playback experience. High averages correlate strongly with user frustration and session abandonment.
Required Data Points
stall_start(event)content_session_id(metadata)
Generalized Formula
Total Stall Events / Count of Unique Sessions
Example SQL Query
1SELECT2 CAST(SUM(CASE WHEN event.type = 'stall_start' THEN 1 ELSE 0 END) AS double) /3 NULLIF(COUNT(DISTINCT user_details.content_session_id), 0) AS avg_stalls_per_session4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Video Buffering Time
Definition
The absolute total duration (in milliseconds or seconds) a user spent trapped in a buffering state throughout their entire session.
Potential Insight
Quantifies the exact amount of literal time wasted by users waiting for video to load, helping size the impact of CDN performance problems.
Required Data Points
buffer_duration_ms(metadata)content_session_id(metadata)
Generalized Formula
Sum of buffer_duration_ms grouped by content_session_id
Example SQL Query
1SELECT2 SUM(event.metrics.buffer_duration_ms) / 1000 AS total_buffering_time_seconds3FROM datazoom.events4WHERE $__timeFilter(event.timestamp)Stall Cause Attribution Metric
Definition
Categorizes stall events by their specific root cause, such as network congestion, CDN cache misses, or local device decoding bottlenecks.
Potential Insight
Focuses troubleshooting efforts by clearly distinguishing between client-side player issues, local network failures, and server-side distribution problems.
Required Data Points
stall_start(event)stall_reason(metadata)
Generalized Formula
Count of Stalls grouped by Stall Reason
Example SQL Query
1SELECT2 event.metrics.stall_reason,3 COUNT(*) as stall_count4FROM datazoom.events5WHERE event.type = 'stall_start' AND $__timeFilter(event.timestamp)6GROUP BY event.metrics.stall_reasonExits During Stall
Definition
The count of user abandonments that occur while the player is actively caught in a buffering or stalled state.
Potential Insight
Highlights the viewer's absolute tolerance limit for connection-induced rebuffering before they give up and leave the stream.
Required Data Points
stall_start(event)stall_end(event)session_end(event)
Generalized Formula
Count of session_end events where the player state is "buffering"
Example SQL Query
1SELECT2 COUNT(DISTINCT content_session_id) as stall_abandonments3FROM datazoom.events4WHERE event.type = 'session_end' AND player.state = 'buffering' AND $__timeFilter(event.timestamp)Video Error Rate
Definition
The percentage of play attempts that resulted in a fatal video error, completely halting playback.
Potential Insight
A core reliability metric reflecting player codebase stability, DRM negotiation success, and core infrastructure availability.
Required Data Points
error(event)media_request(event)
Generalized Formula
(Total Fatal Errors / Total Media Requests) * 100
Example SQL Query
1SELECT2 (CAST(SUM(CASE WHEN event.type = 'error' THEN 1 ELSE 0 END) AS double) /3 NULLIF(CAST(SUM(CASE WHEN event.type = 'media_request' THEN 1 ELSE 0 END) AS double), 0)) * 100 AS video_error_rate4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Video Interruption Count
Definition
The absolute number of times video playback was forcibly interrupted by an unexpected stall, buffer, or non-fatal error event.
Potential Insight
Tracks exactly how choppy the user experience is. High interruption counts, even if brief, disrupt immersion more than one long buffering event.
Required Data Points
stall_start(event)error(event)
Generalized Formula
Count of (stall_start + non-fatal error) events
Example SQL Query
1SELECT2 COUNT(CASE WHEN event.type IN ('stall_start', 'error') THEN 1 END) AS total_interruptions3FROM datazoom.events4WHERE $__timeFilter(event.timestamp)Video Interruption Ratio
Definition
The percentage of total unique viewing sessions that experienced at least one interruption (stall or error) during playback.
Potential Insight
Measures the breadth of technical issues across the audience. A high ratio means widespread impact; a low ratio with high absolute counts means severe issues for a tiny minority of users.
Required Data Points
content_session_id(metadata)stall_start(event)error(event)
Generalized Formula
(Sessions with >= 1 Interruption / Total Sessions) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN event.type IN ('stall_start', 'error') THEN user_details.content_session_id END) /3 NULLIF(COUNT(DISTINCT user_details.content_session_id), 0)) * 100 AS video_interruption_ratio4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)Exits After Error
Definition
The count of viewer sessions where the user immediately closes the player, navigates away, or terminates the app directly following a video error event.
Potential Insight
Quantifies the direct churn impact of specific player errors, allowing engineering teams to prioritize bug fixes based on viewer abandonment rates.
Required Data Points
error(event)session_end(event)
Generalized Formula
Count of sessions where session_end occurs within X seconds of an error
Example SQL Query
1SELECT2 COUNT(DISTINCT content_session_id) as fatal_exits3FROM user_sessions4WHERE last_event_type = 'error'End-to-End Session Resilience
Definition
The percentage of sessions that experience adverse network conditions or non-fatal player errors but successfully recover and continue playback without user abandonment.
Potential Insight
Evaluates the robustness of the video player's error recovery, fallback logic, and retry mechanisms.
Required Data Points
error(event - non-fatal)playback_resume(event)session_end(event)
Generalized Formula
(Sessions with Recovered Errors / Total Sessions with Errors) * 100
Example SQL Query
1SELECT2 (COUNT(DISTINCT CASE WHEN has_error = 1 AND has_resume = 1 THEN content_session_id END) /3 NULLIF(COUNT(DISTINCT CASE WHEN has_error = 1 THEN content_session_id END), 0)) * 100 AS resilience_score4FROM aggregated_session_metricsVideo Bitrate
Definition
The average volume of video data (bits per second) successfully delivered to the client during playback.
Potential Insight
Indicates the visual fidelity and quality of the video being delivered. Tracking this helps balance CDN bandwidth costs against visual viewer satisfaction.
Required Data Points
video_bitrate (metadata)
Generalized Formula
Average of video_bitrate across sessions
Example SQL Query
1SELECT2 AVG(event.metrics.video_bitrate) / 1000000 AS avg_video_bitrate_mbps3FROM datazoom.events4WHERE event.type IN ('playback_start', 'rendition_change') AND $__timeFilter(event.timestamp)Average Frame Rate
Definition
The average number of video frames per second (fps) successfully rendered by the client video player.
Potential Insight
Consistently low frame rates point to client-side device performance issues, heavy CPU/GPU decoding requirements, or poor rendition encoding, resulting in choppy playback independent of network speed.
Required Data Points
fps(metadata)dropped_frames(metadata)
Generalized Formula
Average (FPS) per session
Example SQL Query
1SELECT2 AVG(event.metrics.fps) AS average_frame_rate3FROM datazoom.events4WHERE event.type = 'playback_metrics' AND $__timeFilter(event.timestamp)Adaptive Bitrate (ABR) Drift Analysis
Definition
Measures the frequency and magnitude of shifts between different bitrate renditions during a playback session.
Potential Insight
Excessive shifting indicates unstable network conditions, misconfigured player configurations, or poorly tuned ABR algorithms, leading to a jarring visual experience for the user.
Required Data Points
rendition_change(event)video_bitrate(metadata)content_session_id(metadata)
Generalized Formula
Count of Rendition Change events per Session or per Minute of Playback
Example SQL Query
1SELECT2 AVG(rendition_changes) AS avg_abr_shifts_per_session3FROM (4 SELECT5 user_details.content_session_id,6 COUNT(*) as rendition_changes7 FROM datazoom.events8 WHERE event.type = 'rendition_change' AND $__timeFilter(event.timestamp)9 GROUP BY user_details.content_session_id10)Bitrate Selection Efficiency
Definition
The ratio of the average delivered video bitrate to the client's available network bandwidth estimate.
Potential Insight
Determines if the video player is efficiently utilizing available bandwidth. A very low ratio indicates the player is being too conservative (low quality on a fast connection), while a ratio near 1.0 indicates optimal utilization.
Required Data Points
video_bitrate(metadata)bandwidth_estimate(metadata)
Generalized Formula
Average (Video Bitrate / Bandwidth Estimate) * 100
Example SQL Query
1SELECT2 AVG(event.metrics.video_bitrate / NULLIF(event.metrics.bandwidth_estimate, 0)) * 100 AS bitrate_efficiency_score3FROM datazoom.events4WHERE event.type = 'playback_metrics' AND $__timeFilter(event.timestamp)Content Delivery Consistency Score
Definition
A composite index tracking the variance in standard QoE metrics (startup time, buffer ratio, and bitrate) across different CDNs or delivery paths.
Potential Insight
Identifies edge caching issues, geographic delivery routing failures, or CDN degradation before widespread user complaints occur.
Required Data Points
cdn_name(metadata)startup_time_ms(metadata)stall_duration_ms(metadata)
Generalized Formula
Weighted average calculation comparing performance metrics grouped by CDN.
Example SQL Query
1SELECT2 cdn_name,3 AVG(event.metrics.startup_time_ms) as avg_startup,4 SUM(event.metrics.stall_duration_ms) / NULLIF(SUM(event.metrics.playback_duration_ms), 0) as stall_ratio5FROM datazoom.events6WHERE $__timeFilter(event.timestamp)7GROUP BY cdn_nameDynamic Network Congestion Monitoring
Definition
Measures localized drops in throughput or increases in latency correlated with specific Autonomous System Numbers (ASNs) or Internet Service Providers (ISPs) during peak traffic.
Potential Insight
Enables operations teams to initiate proactive CDN switching or traffic shaping to bypass congested network routes and peerings.
Required Data Points
asn(metadata)isp(metadata)throughput(metadata)
Generalized Formula
Average Throughput grouped by ISP / ASN over time intervals
Example SQL Query
1SELECT2 user_details.isp,3 AVG(event.metrics.throughput) as avg_throughput_mbps4FROM datazoom.events5WHERE $__timeFilter(event.timestamp)6GROUP BY user_details.isp7ORDER BY avg_throughput_mbps ASCPer-Region QoE Disparity Index
Definition
The calculated variance in overall Quality of Experience metrics (like Startup Time and Stall Ratio) between different geographic regions.
Potential Insight
Highlights underserved geographical areas requiring better CDN coverage, local edge nodes, or optimized routing tables.
Required Data Points
country/region(metadata)startup_time_ms(metadata)stall_ratio(metric)
Generalized Formula
Standard deviation of average QoE scores across regions.
Example SQL Query
1SELECT2 user_details.country,3 AVG(event.metrics.startup_time_ms) AS regional_startup,4 AVG(event.metrics.stall_duration_ms / NULLIF(event.metrics.playback_duration_ms, 0)) AS regional_stall_ratio5FROM datazoom.events6WHERE $__timeFilter(event.timestamp)7GROUP BY user_details.countryQoE-to-QoS Correlation Index
Definition
Measures the statistical relationship between underlying Quality of Service (QoS) metrics (network throughput, latency) and viewer Quality of Experience (QoE) (stalls, video quality).
Potential Insight
Helps engineering teams understand precisely how infrastructure performance constraints directly impact viewer satisfaction and behavior.
Required Data Points
throughput(metadata)stall_duration_ms(metadata)video_bitrate(metadata)
Generalized Formula
Correlation Coefficient (r) between throughput variance and stall ratio variance.
Example SQL Query
1SELECT2 CORR(event.metrics.throughput, event.metrics.stall_duration_ms) AS throughput_stall_correlation3FROM datazoom.events4WHERE $__timeFilter(event.timestamp)