Relatório de Análise de Operações de Financiamento Não Automomatica - BNDS

1 Introdução

A análise das condições das operações de financiamento contratadas é importante para entender o comportamento dos clientes em relação aos produtos oferecidos e o mercado financeiro. Este estudo se concentra em dados detalhados sobre as condições dessas operações, incluindo o porte do cliente e o tipo de produto contratado, especificamente para operações não automáticas que são análises para liberação de um emprestimo por meio de uma interação humana que avalia e assume o risco de não pagamento.

Esse tema é interessante, porque permite identificar padrões e tendências no mercado de financiamentos, entender como diferentes condições de crédito afetam os clientes e os credores, e como as instituições financeiras gerenciam os riscos associados às operações. Para investidores, analistas financeiros, gestores de risco e formuladores de políticas, essa análise oferece insights valiosos que podem informar decisões estratégicas e regulatórias.

Nesse projeto, irei utilizar um conjunto de dados que inclui informações detalhadas sobre operações de financiamento contratadas desde 2002. Esse conjunto de dados fornece informações sobre as condições de financiamento, porte do cliente, tipo de produto contratado e detalhes específicos das operações indiretas, onde o risco de crédito é assumido pela instituição financeira. A metodologia empregada será uma análise exploratória de dados, combinada com técnicas estatísticas e de modelagem para identificar padrões e comportamentos no conjunto de dados.

Esse tipo de abordagem permitirá não apenas descrever o comportamento dos dados, mas também identificar as variáveis mais influentes nas condições de financiamento e no comportamento dos clientes. A técnica adotada nos ajudará a entender como diferentes fatores, como porte do cliente e produto contratado, influenciam os riscos assumidos pelo BNDS.

A análise é útil para potenciais clientes como BNDS, investidores e formuladores de políticas de decisão.

  • BNDS: a análise ajudará a entender melhor os perfis de risco associados a diferentes tipos de clientes e produtos, permitindo uma melhor gestão de riscos e personalização das condições de financiamento. Além disso, poderá identificar segmentos de clientes que possuem caracteristicas e comportamentos semelhantes para oferecer um produto mais assertivo.
  • Investidores: os insights derivados dos padrões de financiamento e comportamento do cliente podem informar decisões sobre investimentos em produtos financeiros ou setores específicos.
  • Time de políticas: a análise pode oferecer uma visão sobre como as regras e limites estabelecidos pelo BNDES estão sendo aplicados na prática e seu impacto no mercado de crédito. Isso ajuda a avaliar o perfil de risco dos clientes e desenvolver modelos de scoring e prevê futuras inadimplências cruzando com outros conjuntos de dados.

Ao identificar padrões e tendências, nossa análise ajudará esses stakeholders a tomar decisões mais informadas, gerenciar riscos de forma mais eficaz e identificar oportunidades para otimizar operações financeiras e políticas de crédito.

2 Pacotes Requeridos

Durante o projeto iremos utilizar as bibliotecas abaixo:

library(knitr)
library(dplyr)
library(digest)
library(DT)
library(ggplot2)
library(rmdformats)
  • knitr

A biblioteca knitr é usada para gerar relatórios dinâmicos facilitando a exibição de código R e seus resultados em vários formatos como HTML, PDF e Word.

  • dplyr

A biblioteca dplyr pertence ao tidyverse e é utilizada para fazer manipulações de dados de forma mais fácil auxliando o desenvolvimento de uma análise de dados.

  • digest

A biblioteca digest cria hashes criptografados

  • DT

A biblioteca DT é utilizada para criar tabelas de forma dinâmica e visualmente amigaveis em uma página HTML.

  • ggplot2

A biblioteca ggplot2 é utilizada para a criação dos gráficos e permite personalização.

  • rmdformats

A biblioteca é utilizada para criar o tema/visual do projeto.

3 Preparação dos dados

3.1 Conhecendo a base

A origem da base utilizada é do portal de dados abertos do governo federal dentro da categoria de operações de financiamento. Essa base possui dados com o detalhamento de operações de financiamento dividida em dois conjuntos de dados: operações indiretas automáticas e operações não automáticas que é a base escolhida para o estudo deste relatório. Para mais informações e acesso desses dados, acesse esse link

A tabela desse projeto possui 21269 linhas e 34 colunas e foram extraidas de um arquivo .csv.

Abaixo temos a visualização de uma amostra de dez registros dessa base para ilustrar.

