Metodologia

Como o Castnews Index coleta, processa e apresenta os dados sobre podcasts brasileiros.

O que é o Castnews Index

O Castnews Index é um índice público de podcasts brasileiros. Seu objetivo é mapear o ecossistema de podcasting no Brasil com dados quantitativos atualizados mensalmente, permitindo análises de tendências, crescimento e distribuição do mercado.

Não se trata de um ranking de audiência. O índice mede a existência e atividade dos podcasts, não sua popularidade ou número de ouvintes.

Fonte de dados

Os dados primários vêm do Podcast Index, um índice aberto e gratuito de podcasts baseado em feeds RSS. O Podcast Index cataloga mais de 4 milhões de podcasts mundialmente.

Dados globais comparativos são obtidos do Listen Notes, citado como fonte em todos os gráficos que utilizam esses dados.

Critérios de inclusão

O que entra no índice

  • Podcasts com idioma declarado como português (pt, pt-br, pt-BR e variações)
  • O filtro é feito pelo campo language do feed RSS
  • Todos os tipos de podcast são incluídos: episódicos e seriais

Limitações conhecidas

  • Podcasts de Portugal e outros países lusófonos que declaram idioma pt (sem sufixo de país) são incluídos. Não há separação automática por país de origem
  • Podcasts brasileiros que declaram idioma incorreto (ex: en) não são capturados
  • Alguns podcasts não possuem episódios — são feeds vazios ou com URL inacessível

Exclusão de podcasts de Portugal e outros países lusófonos

O Podcast Index não diferencia entre português do Brasil e português europeu de forma confiável. A grande maioria dos feeds usa o código de idioma genérico pt, sem sufixo de país. Nenhum feed no índice usa pt-PT.

Para identificar e excluir podcasts não-brasileiros, aplicamos uma detecção automática baseada em dois sinais combinados, analisados nas descrições dos 10 episódios mais recentes:

  • Vocabulário exclusivo pt-PT — termos que um brasileiro nunca usa: telemóvel, autocarro, comboio, pequeno-almoço, chávena, rebuçado, autoclismo, frigorífico, ecrã
  • Padrão gramatical— a construção “estar a + infinitivo” (ex: “está a fazer”, “estamos a ouvir”), exclusiva do português europeu. No Brasil, usa-se o gerúndio (“está fazendo”)

Regra: se 6 ou mais dos 10 episódios mais recentes contiverem pelo menos um desses sinais, o podcast recebe a marcação country_hint = pt e é excluído dos gráficos e estatísticas brasileiras. Os dados permanecem no banco para referência.

Essa abordagem foi validada empiricamente e apresenta alta precisão, com taxa de falsos positivos próxima de zero. A detecção é executada automaticamente a cada atualização mensal do índice.

Glossário de termos

Podcast ativo
Podcast que publicou pelo menos 1 episódio nos últimos 90 dias e não está marcado como morto. O cálculo é feito com base na data de publicação do episódio mais recente.
Podcast inativo
Podcast que não publicou episódios nos últimos 90 dias ou está marcado como morto pelo Podcast Index.
Podcast morto (dead)
Feed RSS que retorna erro persistente (404, timeout, domínio expirado). Marcação feita pelo Podcast Index após várias tentativas de acesso sem sucesso.
Novos podcasts
Podcasts cuja primeira data de publicação cai dentro do mês de referência. Baseado no campo first_pub_date calculado a partir do episódio mais antigo.
Novos episódios
Total de episódios publicados no mês de referência, considerando a data de publicação declarada no feed RSS.
Episódico vs Serial
Classificação definida pelo campo itunes:type do feed RSS. Podcasts episódicos podem ser ouvidos em qualquer ordem; seriais possuem ordem sequencial.
Hosting provider
Domínio do servidor que hospeda os arquivos de áudio (MP3) dos episódios. Detectado automaticamente a partir da URL do enclosure no feed RSS.
Duração média
Média aritmética da duração dos episódios de um podcast, em segundos. Baseado no campo duration do feed RSS. Episódios sem duração declarada são excluídos do cálculo.

Pipeline de dados

O processamento segue 5 fases executadas mensalmente:

  1. Download — Baixa o dump completo do Podcast Index (banco SQLite com todos os feeds mundiais)
  2. Import — Filtra e importa para PostgreSQL apenas os feeds com idioma português
  3. Fetch de episódios — Para cada podcast, busca a lista completa de episódios via API do Podcast Index. Feeds que não respondem são buscados diretamente pelo URL do RSS
  4. Enriquecimento — Detecta o hosting provider a partir da URL dos arquivos de áudio. Enriquece metadados com informações do Apple Podcasts (iTunes)
  5. Agregação — Calcula campos derivados (duração média, datas, status ativo/inativo) e gera snapshots mensais, estatísticas por categoria e por hosting

Snapshots mensais

Cada snapshot mensal registra o estado do ecossistema naquele mês. Os valores são calculados via SQL sobre a base completa de podcasts e episódios:

  • total_podcasts — podcasts com primeira publicação até o fim do mês
  • new_podcasts — podcasts cuja primeira publicação foi naquele mês
  • new_episodes — episódios publicados naquele mês
  • active_podcasts — podcasts ativos (publicaram nos últimos 90 dias, relativo à data atual)
  • inactive_podcasts — podcasts inativos (não publicaram nos últimos 90 dias)
  • episodic_count / serial_count — contagem por tipo de podcast
  • avg_duration_s — duração média dos episódios do mês, em segundos

Dados globais

Os gráficos comparativos com dados globais utilizam estatísticas do Listen Notes. Esses dados são coletados via scraping e armazenados no banco de dados para comparação com os números brasileiros.

Datasets globais disponíveis: novos podcasts por ano/mês, novos episódios por ano, podcasts por país, por idioma, por gênero, por hosting, podcasts inativos, e podcasts falsos (IA) removidos.

Atualização

Os dados são atualizados mensalmente. A data do último snapshot é exibida na página principal.

Código aberto

O Castnews Index é um projeto de código aberto mantido pela equipe do Castnews. Contribuições, correções e sugestões são bem-vindas.