Como comparamos tarifas de eletricidade
Esta página documenta todos os pressupostos e fórmulas usados numa comparação do PoupaNaEnergia. Nada está escondido — se um valor no resultado parecer errado, a explicação está aqui.
Última atualização: 4 junho 2026
1. Fonte de dados
Importamos todos os tarifários ativos do Simulador de Preços de Eletricidade da ERSE (simuladorprecos.erse.pt) — a entidade pública que regula o setor energético em Portugal. O scraping corre diariamente às 06:10 UTC e cobre as potências contratadas residenciais entre 1,15 e 41,4 kVA, em modalidade simples, bi-horária e tri-horária. Cada tarifário inclui campos identificadores ERSE (erse_code), duração de contrato, fidelização, condições especiais e a data de fim da oferta.
Para tarifários indexados ao mercado grossista (preço varia com o MIBEL/OMIE) usamos o CSV público mantido por Tiago Felícia — o mesmo dataset que alimenta a integração Home Assistant para o mercado português. O ficheiro publica 96 slots de 15 minutos por dia, por comercializadora indexada, com os componentes OMIE + TAR + margem comercial. Sincronizamos diariamente às 06:20 UTC.
Constantes regulatórias (taxas ERSE, IEC, DGEG, contribuição audiovisual, IVA) são mantidas em regulatory_constants e atualizadas em conformidade com cada revisão da ERSE (tipicamente trimestral).
2. Decomposição da fatura
Uma fatura de eletricidade em Portugal não é um valor único — é a soma de quatro componentes sujeitos a regimes de IVA diferentes:
- Energia ativa — consumo (kWh) × preço unitário do comercializador. Este é o único componente onde o mercado liberalizado realmente compete.
- Potência contratada — taxa fixa diária (€/dia), variável segundo o escalão de kVA. Igualmente competitiva entre comercializadores.
- Taxas reguladas — TAR (Tarifa de Acesso às Redes), IEC (Imposto Especial sobre o Consumo), DGEG (Direção-Geral de Energia e Geologia) e contribuição audiovisual. Iguais para todos os comercializadores, definidas pela ERSE.
- IVA — 6% sobre energia e potência até 100 kWh/30 dias (200 kWh para agregados com 4+ dependentes); 23% sobre o excedente, taxas e a subscrição.
A nossa comparação calcula cada um destes componentes de forma independente. O número que vês na coluna Custo anual é o total bruto da fatura — não apenas o preço por kWh.
3. Normalização NET
O simulador da ERSE devolve preços GROSS (com taxas reguladas e IVA incluídos) — não preços comerciais puros. Para comparar comercializadores de forma honesta, precisamos do preço NET de cada um: o quanto o comercializador cobra antes de qualquer taxa regulada.
Usamos trusted totals da ERSE como verdade de referência: dado um perfil de consumo conhecido, sabemos o total cobrado. Subtraímos taxas reguladas, IEC, DGEG, audiovisual e IVA aplicando as fórmulas oficiais, e o que resta é o preço NET unitário (em €/kWh) e o termo fixo NET (€/dia × kVA). Estes valores entram no nosso motor.
Quando uma fatura do utilizador contém subtotais para Energia ativa e Potência (termo fixo) antes de TAR/IVA, usamo-los diretamente — a comparação fica mais precisa (caminho NET). Quando não contém, anualizamos o total e fazemos o split via fórmulas regulatórias (caminho GROSS, com aviso visível).
4. Anualização do consumo
Uma fatura cobre um período de faturação (tipicamente 30 ou 60 dias). Para comparar com o custo anual de tarifários alternativos, anualizamos o consumo:consumo_anual = consumo_fatura × 365 / dias_faturação. Isto pressupõe que o consumo é uniforme ao longo do ano — não é (verão vs inverno pode variar 2-3×). Recomendamos carregar 12 meses de faturas para resultados mais precisos (funcionalidade em desenvolvimento).
Quando a fatura contém one-offs (adesão, multas, ajustamentos), tentamos identificá-los e excluí-los antes de anualizar — caso contrário, o custo atual ficaria inflado e a poupança calculada seria irrealisticamente otimista.
5. Ordenação steady-state
A nossa ordenação é feita pelo custo anual base — o que pagas depois de promoções expirarem. Esta decisão é deliberada. Um tarifário com 5% de desconto nos primeiros 12 meses pode parecer mais barato no ano 1 mas, num horizonte de 24 ou 36 meses, o custo dominante é o preço base — não o preço promocional. Ordenar por preço promocional levaria recomendações otimizadas para um ano, com surpresas no segundo.
Para não esconder a informação, mostramos sempre o custo do ano 1 (com promoção aplicada) ao lado do custo após promoção. O utilizador vê ambos.
6. Tratamento de descontos promocionais
Quando uma oferta tem discount_pct de N% durante M meses, calculamos o custo do primeiro ano misturando promo × (M/12) + base × (1 − M/12). O risk flag promo_expires sinaliza a oferta na UI. Esta abordagem ficou registada na ADR interna de 4 de maio de 2026 ("Engine ranking — steady-state cost + promo as metadata").
Descontos fixos de adesão (€X uma vez) são tratados como benefício único — divididos pela duração contratual média (24 meses) para uma comparação anualizada justa, e nunca como redução de preço unitário.
7. Tarifários indexados
Tarifários indexados (Coopérnico Indexada, Iberdrola Smart Mobility, etc.) seguem o preço grossista. Não os comparamos lado a lado com tarifários fixos no ranking principal — são produtos diferentes, com perfis de risco diferentes. Existe um caminho dedicado de comparação fixo-vs-indexado, baseado nas últimas 4 semanas do CSV TiagoFelicia, agregadas por período horário.
Mostramos sempre o risk flag indexed_volatile em ofertas indexadas e explicamos a variação histórica.
8. Sinalização de risco (risk flags)
Para cada oferta, sinalizamos na UI:
- fidelity_lock — fidelização >12 meses (warning) ou penalização >50€ (danger).
- short_contract — contrato com menos de 12 meses.
- promo_expires — desconto temporário que expira.
- indexed_volatile — tarifário indexado ao mercado grossista.
- has_restrictions — condições de acesso restrito (NIF empresa, agregados específicos, etc.).
- offer_expiring — oferta termina em <30 dias (danger) ou <90 dias (warning).
- requires_conditions — exige débito direto, fatura eletrónica ou outras condições contratuais.
Estas flags nunca alteram a ordenação por preço — apenas surfaceiam informação para que o utilizador decida com contexto completo.
9. Independência editorial
A Poupa na Energia não recebe comissões, patrocínios ou compensações de qualquer comercializador de eletricidade em Portugal — incluindo EDP, Galp, Endesa, Iberdrola, Goldenergy, Repsol ou Coopérnico. Caso uma parceria comercial venha a existir no futuro, será divulgada de forma visível em cada recomendação afetada (princípio de radical honesty).
O nosso modelo de receita é o serviço opcional Piloto Automático(9 €/ano, pago pelo utilizador) e potenciais parcerias master-agent com comercializadoras — sempre divulgadas. A ordenação dos resultados nunca depende de quem paga.
10. Auditoria pós-mudança
A 60 dias após cada mudança ativa contactamos o utilizador para verificar se a fatura real do novo comercializador correspondeu à estimativa. Quando há divergência maior que 10%, abrimos um case interno, identificamos a causa (consumo real diferente, alteração tarifária, condição não declarada) e ajustamos a engine ou a comunicação. Nenhum outro comparador português faz esta verificação — é um diferencial intencional.
11. Como contestar um valor
Se vires um valor que parece errado, escreve-nos para suporte@poupanaenergia.pt com o número RP- do relatório (canto superior do resultado) e o componente que questionas. Respondemos com a fórmula exacta e os dados ERSE que usámos. Se o valor estiver errado, corrigimos em 48h e publicamos a correção no histórico de versões.