Groupings¶
Groupings are datapoints which can be used to group the rest of the returned data. Conceptually groupings can be thought of as a row in a data table.
If no grouping is provided, the returned data are aggregated into a single value for each data point.
Note that selected groupings must be compatible with the data points selected.
Example¶
In the example below we are displaying data for 2 datapoints without any grouping: playback.sessions.total/cnt
and users.active/cnt
.
playback.sessions.total/cnt | users.active/cnt |
---|---|
52362 | 9760 |
In the example below we are now adding the content.asset.id
grouping in order to get that total number of sessions and active users for each asset.
content.asset.id | playback.sessions.total/cnt | users.active/cnt |
---|---|---|
asset ID 1 | 19890 | 7768 |
asset ID 2 | 17238 | 4589 |
asset ID 3 | 15234 | 8234 |
Special groupings¶
It is possible to group numerical data into buckets or predefined values. For a bucket grouping provide datapoints and the values for the bucket. Special groupings cannot be used together with other groupings.
"grouping": [
{
"type": "bucket",
"datapoint": "playback.bitrate.max/max",
"buckets" : [
{"to": 1000},
{"from": 1000, "to": 2000},
{"from": 2000, "to": 4500},
{"from": 4500}
]
}
]
Available groupings¶
All available groupings can also be found at /v1/aspects
in the Analytics API.
In the tables below are specified what groupings are compatible with what datapoints. Groupings and datapoints can only be used together when they are compatible.
Audience¶
Possible data points for this grouping include playback.*, users.active
Name | Description | Remarks |
---|---|---|
audience.country.name | Name of the country where playback was registered | ISO 3166-1 country name |
audience.city.name | Name of the city where playback was registered | |
audience.device.player_model | Model of the device where the player is running | |
audience.device.type | Type of the device where playback is running | |
audience.device.os_family | Identifier string for the operating system where the playback is performed | |
audience.device.app_type | Type of app used for playback | Reported by the player. Possible values ios/tvos/android/android_tv/samsung_tv/lg_tv/browser |
Content¶
Name | Description | Remarks | Datapoints |
---|---|---|---|
content.asset.id | String uniquely identifying the content in our system | playback.*, users.active, kpi.channel_* | |
content.asset.media_type | Media type for the asset | For example VOD, Live, Catchup | playback.*, users.active |
content.channel.id | String uniquely identifying the channel in our system | playback.*, users.active, kpi.channel_* | |
content.ingest.ingest_flow | Ingest flow | Describes the transcoding flow (such as Standard, Update, External, Live2VOD and VOD2VOD) | content.* |
content.ingest.profile | Ingest profile | content.*, live_events.* |
User¶
Possible data points for this grouping include playback.*, users.active
Name | Description | Remarks |
---|---|---|
user.meta.id | String uniquely identifying the user in our system | |
user.meta.account_id | String uniquely identifying the account in our system |
Sale¶
Possible data points for this grouping include sale.*
Name | Description | Remarks |
---|---|---|
sale.transaction.currency | Currency types used for a transaction | |
sale.transaction.type | Transaction types used for a transaction |
Viewing¶
Name | Unit | Description | Remarks | Datapoints |
---|---|---|---|---|
viewing.meta.anonymous | Slicing if the session was played anonymously | playback.* | ||
viewing.meta.started | Slicing if the session was started | playback.* | ||
viewing.meta.vpn_detection | VPN Deteciton Required | playback.* | ||
viewing.time.day_of_the_week | The day of the week as a slicing unit | content.*, playback.*, sales.*, subscriptions.*, users.active, metrics.* | ||
viewing.time.hour_of_the_day | The hour of the day as a slicing unit | content.*, playback.*, sales.*, subscriptions.*, users.active, metrics.* | ||
viewing.time.unit | year, month, week, day, hour | Slicing unit for the data | Unit and timezones are specified using pipe ( | ). Example: viewing.time.unit|day+02:00 | content.*, playback.*, sales.*, subscriptions.*, users.active, metrics.*, kpi.*, live_events.* |