Tabela com 5 registros
cliente cnpj descricao_do_projeto uf municipio municipio_codigo numero_do_contrato data_da_contratacao valor_contratado_reais valor_desembolsado_reais fonte_de_recurso_desembolsos custo_financeiro juros prazo_carencia_meses prazo_amortizacao_meses modalidade_de_apoio forma_de_apoio produto instrumento_financeiro inovacao area_operacional setor_cnae subsetor_cnae_agrupado subsetor_cnae_codigo subsetor_cnae_nome setor_bndes subsetor_bndes porte_do_cliente natureza_do_cliente instituicao_financeira_credenciada cnpj_da_instituicao_financeira_credenciada tipo_de_garantia tipo_de_excepcionalidade situacao_do_contrato
MUNICIPIO DE RIBEIRAO PRETO 56.024.581/0001-56 PROGRAMA DE MODERNIZACAO DA ADMINISTRACAO TRIBUTARIA E DA GESTAO DOS SETORES SOCIAIS BASICOS SP RIBEIRAO PRETO 3543402 1247021 2002-01-02 9090000.00 9007445.1 RECURSOS VINCULADOS - PIS/PASEP TJLP 2.5 24 72 REEMBOLSÁVEL DIRETA BNDES FINEM BNDES PMAT NÃO AREA DE DESENVOLVIMENTO SOCIAL E GESTAO PUBLICA COMERCIO E SERVICOS ADMINISTRAÇÃO PÚBLICA O8411600 ADMINISTRACAO PUBLICA EM GERAL COMERCIO/SERVICOS COMÉRCIO E SERVIÇOS GRANDE ADMINISTRAÇÃO PÚBLICA DIRETA - GOVERNO MUNICIPAL ———- ———- OUTRA, DE NATUREZA ESPECÍFICA OU MISTA ———- LIQUIDADO
INSTITUTO DE DESENVOLVIMENTO SUSTENTAVEL DO BAIXO SUL D 02.275.306/0001-86 PROJETO DIREITO E CIDADANIA; PROJETO DEMONSTRATIVO DA CADEIA PRODUTIVA DE MARICULTURA; E SISTEMATIZACAO DA METODOLOGIA DO PROGRAMA JOVEM EMPRESARIO. BA ITUBERA 2917300 1247221 2002-01-03 706600.00 745030.4 RECURSOS ESTATUTÁRIOS - PRÓPRIOS ESTATUTÁRIOS SEM CUSTO 0.0 0 0 NÃO REEMBOLSÁVEL DIRETA BNDES NÃO REEMBOLSÁVEL BNDES FUNDO SOCIOAMBIENTAL NÃO AREA DE DESENVOLVIMENTO SOCIAL E GESTAO PUBLICA COMERCIO E SERVICOS SAÚDE E SERV SOCIAL Q8700000 ATIV ATENCAO A SAUDE HUMANA INTEGR C/ASSIST SOC PREST RESID COL E COMERCIO/SERVICOS COMÉRCIO E SERVIÇOS MICRO PRIVADA ———- ———- NÃO SE APLICA ———- LIQUIDADO
INSTITUTO DE DESENVOLVIMENTO SUSTENTAVEL DO BAIXO SUL D 02.275.306/0001-86 PROJETO DIREITO E CIDADANIA; PROJETO DEMONSTRATIVO DA CADEIA PRODUTIVA DE MARICULTURA; E SISTEMATIZACAO DA METODOLOGIA DO PROGRAMA JOVEM EMPRESARIO. BA ITUBERA 2917300 1247221 2002-01-03 75691.59 78500.0 RECURSOS ESTATUTÁRIOS - PRÓPRIOS ESTATUTÁRIOS SEM CUSTO 0.0 0 0 NÃO REEMBOLSÁVEL DIRETA BNDES NÃO REEMBOLSÁVEL BNDES FUNDO SOCIOAMBIENTAL NÃO AREA DE DESENVOLVIMENTO SOCIAL E GESTAO PUBLICA COMERCIO E SERVICOS SAÚDE E SERV SOCIAL Q8700000 ATIV ATENCAO A SAUDE HUMANA INTEGR C/ASSIST SOC PREST RESID COL E COMERCIO/SERVICOS COMÉRCIO E SERVIÇOS MICRO PRIVADA ———- ———- NÃO SE APLICA ———- LIQUIDADO
INSTITUTO DE DESENVOLVIMENTO SUSTENTAVEL DO BAIXO SUL D 02.275.306/0001-86 PROJETO DIREITO E CIDADANIA; PROJETO DEMONSTRATIVO DA CADEIA PRODUTIVA DE MARICULTURA; E SISTEMATIZACAO DA METODOLOGIA DO PROGRAMA JOVEM EMPRESARIO. BA ITUBERA 2917300 1247221 2002-01-03 603981.41 653834.7 RECURSOS ESTATUTÁRIOS - PRÓPRIOS ESTATUTÁRIOS SEM CUSTO 0.0 0 0 NÃO REEMBOLSÁVEL DIRETA BNDES NÃO REEMBOLSÁVEL BNDES FUNDO SOCIOAMBIENTAL NÃO AREA DE DESENVOLVIMENTO SOCIAL E GESTAO PUBLICA COMERCIO E SERVICOS SAÚDE E SERV SOCIAL Q8700000 ATIV ATENCAO A SAUDE HUMANA INTEGR C/ASSIST SOC PREST RESID COL E COMERCIO/SERVICOS COMÉRCIO E SERVIÇOS MICRO PRIVADA ———- ———- NÃO SE APLICA ———- LIQUIDADO
ACEF S/A 46.722.831/0001-78 AQUISICAO DE EQUIPAMENTOS NACIONAIS E MOBILIARIO. SP FRANCA 3516200 1255421 2002-01-09 340201.00 340189.3 RECURSOS LIVRES - FAT TJLP 4.0 24 96 REEMBOLSÁVEL INDIRETA BNDES FINEM PROGRAMA IES NÃO AREA DE DESENVOLVIMENTO SOCIAL E GESTAO PUBLICA COMERCIO E SERVICOS EDUCAÇÃO P8531700 EDUCACAO SUPERIOR - GRADUACAO COMERCIO/SERVICOS COMÉRCIO E SERVIÇOS GRANDE PRIVADA BANCO BRADESCO S.A. 60746948000112 DEFINIDA PELO AGENTE FINANCEIRO ———- LIQUIDADO

