Os ônibus de São Paulo circularam normalmente no domingo da eleição?
Medimos pelo GPS quantos ônibus e linhas estavam rodando no domingo da eleição e comparamos com o que a Justiça exigiu: 100% da frota, com programação de dia útil.
Carregando…Carregando…
Ônibus ao longo do dia
Ônibus ao mesmo tempo, em cada janela de 10 minutos medida. A faixa cinza marca a votação, 8h às 17h.
Ver como tabela
O que foi dito e o que foi medido
Tudo o que a imprensa e as autoridades disseram, lado a lado com o que conseguimos verificar. Nada aqui foi conferido na fonte primária.
Quais linhas
O GTFS oficial da SPTrans diz quais linhas deveriam operar em dia útil. Aqui cruzamos isso com o que o GPS mostrou hoje.
Linhas de dia útil sem ônibus em movimento hoje
Ver lista de linhas
Metodologia: como chegamos a estes números
Em cinco passos, do dado bruto à conclusão.
- Coletamos a posição dos ônibus. A cada 2 minutos o servidor consulta a API oficial Olho Vivo, da SPTrans, que informa a posição atual de cada ônibus com GPS ativo. Guardamos cada resposta original, sem alteração, com um hash SHA-256 encadeado ao registro anterior. Alterar uma coleta antiga quebra a cadeia, e o manifesto permite conferir isso. Os arquivos brutos ficam guardados no servidor e podem ser entregues para auditoria.
- Definimos o que contar.
- Operando: ônibus ligados a uma linha, com posição atualizada nos últimos 3 minutos, vistos ao mesmo tempo. É uma foto simultânea, não o total que rodou no dia. Inclui ônibus parados em ponto final (conferido: cerca de 35% ficam parados entre duas coletas, e 90% dos que não saem do lugar em 22 minutos estão a menos de 300 m de um terminal) e exclui garagem e ônibus sem GPS.
- Em movimento: ônibus operando que se deslocaram ao menos 50 m desde a coleta anterior.
- Linha ativa: um letreiro de linha (por exemplo 8000-10) com ao menos um ônibus em movimento em uma janela de 10 minutos.
- Medimos quais linhas rodaram. Do GTFS oficial da SPTrans (baixado todo dia e guardado) tiramos as linhas programadas para dia útil (1.325) e para domingo (1.025). Cerca de 300 linhas existem em dia útil e não no domingo. Se a ordem fosse cumprida, essas linhas deveriam estar rodando hoje. Contamos quantas tiveram ônibus em movimento entre 8h e 17h e fazemos a mesma conta para as linhas de domingo, que rodariam de qualquer jeito. A diferença entre os dois percentuais é o sinal. O percentual sobe com mais horas medidas, porque uma linha de intervalo longo pode não aparecer numa janela curta, e hoje só temos medição a partir das 16h30.
- Usamos as medições de terceiros como foram publicadas. Cebrap, BusInfo e o plano da Prefeitura entram com o que cada fonte diz medir, sem acesso aos dados deles e sem misturar os números, porque medem coisas diferentes. O BusInfo conta ônibus que "saíram da garagem", com método não divulgado. O Cebrap usa a mesma API que nós, mas compara com dias úteis e cobre a manhã. O nosso número é uma foto simultânea.
- Só afirmamos o que várias medições sustentam. Afirmamos uma direção quando fontes com métodos diferentes concordam e nenhuma indica o contrário. Aqui são quatro sinais, e por isso a direção tem confiança média a alta. O tamanho da diferença só vem do Cebrap (31,4%) e de um número do BusInfo (71%), então a confiança nele é menor. Não decidimos se houve descumprimento da ordem, que é uma decisão da Justiça, nem a intenção de ninguém.
O que este painel não prova
- Não medimos a manhã: nossa coleta começou às 16h30. Para esse período valem as medições de terceiros.
- Só o Cebrap compara diretamente com dias úteis. O BusInfo e a nossa coleta são indícios por outros caminhos.
- O número do BusInfo e o nosso não são comparáveis entre si.
- Não há número oficial da SPTrans para hoje. Os dados oficiais podem ser pedidos por este modelo.
- Menos ônibus não prova intenção de ninguém nem, sozinho, descumprimento da ordem judicial.
Como conferir por conta própria
O código de coleta, agregação e leitura do GTFS está publicado como texto: coletor, agregação, GTFS e atualização do GTFS e verificador da cadeia de hashes. Os dados agregados que alimentam esta página são series.json, linhas.json e gtfs_ref.json. Todo o projeto, com instruções para rodar, está em github.com/travahacker/analise-onibus, sob licença MIT. Qualquer pessoa com uma chave da API Olho Vivo pode repetir a coleta.