Como usar os dados abertos da ANEEL para simular energia solar

Quem começa a montar um simulador de energia solar costuma achar que a parte difícil será o sol. Não é. O dado de geração por município já vem pronto, limpo e documentado. O que dá trabalho de verdade é a tarifa: um arquivo de meio gigabyte, com valores repetidos, três bases tarifárias diferentes, vírgula como separador decimal e o Fio B escondido no meio de dezenas de componentes.
$ ls ./neste-artigo
Este roteiro mostra o caminho completo, do download ao primeiro número confiável, com os erros que aparecem em quase todo projeto.
Os dois conjuntos que importam e o que cada um entrega
O portal de dados abertos da ANEEL tem dois conjuntos que resolvem quase tudo:
| Conjunto | O que traz | Para que serve no simulador |
|---|---|---|
| Tarifas de aplicação das distribuidoras | TE e TUSD homologadas por distribuidora, subgrupo, classe e vigência | Converter a conta em reais para kWh e estimar a conta depois das placas |
| Componentes tarifárias | A TUSD e a TE abertas em dezenas de parcelas, entre elas TUSD_FioB | Calcular quanto da tarifa deixa de ser compensado pela regra de transição |
As duas tabelas usam licença ODbL, que permite uso comercial com atribuição. Para o sol, a fonte mais usada é o Global Solar Atlas, com licença CC BY 4.0, que também exige crédito visível.
Atalho para quem tem pressa: baixe o Parquet em vez do CSV, filtre Tarifa de Aplicação antes de qualquer conta e remova linhas duplicadas. Esses três cuidados evitam 90% dos números absurdos.
Baixe o arquivo certo antes de abrir o pandas
As componentes tarifárias vêm em um arquivo por ano. O de 2026, gerado em outubro, tem cerca de 540 MB e quase 2 milhões de linhas em CSV. Abrir isso numa planilha não funciona, e mesmo no pandas o carregamento demora e consome memória.
O mesmo conjunto está disponível em Parquet, bem menor e com tipos preservados. Se a sua aplicação vai recalcular tarifas periodicamente, use o Parquet e guarde só as colunas e as distribuidoras que interessam.