3.2 Metadados

Abaixo temos os metadados da tabela, ou seja, são informações que adicionais referente a cada coluna para facilitar o entendimento do dado. Para acessar a informação no portal de dados abertos em pdf, acesse link

Descrição dos Campos
Nome do Campo Tipo de Dado Descrição
Cliente string Nome do cliente.
CNPJ int64 Numero de inscricao no CNPJ - Cadastro Nacional de Pessoa Juridica do cliente.
Descricao do Projeto string Descricao do projeto.
UF string Unidade federativa onde o investimento foi realizado ou o cliente está registrado.
Municipio string Municipio onde o investimento foi realizado ou o cliente está registrado.
Municipio codigo int64 Classificacao do IBGE para o municipio do cliente.
Numero do contrato int64 Numero do contrato no sistema BNDES. Cada contrato pode ter um ou mais subcreditos, sendo que cada subscredito pode ser caracterizado por condicoes financeiras distintas. O somatorio dos valores dos subcreditos equivale ao valor total do contrato. Cada linha da planilha corresponde a um subcredito diferente.
Data da contratacao date Data da efetiva contratacao no sistema BNDES.
Valor contratado Reais float64 O valor contratado em Reais representa o valor convertido com base na data do contrato e no indexador. O valor contratado das operacoes do BNDES pode ser corrigido por algum indexador (dólar americano, IPCA, TJLP etc), caso haja previsao no contrato.
Valor desembolsado Reais float64 O valor desembolsado representa o valor liberado convertido com base na data do desembolso e no indexador. Desta forma, caso haja variacao positiva do indexador, entre a data do contrato e a data do desembolso, o valor desembolsado pode ser maior que o valor contratado. O valor contratado das operacoes do BNDES pode ser corrigido por algum indexador (dólar americano, IPCA, TJLP etc), caso haja previsao no contrato.
Fonte de recurso desembolsos string Trata-se da fonte de recursos registrada nos desembolsos do contrato. As fontes de recursos podem ser divididas em tres grandes grupos: as fontes de recursos vinculadas, estatutarias e as de livre aplicacao. Cabe ressaltar que um contrato podera ter varias fontes de recursos registradas nos desembolsos de seus diversos subcreditos.
Custo financeiro string Reflete o custo de captacao do BNDES em suas diversas fontes de recursos. Determinado conforme cada produto, linha de financiamento ou programa, podendo se compor por uma ou mais taxas como: TLP, SELIC, taxas indexadas ao IPCA, entre outras. O CUSTO TOTAL do cliente é a soma do CUSTO FINANCEIRO com os JUROS. Nas operações em que o CUSTO FINANCEIRO aparece com o valor ‘TAXA FIXA’, o campo JUROS representam o CUSTO TOTAL para o tomador do crédito. Saiba mais sobre CUSTO FINANCEIRO em http://www.bndes.gov.br/SiteBNDES/bndes/bndes_pt/Ferramentas_e_Normas/Custos_Financeiros/Composicao/
Juros float64 A composicao da taxa de juros varia de acordo com a forma de apoio. Para operacoes indiretas, a taxa de juros final sera composta pelo Custo Financeiro, pela Taxa do BNDES (inclui a remuneracao do BNDES e a taxa de intermediacao financeira) e pela Taxa do Agente Financeiro. Para operacoes diretas, a taxa de juros final sera composta pelo Custo Financeiro e pela Taxa do BNDES (inclui a remuneracao do BNDES e a taxa de risco de credito).
Prazo carencia meses int64 E o periodo durante o qual o cliente paga somente os juros do financiamento contratado. Geralmente, e definido de forma que o termino da carencia ocorra no maximo ate 6 meses apos a data de entrada em operacao comercial do empreendimento.
Prazo amortizacao meses int64 E o periodo, apos o prazo de carencia, durante o qual o cliente realiza os pagamentos de amortizacao do financiamento contratado, alem dos juros incidentes.
Modalidade de apoio string Reembolsavel ou Nao Reembolsavel (apoio financeiro sem a exigencia de reembolso financeiro ao BNDES). O BNDES destina recursos nao reembolsaveis para apoio a investimentos de carater social, cultural (ensino e pesquisa), ambiental, cientifico ou tecnologico.
Forma de apoio string O cliente pode solicitar o financiamento diretamente ao BNDES (forma direta) ou por meio de instituicoes financeiras credenciadas (forma indireta). A forma de apoio depende da finalidade e do valor do financiamento.
Produto string Produtos definem regras gerais de financiamento de acordo com cada finalidade. Cada produto pode se dividir em instrumentos financeiros diferentes, que atendem a tipos de clientes e objetivos diferentes, com condicoes especificas (como taxa de juros e prazo de pagamento).
Instrumento financeiro string Pode ser classificado em linhas, programas e fundos. Linhas de financiamento visam atender as demandas permanentes de apoio; programas visam atender a demanda especifica, apresentando prazo de vigencia e dotacao previamente estabelecidos; e fundos podem ter natureza estatutaria ou legal e e regido por normas proprias, que definem suas condicoes especificas.
Inovacao string Indicador de inovacao, no qual sao considerados os instrumentos financeiros que tem por objetivo o apoio a inovacao.
Area operacional string Area responsavel pela operacao no BNDES.
Setor CNAE string Agrupamento utilizado pelo BNDES para fins estatisticos. Este agrupamento leva em consideracao os codigos CNAEs. Pode-se identificar a correspondencia do Setor CNAE e os codigos da classificacao CNAE 2.2. do IBGE atraves da planilha DE-PARA CNAE.
Subsetor CNAE agrupado string Agrupamento utilizado pelo BNDES para fins estatisticos. Este agrupamento leva em consideracao os codigos CNAEs. Pode-se identificar a correspondencia do Subsetor CNAE Agrupado e os codigos da classificacao CNAE 2.2. do IBGE atraves da planilha DE-PARA CNAE.
Subsetor CNAE codigo string Os codigos utilizados nos Sistemas Corporativos do BNDES seguem a classificacao CNAE 2.2 do IBGE, formado por uma letra e sete digitos numericos e dividido nos itens hierarquicos: Divisao – codigo de dois digitos numericos. Ex: A01 – Agricultura, Pecuaria e Servicos Relacionados; Grupo – codigo de tres digitos numericos. Ex: A01.1 – Producao de Lavouras Temporarias; Classe – codigo de cinco digitos numericos. Ex: A01.11-3 – Cultivo de cereais; e Subclasse – codigo de sete digitos numericos. Ex. A0111-3/01 – Cultivo de arroz. No entanto, temos algumas situacoes particulares: (i) Quando o BNDES necessita de um maior detalhamento além daquele previsto na Subclasse. Como por exemplo, os codigos que foram criados para energia eletrica: A classe D35115 possui apenas duas subclasses na CNAE 2.2 do IBGE, mas o BNDES criou o intervalo D3511581 a D3511598, para controle gerencial; e (ii) Quando nao e possivel a classificacao na Subclasse. Nestes casos, o BNDES usa os demais digitos com zeros, como por exemplo: A0100000 e A0111300.
Subsetor CNAE nome string Os nomes utilizados nos Sistemas Corporativos do BNDES seguem a classificacao CNAE 2.2 do IBGE.
Setor BNDES string Agrupamento utilizado pelo BNDES para fins estatisticos. Este agrupamento leva em consideracao os codigos CNAEs e os produtos do BNDES. Pode-se identificar a correspondencia do Setor BNDES e a secao da classificacao CNAE 2.2. do IBGE atraves da planilha DE-PARA CNAE.
Subsetor BNDES string Agrupamento utilizado pelo BNDES para fins estatisticos. Este agrupamento leva em consideracao os codigos CNAEs e os produtos do BNDES. Pode-se identificar a correspondencia do Subsetor BNDES e a secao da classificacao CNAE 2.2. do IBGE atraves da planilha DE-PARA CNAE.
Porte do cliente string Reflete o porte da empresa cliente e possibilita a identificação da mesma de acordo com a receita bruta anual do cliente. Pode ser classificado em Microempresa, Pequena Empresa, Media Empresa e Grande Empresa.
Natureza do cliente string Reflete a natureza jurídica do cliente e possibilita a identificação da empresa de acordo com sua atividade principal. Pode ser classificado em pessoa jurídica de direito privado ou publico.
Instituicao Financeira Credenciada string Instituicao financeira credenciada pelo BNDES para operacionalizar o financiamento dos projetos.
CNPJ da instituicao financeira credenciada int64 CNPJ da instituicao financeira credenciada pelo BNDES.
Tipo de garantia string Tipo de garantia prestada pelo cliente para o contrato de financiamento.
Tipo de excepcionalidade string Tipo de excepcionalidade registrada no contrato. Ex: ‘Vinculada ao faturamento’, ‘Garantia Real’, etc.
Situacao do contrato string Situação atual do contrato, como por exemplo, ‘Ativo’, ‘Encerrado’, ‘Cancelado’.
Ano int64 Ano em que o contrato foi registrado.

