- 03 Sep 2024
- 6 Minutes to read
- DarkLight
- PDF
Analytics overview
- Updated on 03 Sep 2024
- 6 Minutes to read
- DarkLight
- PDF
Audio analytics reports on the approximate number of unique users listening to podcast or stream content over one or more listening sessions in any reporting period.
Analytics data is generated by processing server access logs, and is made available to end-users as a responsive web portal on modern desktop, tablet or mobile browsers. It allows reporting of user and session data based other different dimensions:
- Behaviour. Exposes listening patterns related to when and how much audio was consumed.
- Geography. Geographic access patterns.
- Technology. Technology used to consume audio content.
This pages covers the measurements used by our analytics. See this Analytics user interface article for details on using the web analytics.
Audio metrics
Metrics - a set of numbers that give information about a particular process or activity.
These are the primary metrics used when measuring audio content consumption.
Metric | Name | Description |
---|---|---|
Users | Unique users | Approximated unique users seen in the reporting period. A "user" is calculated using the IAB Podcast standard of combining the IP and User-Agent . For radio streaming, where a unique listener id has been assigned by the server and is available in the log data it may be used to improve accuracy. |
AS | Active sessions | Approximated number of unique listening sessions that was active in the reporting period. A unique "session" is calculated by combining the Users identifier with the content being accessed. Sessions are subject to expiry and exhaustion rules which determine how long they live and when they "restart". |
SS | Sessions starts | Number of sessions started. While active sessions AS takes into account sessions that was already active when the reporting period started, SS filters this further to include only sessions that started within the reporting period. |
TLH | Total listening hours | Number of audio hours consumed across all sessions. For example, 10 streaming sessions of 6 minutes each will be reported as 1 total listening hour. |
Bytes | Bytes sent | Bandwidth used to deliver audio content to end users. Includes only the encoded audio data, excludes TCP and other network overheads. |
ATSL | Average time spent listening | The average duration that listeners consume audio content. Calculated by dividing the total listen hours (TLH ) by the number of active sessions (AS ) |
AAS | Average active sessions (per hour) | Calculated by dividing total listen hours (TLH ) by the number of hours in the reporting period. |
LTR | Listen through rate | Podcast only. Represents the number of sessions that was listened to completion. Based on the amount of podcast episode data that was downloaded. |
"Qualified" sessions
The user interface filters content to show only data from "Qualified" sessions. These sessions are:
- At least 1 minute in length,
- Less than 1 minute in length, but the audio was also less than 1 minute in length (podcasts),
- Less than 24 hours in duration (streams),
- Did not come from an application that was recognised as a bot or non-human traffic.
The aim is to represent only the real human listening audience as much as possible.
Session expiry
Sessions "expire" after a period of inactivity. When a user listens to the same content again after the expiry time, it is considered a new session.
- Streams. For live streams, sessions expire when 20 minutes has elapsed since the last request. Some online services uses 30 minutes as the expiry time while others may use times as short as 5 minutes.
“A sequence of Internet activity made by one user at one site. If a user makes no request from a site during a 30 minute period of time, the next content or ad request would then constitute the beginning of a new visit; “
- Podcasts. For podcasts, sessions expire after 24 hours have elapsed since the first request, as per the IAB Podcast Measurement Technical Guidelines. Repeat listens by the same IAB user within the 24 hours will be ignored.
Session exhaustion
Sessions are considered "exhausted" once they've reached a maximum value and are no longer tracked after that.
- Stream sessions reach exhaustion after 24 hours of listening time.
- Podcast sessions are exhausted when they've reached the full episode duration. One session can never be more than the total duration of the episode.
Difference between users and sessions
When browsing analytics data, there are typically more active sessions than number of unique users in any period, due to:
- For streams, sessions expire after 30 minutes of inactivity, so a user resuming a stream can result in more than one active session for that user in any hour period.
- For podcasts, sessions only expiry after 24 hours, but podcast apps might download multiple episodes from the feed at the same time, especially when new users subscribe and their app downloads any back-catalog content, this counts as multiple sessions for the same user.
Geographic data
Geographic location is inferred from the listener's IP address using a commercial third-party database. It performs well to establish broad audience location, but can misidentify locations of listeners using a VPN or other proxy masking their real IP address.
Accuracy at the country level is typically very high, with regional accuracy somewhat less and city location the lowest.
For both privacy and performance reasons, exact user geo-location is not represented in reports. Instead all access is bucketed into ±250 square kilometer regions (±156 square miles).
Geographic location by IP lookup is an approximation only and not similar in accuracy to GPS data.
Technology data
Most applications accessing audio content include a User Agent
header identifier in the request, which is used to identify the device, platform and application making the request.
Example of a Samsung Galaxy S22 Android browser user agent string:
Mozilla/5.0 (Linux; Android 12; SM-S906N Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36
There is no defined standard for what this string should contain. Our analytics platform combines custom rules, open-source and commercial libraries to best attempt identification of all requests. These are continually updated to cater for changes and new applications.
Audio broadcasters with custom mobile applications can contact us to provide their User Agent
strings for inclusion.
Data processing limitations
Creating analytics from access logs is robust and reliable, but has some implications on how metrics can be calculated.
- No persistent user tracking. In web browsers, cookies can be used to track a unique user over time, but this is not possible via access logs. Combining the only two fields that will always be available in access logs (
IP
andUser-Agent
) is used to approximate unique users. This means the same user listening for example on a mobile phone and desktop, even from the same location, may be tracked as multiple users. Inversely, several users behind the same IP address may be registered as a single listener. - Podcast "Listen through rate" is based on file access. Podcast files are mostly downloaded in their entirety by listener apps, or in large chunks when listening in the browser. This skews the listen through rate strongly towards completed listens.
- Historic data availability delay. Access logs are available only after a session has ended, implying a delay of up to several hours for session data to become fully visible. In addition, new data may be refreshed only once per hour. Data for the most recent 24 hours will never be fully up to to date.
- Approximate aggregation. To enable a self-service analytics dashboard that regularly reports over millions or even billions of data points, HyperLogLog approximation functions are utilised to get the number of
Users
andActive Sessions
. This introduces a small margin of error, typically around 0.5%, but guarantees fast results. This type of approximation is widely used by analytics products to enable real-time dashboards.
IAB Podcast measurement compatibility
Every effort has been made to be fully compatible with the latest IAB Podcast Measurement Technical Guidelines, but this analytics product is not officially IAB certified.
For our radio streaming and advertising analytics we also use the same user approximation as recommend by the IAB podcast standard.
General notice
During processing, storage and querying of analytics data, all care is taken to ensure as much accuracy as possible, but access log analysis and the methods to extract users, session and other metrics from them will always include an unknown margin of error which we cannot measure or prevent.