Fazendo as primeiras projeções com o 4MD

library(epe4md)
library(tidyverse)

O pacote epe4md possui diferentes funções encadeadas para realizar as projeções de difusão da Micro e Minigeração Distribuída (MMGD) no Brasil. No entanto, a função epe4md_calcula condensa todas as funções intermediárias e permite gerar resultados a partir da execução de apenas essa função.

Definindo argumentos obrigatórios

Há apenas dois argumentos obrigatórios que precisam ser definidos para rodar a função epe4md_calcula.

Em primeiro lugar, deve-se definir o argumento ano_base que indica o último ano do histórico com dados disponíveis. Esse argumento está relacionado especialmente com a importação da base de dados.

Na sequência, um argumento essencial para a execução da projeção é a definição das premissas regulatórias. Ou seja, qual o modelo de compensação dos créditos de energia gerada, quando haverá mudanças no modelo, se haverá tarifas binômias para consumidores de baixa tensão, etc. Essas premissas são definidas através de um arquivo .xlsx. Um exemplo de entrada é apresentado a seguir, a partir de um arquivo que é instalado junto com o pacote. No entanto, o usuário pode carregar um arquivo similar a partir de suas premissas.

premissas_regulatorias <- 
  readxl::read_xlsx(system.file("dados_premissas/2021/premissas_reg.xlsx",
                                                        package = "epe4md"))

print(premissas_regulatorias)
#> # A tibble: 17 x 5
#>      ano alternativa p_transicao binomia demanda_g
#>    <dbl>       <dbl>       <dbl> <chr>   <chr>    
#>  1  2021           0        1    FALSE   FALSE    
#>  2  2022           0        1    FALSE   FALSE    
#>  3  2023           1        0.15 FALSE   TRUE     
#>  4  2024           1        0.3  FALSE   TRUE     
#>  5  2025           1        0.45 FALSE   TRUE     
#>  6  2026           1        0.6  FALSE   TRUE     
#>  7  2027           1        0.75 FALSE   TRUE     
#>  8  2028           1        0.9  FALSE   TRUE     
#>  9  2029           1        1    FALSE   TRUE     
#> 10  2030           1        1    FALSE   TRUE     
#> 11  2031           1        1    FALSE   TRUE     
#> 12  2032           1        1    FALSE   TRUE     
#> 13  2033           1        1    FALSE   TRUE     
#> 14  2034           1        1    FALSE   TRUE     
#> 15  2035           1        1    FALSE   TRUE     
#> 16  2036           1        1    FALSE   TRUE     
#> 17  2037           1        1    FALSE   TRUE

As variáveis da tabela são explicadas a seguir:

alternativas

Valor entre 0 e 5 que representa a forma de compensação da parcela da geração injetada na rede.

A figura a seguir ilustra as alternativas de compensação. Componentes tarifárias compensadas em cada alternativa e valor correspondente, em relação à tarifa cheia (B1) em 2020

p_transicao

Representa o percentual da alternativa anterior a ser pago pelo consumidor. Varia de 0 a 1, sendo 1 = 100%. Esse parâmetro permite um escalonamento da cobrança.

binomia

Representa a cobrança ou não de uma tarifa binômia na baixa tensão, em que as componentes TUSD Distribuição e TUSD Transmissão passariam a ser cobradas de forma fixa, não sendo passíveis de compensação. Pode ser TRUE ou FALSE.

demanda_g

Representa a cobrança de TUSDg para a demanda de consumidores do grupo A. Caso seja FALSE, é considerada a cobrança da TUSD consumo.

Rodando o modelo 4MD

A função epe4md_calcula possui outros argumentos pré-definidos, que podem ser alterados caso seja de interesse do usuário. A seguir, por exemplo, iremos especificar o horizonte desejado da projeção como sendo 2035. Caso não fosse atribuído valor para esse argumento da função, o resultado iria até 2050. Para mais informações, verificar a documentação da função.

resultado <- epe4md_calcula(ano_base = 2021,
                              premissas_reg = premissas_regulatorias,
                              ano_max_resultado = 2035)

A saída da função traz um data frame com a projeção do número de adotantes, da capacidade instalada e da geração de energia. Os resultados estão em base mensal.

# Exemplo de resultado para o estado do RJ

resumo_potencia_rj <- resultado %>%
  filter(uf == "RJ") %>%
  group_by(ano) %>%
  summarise(adotantes_ano = sum(adotantes_mes),
            capacidade_ano_mw = sum(pot_mes_mw)) %>%
  ungroup() %>%
  mutate(adotantes_acum = cumsum(adotantes_ano),
         capacidade_acum_mw = round(cumsum(capacidade_ano_mw))) %>%
  select(ano, adotantes_acum, capacidade_acum_mw) %>%
  print()
#> # A tibble: 23 x 3
#>      ano adotantes_acum capacidade_acum_mw
#>    <dbl>          <dbl>              <dbl>
#>  1  2013              8                  0
#>  2  2014             38                  1
#>  3  2015            205                  2
#>  4  2016            764                  5
#>  5  2017           1884                 12
#>  6  2018           3998                 31
#>  7  2019          11217                 91
#>  8  2020          23186                204
#>  9  2021          50288                407
#> 10  2022          87506                662
#> # ... with 13 more rows

O usuário pode explorar esses resultados da forma como achar melhor, embora existam algumas funções no pacote que resumam os resultados em nível nacional.

resumo_potencia <- epe4md_sumariza_resultados(resultado)

#Resultado de capacidade instalada, em GW.
print(resumo_potencia)
#> # A tibble: 23 x 5
#>      ano pot_ano geracao_gwh pot_acum geracao_mwmed
#>    <dbl>   <dbl>       <dbl>    <dbl>         <dbl>
#>  1  2013 0.00206        1.15  0.00206         0.131
#>  2  2014 0.00274        5.44  0.00480         0.621
#>  3  2015 0.0166        23.0   0.0214          2.62 
#>  4  2016 0.0640       116.    0.0854         13.3  
#>  5  2017 0.157        333.    0.243          38.0  
#>  6  2018 0.433        861.    0.676          98.3  
#>  7  2019 1.60        2281.    2.28          260.   
#>  8  2020 2.89        5778.    5.17          660.   
#>  9  2021 4.58       10883.    9.75         1242.   
#> 10  2022 3.62       17141.   13.4          1957.   
#> # ... with 13 more rows

epe4md_graf_pot_acum(dados = resultado)

Projeção de capacidade instalada de MMGD


epe4md_graf_pot_segmento(dados = resultado)

Projeção de capacidade instalada de MMGD por segmento


epe4md_graf_geracao_mes(dados = resultado)

Projeção de geração mensal de MMGD