3.3 Limpeza de dados e manipulações

Primeiramente, iremos fazer algumas limpezas e organização dos dados.

3.3.1 Colunas com dados ausentes

Fazemos uma checagem de quais colunas possuiem dados nulos/ausentes para tratar posteriormente.

# Armazenamos colunas nulas na variável col_null
check_col <- function(col) {
  any(col == '----------' | is.na(col))
}

col_null <- sapply(tb_operacao, check_col)
col_null <- names(col_null[col_null])

knitr::kable(col_null, col.names = "Colunas com dados nulos")
Colunas com dados nulos
instituicao_financeira_credenciada
cnpj_da_instituicao_financeira_credenciada
tipo_de_excepcionalidade

3.3.1.1 Alterar os campos para NA

Foi identificado que as colunas instituicao_financeira_credenciada, cnpj_da_instituicao_financeira_credenciada e tipo_de_excepcionalidade, possuem ‘———-’ . Para tratar esses casos, já que indica ausência de dados, iremos substituir por NA.

# Limpeza em strings que indica ausência de dados
tb_operacao_prep <- tb_operacao
tb_operacao_prep[col_null] <- lapply(tb_operacao_prep[col_null], function(col) {
  col[col == '----------'] <- NA
  return(col)
})

kable(head(tb_operacao_prep[, col_null], n = 5))
instituicao_financeira_credenciada cnpj_da_instituicao_financeira_credenciada tipo_de_excepcionalidade
NA NA NA
NA NA NA
NA NA NA
NA NA NA
BANCO BRADESCO S.A. 60746948000112 NA