Se precisar mesmo do CSV, três detalhes de leitura:
- separador ponto e vírgula, não vírgula;
- decimal com vírgula, inclusive em valores como “,00”, sem o zero antes;
- arquivo em UTF-8, apesar de muita gente tentar abrir como Latin-1 e ganhar caracteres quebrados em “Aplicação” e “Econômica”.
Filtre a base tarifária, ou vai somar três vezes o mesmo valor
A coluna DscBaseTarifaria tem três valores: Tarifa de Aplicação, Base Econômica e CVA. Só a primeira é a que aparece na fatura do consumidor. As outras servem ao processo regulatório. Quem agrupa sem esse filtro acaba com tarifas infladas ou zeradas, dependendo da função de agregação.
Depois do filtro, ainda sobram linhas idênticas: o mesmo valor de TUSD aparece várias vezes para a mesma distribuidora, classe e vigência. Use uma deduplicação pelas colunas de chave antes de qualquer média.
As colunas que formam a chave
- Distribuidora: SigAgente nas tarifas, SigNomeAgente nas componentes.
- Vigência: DatInicioVigencia e DatFimVigencia; escolha a faixa que contém a data de hoje.
- Subgrupo: B1 para residencial, B2 para rural, B3 para comércio e serviços.
- Modalidade: Convencional para a maioria das casas; a Branca tem valores por posto horário.
- Detalhe: há linhas marcadas como SCEE, específicas do sistema de compensação, e linhas com Não se aplica.
Para conferir se você chegou ao número certo, compare com a resolução homologatória da distribuidora. Na CPFL Paulista, por exemplo, a tarifa residencial convencional que vale de 24 de abril de 2026 a 7 de abril de 2027 tem TUSD de R$ 449,25 e TE de R$ 290,20 por MWh, ambas sem impostos.
Encontre o Fio B pelo nome da componente
A regra da Lei 14.300 cobra, sobre a energia compensada, uma porcentagem do Fio B que sobe a cada ano: 60% em 2026, 75% em 2027, 90% em 2028. Para aplicar isso, o simulador precisa do valor do Fio B da distribuidora, e ele não está na tabela de tarifas.
Está nas componentes, na linha cuja DscComponenteTarifario é TUSD_FioB. Para a mesma CPFL Paulista residencial, o valor é de R$ 200,53 por MWh, ou cerca de 45% da TUSD. Esse percentual muda bastante entre distribuidoras, e é por isso que simuladores que usam uma fração fixa para o país inteiro erram para cima em umas regiões e para baixo em outras.
Um detalhe de unidade: tudo vem em R$/MWh. Divida por mil antes de multiplicar por consumo em kWh. Parece óbvio até o dia em que o simulador promete economia de R$ 400 mil numa conta de R$ 400.
Junte o sol pelo município
A geração esperada vem do Global Solar Atlas, em kWh por kWp, mês a mês. O valor já desconta perdas típicas do sistema. A prática mais comum é consultar a célula mais próxima da sede de cada município, com as coordenadas da base de localidades do IBGE, e guardar uma tabela de 5.570 linhas por 12 meses.
O enelim segue exatamente esse desenho, cruzando o sol da sede municipal com a tarifa da ANEEL e as regras de compensação da lei. Para ver como isso fica documentado na prática, a página que lista as fontes de dados da simulação solar mostra licenças, recortes e datas de consulta de cada base.
Qual distribuidora atende aquele município
Para ligar município e tarifa, falta saber a concessionária. O SIGEL, sistema de informações geográficas da ANEEL, traz as áreas de atuação. Em municípios atendidos por mais de uma, a escolha usual é a que atende mais consumidores. Guarde essa relação numa tabela própria e revise quando houver mudança de concessão.
Impostos não estão na tabela
Todas as tarifas da ANEEL vêm sem tributos. O consumidor paga ICMS, que varia por estado e às vezes por faixa de consumo, e PIS/COFINS, que variam mês a mês por distribuidora. Uma aproximação razoável para uma primeira versão é aplicar a alíquota mais comum do ICMS residencial de cada estado e uma alíquota fixa de PIS/COFINS, documentando a escolha.
- Aplicação “por dentro”: o ICMS integra a própria base de cálculo, então a tarifa final é a tarifa dividida por (1 menos a soma das alíquotas), e não multiplicada por (1 mais).
- Isenções: alguns estados isentam faixas pequenas de consumo; ignorar isso superestima a conta de quem gasta pouco.
- Bandeiras: ficam fora da tarifa homologada; trate como cenário, não como valor fixo.
Teste com uma conta real antes de publicar
Pegue três faturas reais de distribuidoras diferentes, rode o simulador com os valores informados e compare o consumo calculado com o kWh impresso na conta. Diferenças acima de 10% quase sempre vêm de um destes pontos: base tarifária errada, linha duplicada, imposto calculado “por fora” ou unidade em MWh tratada como kWh.
Se quiser um exemplo de simulador de energia solar para comparar resultados, rode a mesma conta numa calculadora solar com dados oficiais e veja se os números convergem. Quando os dois partem das mesmas tarifas da ANEEL usadas na calculadora, a diferença que sobra mostra justamente onde as premissas divergem.
Quem trabalha com financiamento vai reconhecer o mesmo cuidado de fórmula do guia que calcula o custo efetivo total de um financiamento, útil para acrescentar a parcela do financiamento ao simulador. E o texto sobre sistemas solares que exigem soluções inteligentes ajuda a pensar no monitoramento depois da venda.
Para empresas do setor que preferem não manter esse pipeline, existe a opção de uma calculadora white label para empresas solares, com a marca do integrador, como a oferecida pelo enelim. Na página de método do enelim, as tarifas aparecem como consultadas em 2 de novembro de 2026, e cada uma das outras bases traz a própria data. O erro a evitar a partir de agora é simples de enunciar e fácil de cometer: publicar um simulador sem dizer de onde vêm e de quando são os números. Expor a origem dos dados é o que torna o enelim auditável por qualquer engenheiro disposto a refazer a conta.




