Suporte do rstats às iniciativas de transparência do Tesouro Nacional brasileiro

Fernando Barbalho
tchiluanda
Published in
7 min readFeb 25, 2019

No final de 2018 a Secretaria do Tesouro Nacional brasileiro disponibilizou a nova versão do portal Tesouro Transparente. No portal estão disponíveis dados abertos, visualizações, histórias e relatórios que dizem respeito aos diversos assuntos tratados pela instituição. A comunidade de desenvolvedores em R, principalmente os que se interessam por consumo de dados abertos e controle social na área de finanças públicas, vai ficar feliz em saber que a nova iniciativa está bastante povoada de códigos em R.
Nesse artigo a equipe do Grupo Técnico de Comunicação Estratégica e Análise de Dados (GT-CEAD), responsável pelo desenvolvimento dos produtos feitos em R, mostra o que foi feito usando essa linguagem de programação e a filosofia de transparência do desenvolvimento. Explore os conteúdos nas próximas seções: Produtos desenvolvidos, O uso da linguagem R e Dados e código abertos .

Produtos desenvolvidos

Três tipos de produtos foram desenvolvidos utilizando o R: visualizações, histórias e endpoints para API de consumo de dados.

Visualizações

Para esse tipo de produto o GT-CEAD construiu três gráficos animados que mostram a evolução das séries temporais de três importantes indicadores fiscais brasileiros:

Resultado Primário do Governo Central

Dívida Pública Federal

Despesas pagas pela União

Os gráficos dinâmicos são os três primeiros exibidos na página inicial do portal Tesouro Transparente.

Histórias

Já em relação às histórias, a equipe entregou os seguintes produtos:

Entendendo os gráficos: resultado primário e estoque da dívida pública federal

Essa história explica a construção conceitual dos gráficos do Resultado Primário e da Dívida Pública Federal que são apresentados na página inicial do Tesouro Transparente. Indica ainda onde os dados que foram utilizados para a construção dos gráficos dinâmicos podem ser encontrados no Tesouro Transparente .

Para saber como a equipe construiu os gráficos dinâmicos, clique aqui.

Ressignificando o Resultado do Tesouro Nacional

O objetivo dessa história é mostrar de forma evolutiva o que está por trás do Resultado do Tesouro Nacional. A narrativa começa pela exposição dos principais conceitos associados, passa pela disponibilização em forma de painéis das diversas séries temporais das receitas e despesas que o compõem esse indicador fiscal e conclui-se com análises avançadas e gamificação.

Clique aqui para conhecer mais o Resultado do Tesouro Nacional.

O BSPN em Foco

Através de textos e gráficos, essa história mostra como se comportou a contabilidade pública em 2017 nos três níveis da federação: união, estados e municípios. Essas informações são normalmente publicadas no Balanço do Setor Público Nacional (BSPN). Essa é uma história que procura desmistificar a contabilidade pública através de uma narrativa mais acessível a públicos não iniciados no tema.

Clique aqui se você tem interesse em ter uma nova visão sobre contabilidade pública

Fluxo de receitas e despesas

Esta história explora a relação entre as receitas e as despesas da União, por meio de uma visualização que demonstra que receitas são aplicadas em que despesas. A visualização auxilia a iluminar algumas dúvidas frequentes observadas nos debates envolvendo finanças públicas: o orçamento prevê o uso de dinheiro dos impostos para pagar a Dívida? Se há um déficit na previdência do regime geral, que outros recursos são utilizados para o pagamento dos benefícios previdenciários? Como são utilizados os recursos obtidos por meio da venda de títulos públicos emitidos pelo Tesouro?

Clique aqui para entender como tributos e outras tipos de receitas financiam as despesas públicas da União

API de consumo de dados

Uma demanda para o portal Tesouro Transparente foi que se visualizasse os grandes números relacionados aos temas trabalhados pela Secretaria do Tesouro Nacional. O requisito para essa visualização era que os números mostrados deveriam estar sempre atualizados de acordo com o dado mais recente disponibilizado nos dados abertos do próprio portal.

Para responder a essa demanda o GT-CEAD desenvolvou a API Grandes Números com um conjunto de end-points que são consumidos pelas páginas específicas dos temas trabalhados no portal. O consumo desses dados gera uma visualização como a exibida abaixo.

Ressalta-se que nesse momento a API ainda não está disponível para consumo externo, mas seu código está disponível, conforme pode ser lido mais abaixo na seção Dados e código abertos