3.3.2 Coluna com dados sensivel

3.3.2.1 CNPJ

O cpnj é um dado sensivel, por questões de segurança e lgpd, iremos transformar esse campo em um hash de criptografia, o sha-256, mascarando assim as informações e será renomeado para id_cnpj.

# Removemos os caracteres especiais do cnpj
cnpj_original <- tb_operacao_prep$cnpj
remove_format <- function(cnpj) {
  gsub("[^0-9]", "", cnpj)
}

# O dado é transformado para um hash criptografado
cnpjs_limpos <- sapply(cnpj_original, remove_format)
hash_cnpjs <- sapply(cnpjs_limpos, digest, algo = "sha256")
tb_operacao_prep$cnpj <- hash_cnpjs
names(tb_operacao_prep)[names(tb_operacao_prep) == "cnpj"] <- "id_cnpj"

# Visualização de 05 linhas
kable(head(tb_operacao_prep[, c("cliente", "id_cnpj")], n = 5))
cliente id_cnpj
MUNICIPIO DE RIBEIRAO PRETO cc13e428b61e5c10054db1b048c614f19f98685160022afa745182fc9a89a5e0
INSTITUTO DE DESENVOLVIMENTO SUSTENTAVEL DO BAIXO SUL D b3c0c2023287ce2aa09afc8aad3510380649b2e240eb4511c636760091f6b334
INSTITUTO DE DESENVOLVIMENTO SUSTENTAVEL DO BAIXO SUL D b3c0c2023287ce2aa09afc8aad3510380649b2e240eb4511c636760091f6b334
INSTITUTO DE DESENVOLVIMENTO SUSTENTAVEL DO BAIXO SUL D b3c0c2023287ce2aa09afc8aad3510380649b2e240eb4511c636760091f6b334
ACEF S/A e7411c2abb38a623072ca1c94fab991c1f5eb84b10cea2cadc67cf4186995641

3.3.2.2 CNPJ da instituicao financeira credenciada

Da mesma forma em que tratamos a coluna cpnj por ser um dado sensivel, o a coluna do cnpj da instituição financeira credenciada, também é. Iremos fazer o mesmo processo de transformar esse campo em um hash de criptografia, o sha-256, mascarando assim as informações e será renomeado para id_instituicao_financeira_credenciada.

# Removemos os caracteres especiais do cnpj
cnpj_original <- tb_operacao_prep$cnpj_da_instituicao_financeira_credenciada
remove_format <- function(cnpj) {
  gsub("[^0-9]", "", cnpj)
}

