Origem do consumo
As métricas são obtidas de diferentes plataformas, que se comportam e informam de maneiras diferentes:
Players Full, aqueles que estão completamente implementados ou de mediastream, estes informam os eventos do usuário, tais como play, pause, seek, playing, content_end, entre outros.
Player Externo Audio, os quais informam a solicitação do conteúdo e obtêm deles os dados transferidos e o consumo através dos logs, como iTunes, TuneIn, etc.
Player Externo Video, os quais apenas informam a solicitação do conteúdo, como Chromecast, Roku. (não é possível obter informações sobre o consumo)
Player Externo con caché, algumas plataformas como Spotify geram o download do conteúdo previamente e o consumo é feito a partir de seus servidores, o que não permite obter uma métrica real do consumo por usuário, apenas se obtém a métrica de quando a plataforma realizou o download para seu armazenamento. Estão sendo revisados outros aplicativos com comportamentos semelhantes, como o Google Podcast.
Start:
Corresponde a uma solicitação de conteúdo.
Players Full, são contabilizados aqueles registros onde o usuário realizou efetivamente uma ação sobre o player (play ou autoplay), excluem-se bots.
Players Externos Audio, são contabilizadas todas as solicitações e validadas contra os logs.
Players Externos Video, são obtidas as solicitações de conteúdo, mas não é possível obter o consumo do usuário.
Download, os downloads não são contabilizados como um start.
Audio Logs:
*Excluem-se os bots.
*Excluem-se solicitações de validação das plataformas. (registros inferiores a 70000 bytes)
*Excluem-se solicitações com status 40X e HEAD.
*Os bots possuem um user agent, que são reconhecidos como bots; esses registros são os que são filtrados.
Stream:
Corresponde a um Start com alguns segundos de reprodução posterior.
Player Full, considera-se um start como válido após 5 segundos de reprodução
Player Externos Audio, considera-se um start como válido após 25 segundos de reprodução.
Player Externos Video, não é possível identificar um start como stream, pois não é possível obter informações sobre o conteúdo.
Download, os downloads não são considerados como um stream.
Time:
Corresponde ao tempo consumido.
Player Full, é a soma dos tempos informados em todos os eventos playing..
Player Externos Audio, é a soma dos tempos calculados a partir dos dados transferidos, informação que é obtida a partir dos logs.
Player Externos Video, não é possível obter o consumo.
Download, não são considerados nos tempos de consumo.
Download:
Corresponde a um download ou assinatura de uma lista ou conteúdo. (Apenas conteúdo de áudio sob demanda)
Aplicaciones Mediastream, considera-se como um download aqueles registros marcados com o evento “file_downloaded”.
Player Externos Audio, considera-se um download quando o conteúdo solicitado informa um 200 nos servidores.
Player Externo Video, nunca é considerado como um download.
Audio Logs:
*Excluem-se os bots
*Excluem-se as solicitações de validação. (registros inferiores a 70000 bytes)
*Excluem-se as solicitações HEAD e status diferentes de 200.
Device:
Corresponde a um dispositivo único,
Utiliza-se o padrão fornecido pela IAB, onde um dispositivo é o conjunto do user_agent + IP do usuário que realizou o consumo.
Consideram-se tanto os Starts quanto os Downloads no cálculo de dispositivos.
Os usuários que se registram ao acessar as OTT usarão o cookie do dispositivo com identificador.
Start/Download ventana de tiempo:
Os conceitos de start e download possuem uma janela de tempo de 24 horas, o que significa que, após esse tempo, se o mesmo identificador de reprodução (playback_id) for consumido novamente, será contabilizado novamente
Informação obtida a partir dos consumos: (Players Implementados)
Eventos Registrados:
session_start: É gerado quando a sessão do dispositivo é iniciada, caso não haja uma ativa no momento. Isso pode ser gerado pelo balancer ou por outra entidade de Mediastream que responda a conteúdo HTTP sobre mdstrm.com.
player_loaded: É gerado quando o player (web ou SDK) termina de carregar todos os seus elementos para o funcionamento correto em uma propriedade (página web, app, outro).
playback_start: É gerado quando o download de um conteúdo é iniciado e é associado um ID único que identificará todo o restante da reprodução desse conteúdo específico.
Content_end: É gerado quando o player chega ao final do conteúdo. Devem ser enviados os eventos gerados até este momento.
Playing: É gerado quando o player está reproduzindo o conteúdo.
Play: É gerado quando 1) o usuário clica em play 2) o player faz autoplay 3) o método de play é utilizado através da API.
Pause: É gerado quando a reprodução é interrompida. Devem ser enviados os eventos gerados até este momento.
Buffering: É gerado quando o player que está reproduzindo o conteúdo está no processo de buffering.
Seek: É gerado quando o player, seja por ação do usuário ou por ação programática (API), avança ou retrocede o conteúdo.
File_downloaded: É informado quando o usuário solicita o download do asset completo (mp4, m4a, etc).
Unificação de registros
Para evitar a duplicidade de solicitações de conteúdo, o Stream-Metrics utiliza um algoritmo de unificação que permite distinguir os consumos de um mesmo usuário, agrupando-os de acordo com critérios como conteúdo, user agent, IP e outros fatores, como a janela de tempo, para gerar um start ou download único.
Utilização de logs de CDN - Áudio:
Os logs permitem validar e obter informações das fontes externas, como os dados transferidos e o estado da solicitação,
Data Transferida: É utilizado para obter o tempo de consumo.
Status: É utilizado para determinar se uma solicitação corresponde a um Start ou a um Download.
Ondemand: Status 206, HLS Status 200
Live y Dar: Status 200
Identificação de origens:
O Stream-Metrics utiliza o conceito de “Property”, que pode ser atribuído em cada implementação, com o objetivo de identificar onde o conteúdo é consumido.
Qualquer plataforma que não informe este atributo será identificada como Others. Os players da Mediastream, por padrão, são identificados como “Mediastream-player” (áudio e vídeo são distinguidos separadamente). Nos players web, o property-name pode ser configurado diretamente na plataforma na seção de Players.
Critérios CDN:
Conceitos:
Traffic: Corresponde aos dados transferidos totais.
Hits: Corresponde aos requests que encontraram o conteúdo em cache.
Misses: Corresponde aos requests que não encontraram o conteúdo em cache.
Hit Ratio: Relação entre os requests que tiveram hit e o total de requests.
Request: Todos os requests que solicitam conteúdo, independentemente de seu estado.
Error: Todos os requests que responderam com 5xx.
Global pop Traffic: Tráfego (GB) por pontos de presença.
Cache Status: Gráfico que exibe os estados do cache do edge vs o tempo.
Response Status: Gráfico que exibe as respostas dos requests, agrupadas por 2xx, 3xx, 4xx e 5xx.
Códigos de estado de resposta HTTP:
Respostas informativas (100–199),
Respostas satisfatórias (200–299),
Redireções (300–399),
Erros dos clientes (400–499),
e erros dos servidores (500–599).
Filtros:
Data.
Filtro por zona de distribuição.
Exemplos (Áudio):
Plataformas completamente implementadas:
Contabilização:
Plataformas externas (Áudio):
Contabilização::
Considerações sobre casos de players externos:
Algumas plataformas de terceiros fazem o download do conteúdo antes de consumi-lo, marcando-os como um download e não como um start.
Os tempos contabilizados são obtidos a partir dos dados transferidos informados pelos servidores; esse valor geralmente é maior que o consumo real, já que as plataformas solicitam os conteúdos antecipadamente, que o usuário pode ou não consumir.
Glossário:
Content id: Identificador do conteúdo.
Referrer: Domínio de onde o consumo está sendo realizado. (somente web)
User agent: Identificador que corresponde ao conjunto do dispositivo, versão do dispositivo, navegador e sua versão ou aplicativo que o usuário está utilizando no momento do consumo.
Playback: Uma solicitação de consumo gerada por um usuário para um conteúdo em um momento determinado. Esta solicitação é identificada pelo atributo playback_id, que é único durante toda a reprodução. Esse identificador pode mudar se o usuário fechar o player ou atualizar o site onde o player está.
DAR: Tipo de conteúdo que corresponde à gravação de um live, permitindo avançar ou retroceder na sua linha do tempo.
Live/Ondemand: Tipos de conteúdos.
Category: Sistema de categorização de conteúdo.
Property: Identificador do player.
Referrer: Domínio onde foi realizado o consumo.
Retention: Seções do conteúdo visualizadas.
Engagement: Das seções do conteúdo visualizadas, este gráfico representa as mais vistas.
Distributor: Entidade configurada na plataforma como distribuidor do conteúdo. Ao filtrar por este campo, serão exibidos todos os registros consumidos a partir das plataformas do distribuidor selecionado.
Producer: Entidade configurada na plataforma como gerador do conteúdo.
Show: Estrutura de conteúdo que representa um programa, com temporadas, episódios, produtor e emissor associados.
Pre-Load: Carregamento inicial realizado antes que o usuário solicite o conteúdo
Padrões IAB Áudio Podcast:
Não pré-carregar: a menos que a intenção seja claramente reproduzir o podcast.
Utilizar tags ID3v2: para que os cabeçalhos estejam localizados no início do podcast (e não no final). Isso permite que os reprodutores usem os dados ID3 antes do tempo de transmissão sem precisar baixar o arquivo completo do podcast.
Tamanho das tags ID3: recomenda-se que o tamanho das tags ID3 seja limitado a 300 kb, com um máximo de 800x800 px para a arte.
Autoplay: não é recomendado o uso de autoplay.
Solicitação de arquivo: Para um download completo, recomendamos solicitar o arquivo completo de uma só vez. Para um download progressivo, sugerimos pedir o arquivo em fragmentos (intervalo de bytes). Dessa forma, você poderá distinguir um download completo de um download progressivo.
Não modifique a URL do arquivo ao solicitar mídias: aconselhamos que não adicione parâmetros adicionais.
Não armazene em cache os episódios de podcast em seus servidores: é sempre recomendável baixar o episódio mais recente da URL do arquivo para cada usuário da aplicação que deseja ouvir.
Utilize o GUID: em vez da URL do episódio, título, data de publicação, etc., para identificar novos episódios na fonte RSS que devem ser baixados automaticamente para o dispositivo do usuário. O GUID é projetado para ser persistente através de mudanças no ambiente de hospedagem, títulos, etc.
Empregue um comportamento de "cancelamento automático de downloads": (por exemplo, pare os downloads automáticos após 5 episódios não ouvidos).
Não baixe automaticamente todos os episódios (por exemplo, episódios do catálogo anterior) por padrão: isso cria uma carga desnecessária nos servidores dos editores e consome a largura de banda dos usuários. É recomendável evitar essa prática.
Os players e SDKs da Mediastream já estão em conformidade com esses padrões.
Se você tiver alguma dúvida adicional, não se esqueça de entrar em contato conosco através do chat.
Att: A equipe da Mediastream