As páginas que consomem essa API estão indicadas abaixo

Estatísticas fiscais e transparência

Dívida pública federal e ativos da união

Gastos da união

O uso da linguagem R

As possibilidades de se trabalhar com dados trazidas pelo R, tais como visualização, tratamento e análises avançadas, foram amplamente utilizadas nos produtos da STN.

Para visualização pode-se destacar o uso das bibliotecas gganimate, ggplot2 e dygraph.

O gganimate foi usado nas três animações que são exibidas logo no início deste artigo.

O ggplot2 é a opção padrão para visualização. Foi usado em gráficos dos mais variados tipos tais como: box-plot, linha e barra. Abaixo um exemplo de um gráfico de barra usando o ggplot2.

O dygraph é a opção para a visualização de séries temporais. Essa biblioteca revelou-se uma ótima opção pelas possibilidades de interação com o usuário. A figura abaixo, por exemplo, refere-se a um gráfico em que várias séries temporais são exibidas ao mesmo tempo. Normalmente esse gráfico geraria muita poluição visual, porém a possibilidade de escolha dinâmica da série a ser destacada resulta em uma experiência agradável de visualização.

Ainda sobre visualizações, ressalta-se que com a grande ênfase nas histórias, o Rmarkdown está presente em quase todos os produtos. O Rmarkdown permite que se construa de forma simples documentos que misturam elementos de formatação com códigos R.

Numa história específica, Ressignificando o Resultado do Tesouro Nacional, há recursos de interatividade com usuário. Nesse caso a biblioteca shiny é utilizada num script Rmarkdown.

Em relação a manipulação de dados, existem duas abordagens que se destacam: uma em que se utiliza mais fortemente o r-Base e outra que usa o padrão tidyverse. A utilização das duas abordagens é decorrente da evolução do uso da própria linguagem. A tendência dos próximos produtos é pela opção prioritária do uso do tidyverse.

Ainda em relação à manipulação de dados, destaca-se o uso de bibliotecas que tratam de leitura de planilhas csv e excel, download de arquivos, e o uso da biblioteca ckanr que permite o consumo de dados abertos hospedados no próprio Tesouro Transparente. O desenvolvimento da API Grandes Números foi centrado em manipulação de dados e usa essas mesmas bibliotecas, sendo que a publicação utiliza plumber.

Por fim, para análise avançada de dados destaca-se a utilização de bibliotecas que trabalham séries temporais com ênfase na projeções de valores. Para tanto foi necessário trabalhar pontos relacionados a análise de sazonalidade, identificação de séries estacionárias, quebra de estrutura e análise de outliers.

Dados e código abertos

Uma das premissas principais das análises feitas pelo GT-CEAD é a transparência tanto dos dados como das implementações. Nesse sentido, do ponto de vista da implementação, todos os códigos das histórias e visualizações estão acessíveis no próprio contexto dos produtos através do simples acionamento dos botões code, conforme demonstrado nas figuras abaixo.

Página antes de se pressionar o botão code
Página após se pressionar o botão code

Já em relação à API, o código pode ser acessível a partir do github, através do endereço indicado abaixo

Códigos API — Grandes Números

Sobre a abertura de dados, há a opção de se utilizar o que está disponível no próprio repositório de dados abertos do portal. Esse repositório foi construído sobre uma plataforma ckan. Essa plataforma oferece API que facilita o consumo dos dados. Tanto na história Ressignificando o Resultado do Tesouro Nacional como na API Grandes Números, há implementações que mostram como a API do CKAN pode ser usada para consumo de dados. Veja abaixo uma figura que demonstra essa utilização.

Conclusão

Nesse artigo procuramos demonstrar como a STN tem utilizado a linguagem R em atividades de comunicação estratégica e análise avançada de dados. Mostramos os diversos tipos de produtos que foram desenvolvidos no ano de 2018, as particularidades do uso do R nessas aplicações e indicamos como nos preocupamos com a transparência dos dados e das implementações.

Esperamos assim estar contribuindo para o amadurecimento das ciências de dados no Governo Federal e na comunidade em geral que se interessa pelo assunto. Como sempre, estamos abertos para troca de ideias e aprofundamentos de debates. Nossos endereços de Telegram estão disponíveis nesta página, logo abaixo, para futuros contatos.

--

--

Fernando Barbalho
tchiluanda

Doctor in Business Administration from UNB (2014). As data scientist, researches and implements products for transparency in the Brazilian public sector.