# O dado é transformado para um hash criptografado
cnpjs_limpos <- sapply(cnpj_original, remove_format)
hash_cnpjs <- sapply(cnpjs_limpos, digest, algo = "sha256")
tb_operacao_prep$cnpj_da_instituicao_financeira_credenciada <- hash_cnpjs
names(tb_operacao_prep)[names(tb_operacao_prep) == "cnpj_da_instituicao_financeira_credenciada"] <- "id_instituicao_financeira_credenciada"

# Visualização de 05 linhas
kable(head(tb_operacao_prep[, c("instituicao_financeira_credenciada", "id_instituicao_financeira_credenciada")], n = 5))
instituicao_financeira_credenciada id_instituicao_financeira_credenciada
NA 96ac5f082b4a325f7b1c8ad1afbca8a1efb0abb59a2258588e9284fea00beeff
NA 96ac5f082b4a325f7b1c8ad1afbca8a1efb0abb59a2258588e9284fea00beeff
NA 96ac5f082b4a325f7b1c8ad1afbca8a1efb0abb59a2258588e9284fea00beeff
NA 96ac5f082b4a325f7b1c8ad1afbca8a1efb0abb59a2258588e9284fea00beeff
BANCO BRADESCO S.A. 255f52d1090e0578bb9d7a3920029b638b58e34b011ae121ee8064199e9f8872

3.3.3 Visualização dos dados preparados

tb_operacao_prep_subset <- head(tb_operacao_prep, 50)
datatable(tb_operacao_prep_subset, options = list(pageLength = 10, autoWidth = TRUE))

4 Análise Exploratória dos Dados

A análise exploratória desse projeto será respondidas através de uma pergunta inicial.

4.1 Qual é o valor contratado em bi ao longo dos anos por região brasileira declarada?

4.1.1 Criação da coluna regiao_br

A partir da coluna uf, iremos criar uma coluna para identificar a qual região brasileira o contrato pertence. A variável criada, regiao_br, foi inserida ao final da última coluna, porém, com um ajuste, conseguimos colocar logo após a coluna uf para facilitar a leitura dos dados.

# Criação da variável que representa as regiões brasileiras
tb_operacao_prep <- tb_operacao_prep %>%
  mutate(regiao_br = case_when(
    uf %in% c("SP", "RJ", "MG", "ES") ~ "Sudeste",
    uf %in% c("PR", "RS", "SC") ~ "Sul",
    uf %in% c("BA", "SE", "AL", "PE", "PB", "RN", "CE", "PI", "MA") ~ "Nordeste",
    uf %in% c("DF", "GO", "MT", "MS") ~ "Centro-Oeste",
    uf %in% c("AM", "PA", "AC", "RO", "RR", "AP", "TO") ~ "Norte",
    TRUE ~ "Desconhecido"
  ))

tb_operacao_prep <- tb_operacao_prep %>% select(1:4, regiao_br, everything())

4.1.2 Criacao da coluna ano_contratacao

A partir da coluna data_da_contracao, conseguimos obter o ano em que o contrato foi realizado e posteriormente movemos a posição da coluna para ficar ao lado da data de contratação na tabela.

# Pelo corte da posição 1 e 4, conseguimos retornar o ano em que a contratação foi realizada
tb_operacao_prep <- tb_operacao_prep %>% mutate(ano_contratacao = substr(data_da_contratacao, 1, 4))

tb_operacao_prep <- tb_operacao_prep %>%
  select(1:9, ano_contratacao, everything())

4.1.3 Criação do gráfico

# Filtro pelas regiões declaradas e a soma do valor dos contratos
df_agg <- tb_operacao_prep %>% filter(regiao_br != "Desconhecido") %>%
  group_by(ano_contratacao, regiao_br) %>% summarise(soma_valor_contratado = sum(valor_contratado_reais, na.rm = TRUE))

# Valor contratado em bilhões
df_agg <- df_agg %>%
  mutate(soma_valor_contratado_bilhoes = soma_valor_contratado / 1e9)

