Ouvidômetro
Painel interativo sobre prazo e atraso nas manifestações de ouvidoria registradas no Fala.BR, a plataforma de ouvidoria do governo federal, com dados abertos da Controladoria-Geral da União (CGU). Ele mede como os órgãos públicos respondem ao cidadão: quanto tempo levam, quanto fica fora do prazo e onde as pendências se acumulam.
- Aplicação
- Painel interativo sobre prazo de resposta em ouvidorias públicas
- Tecnologias
- Dados
- Arquivo público de manifestações de ouvidoria da CGU, de janeiro de 2015 a agosto de 2026
- Status
- Publicado no GitHub Pages
O problema
O painel mede como os órgãos públicos respondem às manifestações dos cidadãos. A pergunta de fundo é a de quem gere uma ouvidoria pública: onde agir primeiro.
- O prazo da lei é cumprido, e isso melhorou?
- Quanto tempo o cidadão espera pela resposta?
- O que está pendente com o prazo vencido?
- Em que esfera, tipo, UF e assunto o prazo mais estoura?
- Quais órgãos precisam de atenção primeiro?
- A demanda foi atendida, e o atraso pesa na satisfação?
Base legal
O painel confronta os dados com as regras de ouvidoria do setor público.
- Decreto 9.492/2018, art. 18: resposta conclusiva em 30 dias, prorrogável uma vez por mais 30, com justificativa. O pedido de complementação suspende o prazo.
- Decreto 9.492/2018, art. 3º: definições de reclamação, denúncia, elogio, sugestão e solicitação.
- Decreto 9.492/2018, art. 16: uso obrigatório do e-Ouv (hoje Fala.BR) pelos órgãos federais.
- Lei 13.460/2017: direitos do usuário de serviços públicos e medição anual da satisfação.
O próprio painel traz uma tabela que liga cada regra ao indicador que a confere e uma seção de dúvidas frequentes.
Fonte dos dados
Os dados vêm do arquivo público de manifestações de ouvidoria da CGU, atualizado todo mês. O arquivo usado foi gerado em 01/09/2026 e traz um CSV por ano, com datas de registro, prazo e resposta, tipo, órgão, assunto, situação, esfera e pesquisa de satisfação.
O recorte vai de janeiro de 2015 a 31/08/2026, com 8.752.496 manifestações. O recorte principal do painel são os últimos 12 meses completos, comparados aos 12 anteriores.
Os dados brutos não vão para o repositório, só os indicadores agregados.
Como foi construído
Preparar
Um script em Python baixa o arquivo da CGU, converte os CSVs de Latin-1 para UTF-8 e grava um arquivo Parquet por ano.
Agregar
Outro script agrega a base com DuckDB por mês, esfera, tipo, UF, órgão e assunto e grava o arquivo de dados que alimenta os filtros do painel.
Resumir
Um terceiro script grava o resumo dos últimos 12 meses em JSON e CSV, para quem quiser os números fora do painel.
Painel
O painel é feito em HTML, CSS e JavaScript, com gráficos em D3. Tem filtros de período, esfera, tipo e UF, clique nas barras para filtrar e busca de órgão, e funciona sem internet.
Como o painel foi pensado
Uma pergunta por seção
Cada seção responde a uma pergunta de decisão, e não só exibe números.
Cor de alerta
A cor diz onde olhar primeiro: verde abaixo da média, amarelo até o dobro e vermelho acima do dobro.
Mediana e percentil 90
A mediana mostra o caso típico, e o percentil 90 mostra quem espera demais.
Pendências com idade
O painel mostra há quanto tempo cada pendência está vencida, e não só a contagem.
Denominador à vista
Toda proporção traz o denominador, e a data de corte fica visível.
Ranking por taxa
Os órgãos são ordenados por taxa, com volume mínimo, para não punir quem recebe mais manifestações.
Limitações
- O campo de dias de atraso do arquivo só vem preenchido para manifestações sem resposta. Por isso o atraso foi calculado pelas datas.
- Nos meses mais recentes há mais manifestações em aberto, então a mediana e o percentil 90 de dias ficam um pouco abaixo do real.
- A pesquisa de satisfação é opcional: no período, menos de 4% das manifestações têm resposta, com peso maior de quem ficou insatisfeito.
- Os campos de perfil do manifestante têm mais de 80% de vazios e ficaram fora.
- A base inclui estados e municípios que aderiram ao Fala.BR, e não todos os órgãos do país.
Links
- Painel publicado
- Código no GitHubCom o passo a passo para reproduzir cada número
- CGU, dados abertos de ouvidoria
Painel independente, sem vínculo com a CGU. Os dados pertencem à CGU. A biblioteca D3 usa a licença ISC.