#Criação do gráfico
ggplot(df_agg, aes(x = ano_contratacao, y = soma_valor_contratado_bilhoes, fill = regiao_br)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(
    title = "Somatório Anual do Valor dos Contratos por Região (em Bilhões)",
    x = "Ano de Contratação",
    y = "Valor Contratado (Bilhões de R$)",
    fill = "Região"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  theme(legend.position = "bottom")

Com o gráfico acima, observamos que a região sudeste na maioria dos anos foi a que possuiu a maior soma dos valores do contrato anualmente. Isso representa que foi a região que ocorreu a maior demanda de crédito e que o comportamento foi similar entre as outras regiões, possivelmente impactadas pelos eventos politicos mais agressivos que ocorreram por exemplo entre 2016 e 2017.

4.2 Para os contratos realizados em 2023, qual foi o juros de acordo com cada setor do BNDES para cada prazo de amortizacao em meses? Qual o setor que possui com essas duas informações o maior risco?

4.2.1 Criação do gráfico

# Filtro pelo ano de 2023
df_filtro <- tb_operacao_prep %>%
  filter(ano_contratacao == 2023)

# Agregação pelo setor do BNDES e pelo prazo de amortização dos contratos
df_agg <- df_filtro %>%
  group_by(setor_bndes, prazo_amortizacao_meses) %>%
  summarise(media_juros = mean(juros, na.rm = TRUE))

#Criação do gráfico
ggplot(df_agg, aes(x = prazo_amortizacao_meses, y = media_juros, color = setor_bndes)) +
  geom_line(linewidth = 1) +
  geom_point(size = 2) +
  labs(
    title = "Juros por Setor BNDES e Prazo de Amortização em 2023",
    x = "Prazo de Amortização (Meses)",
    y = "Média de Juros (%)",
    color = "Setor BNDES"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Com o gráfico acima, podemos observar que a média dos juros muda longos dos meses no prazo de amortização. Isso pode significar um risco maior ou que o custo varie com o tempo. Cada setor tem um comportamento diferente, no entanto, o setor da infraestrutura tem um pico na taxa de juros, além de quando comparamos com outros setores, geralmente é o que possui um juros maior em todas as faixas de prazo de amortização, inclusive é o mais longo. O setor de infraestrutura, pode ter essa configuração, pois obras necessitam de um tempo maior para começar a gerar o retorno, além de serem projetos de grande porte, tendem a ter um risco maior. Podemos também notar que esse setor de infraestrutura possui prazos de amortização de até 400 meses, isso significa que é uma categoria que apesar dos riscos, projetos de infraestruturas tem uma grande importância e é necessário que haja incentivos e investimentos nessa área à longo prazo para o desenvolvimento do país.

4.3 Na análise anterior, o setor de infraestrutura indicou que apresentava possivelmente um maior risco. Nessa categoria, observando o pico da taxa de juros entre os 100 e 150 meses do prazo de amortização:

4.3.0.1 a) Qual a volumetria de contratos por subsetor?

4.3.0.2 b) Qual é a média de juros para os subsetores do BNDES no ano de 2023?

4.3.0.3 c) Qual média de juros em relação ao porte da empresa/cliente ?

4.3.1 Filtrar o dataset para o ano de 2023 e o setor de infraestrutura

# Filtro pelo setor de infraestrutura, pelo ano de 2023 e pelo intervalo do prazo de amortização
df_filtro <- tb_operacao_prep %>% 
  filter(ano_contratacao == 2023, setor_bndes == "INFRAESTRUTURA", prazo_amortizacao_meses >= 100 & prazo_amortizacao_meses <= 150)

4.3.2 a) Volumetria dos subsetores

# Agregação e calculo de volumetria por subsetor do BNDES
volumetria_subsetor <- df_filtro %>%
  group_by(subsetor_bndes) %>%
  summarise(volumetria = n())

# Criação do gráfico
ggplot(volumetria_subsetor, aes(x = reorder(subsetor_bndes, volumetria), y = volumetria)) +
  geom_bar(stat = "identity", fill = "lightpink") +
  geom_text(aes(label = volumetria), vjust = -0.3, size = 4) +
  labs(title = "Volumetria por Subsetor em Infraestrutura (2023)",
       x = "Subsetor",
       y = "Número de Contratos") +
  theme_minimal() +
  coord_flip() 

Com o gráfico acima, vemos que a volumetria desse setor é bem pequena, no corte de 100 até 150 dias de prazo de amortização, onde ocorreu o pico. No entanto, os que mais impactam são os subsetores liagdos à transpote, atv. aux. transportes e outros transporte, possivelmente, apresentam um risco maior, porém vamos entender nas próximas análises.

4.3.3 b) Média dos juros por subsetor BNDES

# Calculo da média dos juros por sub-setor BNDES
df_subsector <- df_filtro %>%
  group_by(subsetor_bndes) %>%
  summarise(media_juros = mean(juros, na.rm = TRUE))

# Criação do gráfico
ggplot(df_subsector, aes(x = reorder(subsetor_bndes, media_juros), y = media_juros)) +
  geom_col(fill = "lightpink", width = 0.3, stat = "identity") +
  coord_flip() +
  labs(
    title = "Média dos Juros por Subsetor BNDES (Setor INFRAESTRUTURA) em 2023",
    x = "Subsetor BNDES",
    y = "Média de Juros (%)"
  ) +
  theme_minimal()

Vamos aqui analisar os dois extremos do gráfico, o subsetor de atv. aux. transportes com a maior média de taxa de juros e o subsetor construção com a menor média de taxa de juros, ambos em 2023. O subsetor de atv. aux. transportes, pode sofrer essa maior taxa de juros por causa do seu risco elevado e custos associados ao projeto, além de que geralmente possui influência governamentais e são sensiveis à economia. Já o subsetor de construção, ter uma taxa de juros menor, pode indicar um menor risco já que os retornos são mais previsiveis, tornando-o mais confiável em comparação ao subsetor de transporte

4.3.4 Média por porte do cliente/empresa

# Filtro e agregação em relação ao porte da empresa
df_porte <- df_filtro %>%
  group_by(porte_do_cliente) %>%
  summarise(media_juros = mean(juros, na.rm = TRUE))

# Criação do gráfico
ggplot(df_porte, aes(x = reorder(porte_do_cliente, media_juros), y = media_juros)) +
  geom_col(fill = "lightpink", width = 0.3, stat = "identity") +
  coord_flip() +
  labs(
    title = "Média dos Juros por Porte do Cliente (Setor - INFRAESTRUTURA) em 2023",
    x = "Porte do Cliente",
    y = "Média de Juros (%)"
  ) +
  theme_minimal()

Para projetos como o corte desse tópico entre 100 e 150 meses de amotização, indica que apenas as categorias de grande e médio porte estão com prazos mais elevados desse setor. A diferença entre a média da taxa de juros entre empresa de grande porte ser aproximadamente o dobro em relação ao médio porte, pode ser associado que essas grandes empresas possuam os maiores projetos , negociem condições especiais na contratação, no entranto, isso pode refletir um risco maior para o banco. Empresas de médio porte, provavelmente possuem projetos com uma escala menor e durante a politica de crédito, elas representem um risco inferior.

4.4 Qual a média do prazo de carência e os tipos de garantia para os contratos que apoiam à inovação e os que não possuem nos últimos 05 anos?

# Filtro para obter os dados entre 2019 e 2024
tb_operacao_filtered <- tb_operacao_prep %>%
  filter(ano_contratacao >= 2019 & ano_contratacao <= 2024)

# Calculo da média de carência entre as empresas que apoiam e não apoia a inovação
media_carencia <- tb_operacao_filtered %>%
  group_by(inovacao, ano_contratacao) %>%
  summarise(media_carencia = mean(prazo_carencia_meses, na.rm = TRUE)) %>%
  ungroup()

# Criação do gráfico
ggplot(media_carencia, aes(x = ano_contratacao, y = media_carencia, color = inovacao, group = inovacao)) +
  geom_line(size = 1.2) + geom_point(size = 3) +      
  labs(title = "Média do Prazo de Carência para Contratos com Inovação",
       x = "Ano",
       y = "Média do Prazo de Carência (meses)",
       color = "Inovação") +
  theme_minimal() +
  theme(legend.position = "bottom")

Nos últimos 05 anos, vemos que os contratos “não-inovação” se manteram mais constantes em relação aos contratos que possuem um apoio à inovação. Isso pode significar que esses contratos possuem uma políticas de crédito mais consistêntes e que mesmo com a variação dos anos, passando por periódo de pandemiam, ainda sim, ocorreram poucas alterações nas condições de carência. Já se observarmos os contratos que possuem inovação, a média do prazo de carência flutua e a variação é muito maior. Esse comportamento pode ser identificado na queda brusca em 2020 quando ocorreu a pandemia da covid-19, o BNDES pode ter diminuido a flexibilidade dos seus prazos e condições, pois essa situação apresentou possivelmente um risco alto para o banco. Após esse periódo, observamos que os prazos em 2021 até 2024 ficaram muito mais flexiveis que isso indica que a confiança para essa categoria de empresas foi retomada e com isso ajuda a elas se estruturarem e investirem em outras áreas, antes de iniciar o pagamento das amortizações.

5 Conclusões

Através das análises feitas nesse projeto, podemos perceber como eventos da econômia podem impactar a liberação de crédito para empresas e como isso varia entre os setores que estão classificadas. Momentos como impeachment e pandemia da covid, ficam evidênciados no gráfico e geralmente os juros se elevam, por causa do risco desses momentos críticos da economia.

Esse trabalho é importante, pois observar o comportamento para definir politicas de emprestimo de crédito, no caso para contratos análisados via intervenção humanda, para empresas impacta a economia em alguns aspectos como:

  • Diminuição do risco de inadimplência, pois uma liberação de crédito mais precisa, ajuda as empresas à manterem sua estabilidade economica
  • Direcionamento dos recursos para setores que auxiliam e insvestem em inovação para o crescimento economico do país
  • Concessão de crédito bem aplicadas ajuda as empresas se manterem além de evitar falência e consequentimente demissões em massa.

A análise infelizmente não pode ser tão profunda por limitações dada ao tema do projeto. No cenário real, nas instituições financeiras, são feitos vários estudos para definir as politicas de credito para pessoas júridicas em conjunto com bases de dados pagas, bases do bacen, serasa e diversas outras bases para conseguir ser o mais assertivo possivel e minimizar os riscos. Além disso, esse conjunto de bases, possuem informações sensíveis que não podem ser divulgadas em um relatório online, devem ser controladas e governadas em um ambiente seguro.