VGBL vs PGBL: a matemática que coloquei no Prev Calc
Como modelar contribuição, benefício fiscal, reinvestimento e tributação dos dois produtos de previdência privada para chegar numa comparação honesta de renda mensal líquida.
A pergunta parece simples: VGBL ou PGBL?
Quando você vai numa corretora, a resposta é quase sempre a mesma: "depende da sua declaração de IR, se for completa vai PGBL, se for simplificada vai VGBL". Tecnicamente correto, mas raso. A pergunta interessante não é qual produto escolher — é quanto cada um te entrega de renda mensal líquida na aposentadoria, comparáveis diretamente.
Para responder isso no Prev Calc, tive que modelar quatro coisas que muitos simuladores ignoram:
- Tributação na fase de acumulação (PGBL deduz, VGBL não)
- Reinvestimento da economia fiscal do PGBL
- Tributação na fase de resgate (PGBL sobre total, VGBL só sobre ganho)
- Regime regressivo do IR no longo prazo
Cada uma tem armadilhas. Esse post detalha cada uma e mostra a matemática que rodou no simulador.
1. O benefício fiscal do PGBL
A regra: contribuições para PGBL são dedutíveis no IR até 12% da renda bruta tributável.
Em código:
function calcularDeducaoMaxima(rendaBrutaAnual) {
return rendaBrutaAnual * 0.12;
}
function economiaFiscalAnual(contribuicaoPGBL, aliquotaMarginal, rendaBrutaAnual) {
const deducaoMax = calcularDeducaoMaxima(rendaBrutaAnual);
const deducaoEfetiva = Math.min(contribuicaoPGBL, deducaoMax);
return deducaoEfetiva * aliquotaMarginal;
}
A primeira armadilha: muitos simuladores assumem que toda a contribuição PGBL deduz. Não é verdade. Se você ganha R$ 100k/ano e contribui R$ 20k pro PGBL, só R$ 12k deduzem. Os outros R$ 8k continuam tributados normalmente.
A segunda armadilha: a economia depende da alíquota marginal, não da efetiva. Se você está na faixa dos 27,5%, cada R$ 1.000 deduzidos te dá R$ 275 de economia. Mas se sua renda é baixa o suficiente pra estar nos 7,5% ou 15%, o PGBL perde muito do encanto.
2. O reinvestimento da economia fiscal
Aqui está a parte que poucos simuladores tratam com cuidado.
A economia de IR do PGBL só faz sentido se ela for reinvestida. Se você usa o dinheiro pra comprar um carro, o PGBL virou pior que VGBL — você só adiou o imposto.
No Prev Calc, eu assumo que a economia anual de IR é reinvestida no próprio PGBL no ano seguinte. Isso é o que um investidor disciplinado faria, e é o que faz a comparação ser honesta.
function simularPGBLAnoAAno(params) {
let saldo = params.saldoInicial;
const fluxos = [];
for (let ano = 1; ano <= params.anosAcumulacao; ano++) {
const contribuicao = params.contribMensal * 12;
saldo = (saldo + contribuicao) * (1 + params.taxaNominal);
// No fim do ano, reinveste a economia fiscal do ano anterior
if (ano > 1) {
const economiaAnoAnterior = economiaFiscalAnual(
params.contribMensal * 12,
params.aliquotaMarginal,
params.rendaBrutaAnual,
);
saldo += economiaAnoAnterior;
}
fluxos.push({ ano, saldo });
}
return fluxos;
}
A diferença do "PGBL com reinvestimento" para "PGBL sem reinvestimento" pode ser de 20-30% no patrimônio final em horizontes de 25-30 anos. Não é detalhe.
3. A tributação no resgate
Aqui o VGBL ganha sua revanche.
No VGBL, o IR incide só sobre o rendimento. Se você contribuiu R$ 500k ao longo de 30 anos e o saldo virou R$ 2M, o IR incide sobre os R$ 1,5M de ganho.
No PGBL, o IR incide sobre o total. Mesma simulação: R$ 2M, IR sobre os R$ 2M.
function calcularIRSaque(produto, valorSaque, rendimentoAcumulado, aliquotaIR) {
const baseCalculo = produto === "VGBL" ? rendimentoAcumulado : valorSaque;
return baseCalculo * aliquotaIR;
}
A pergunta-chave: a economia fiscal acumulada na fase de acumulação compensa o imposto a mais na fase de resgate?
A resposta exige modelar o regime regressivo.
4. O regime regressivo
A maioria dos contratos de previdência usa o regime regressivo de IR, que premia quem fica mais tempo:
| Tempo no plano | Alíquota |
|---|---|
| Até 2 anos | 35% |
| 2 a 4 anos | 30% |
| 4 a 6 anos | 25% |
| 6 a 8 anos | 20% |
| 8 a 10 anos | 15% |
| Acima de 10 anos | 10% |
Para um plano de 30 anos, a alíquota efetiva é 10%. Isso é o que torna a previdência atraente: 10% de IR final é quase metade do que você pagaria nos 22,5% mais baixos do regime progressivo.
Mas tem um detalhe traiçoeiro: a contagem de tempo é por contribuição, não pelo plano todo. Se você abriu o plano há 30 anos mas fez uma contribuição extra ontem, aquela contribuição volta a ser tributada em 35% se você sacar nos próximos 2 anos.
No Prev Calc, eu trato cada mês de contribuição como uma "tranche" separada com sua própria alíquota regressiva, e o saque retira primeiro das tranches mais antigas (mais baratas fiscalmente). Isso é o método PEPS (primeiro a entrar, primeiro a sair) para fins fiscais.
function calcularIRSaqueRegressivo(tranches, valorSaque) {
let restante = valorSaque;
let irTotal = 0;
// Ordena por antiguidade — saca primeiro das mais antigas (10%)
const ordenadas = [...tranches].sort((a, b) => a.dataContribuicao - b.dataContribuicao);
for (const tranche of ordenadas) {
if (restante <= 0) break;
const sacado = Math.min(restante, tranche.saldo);
const aliquota = aliquotaRegressivaPorIdade(tranche.dataContribuicao);
irTotal += sacado * aliquota;
restante -= sacado;
}
return irTotal;
}
É um nível de detalhe que muitos simuladores deixam de lado, mas é o que torna o cálculo realista.
Quando PGBL ganha (e quando não ganha)
Depois de modelar tudo isso, o resultado fica claro. PGBL ganha quando:
- Você está em alíquota marginal alta (22,5% ou 27,5%) hoje
- Você reinveste 100% da economia fiscal
- Tem horizonte de 10+ anos (regime regressivo cai pra 10%)
- Sua renda na aposentadoria será menor que a atual
VGBL ganha quando:
- Você usa declaração simplificada
- Sua alíquota marginal hoje é baixa (7,5% ou 15%)
- Você não conseguiria reinvestir a economia
- Sua renda na aposentadoria pode subir (heranças, aluguéis, etc.)
E a opção quase sempre superior a um deles puro: PGBL até 12% da renda bruta, VGBL pro restante. O simulador permite esse split, e em quase todos os cenários, ele bate ambos os produtos puros.
A renda mensal: a fórmula PMT
Depois de calcular o patrimônio acumulado e o IR a pagar, falta a parte mais importante: transformar o patrimônio em renda mensal.
A fórmula é PMT (payment), padrão de finanças:
function calcularRendaMensal(patrimonio, taxaMensalReal, mesesConsumo) {
if (taxaMensalReal === 0) {
return patrimonio / mesesConsumo;
}
return patrimonio * (taxaMensalReal / (1 - Math.pow(1 + taxaMensalReal, -mesesConsumo)));
}
Essa fórmula assume que você quer zerar o patrimônio na expectativa de vida. Se você prefere deixar herança, o cálculo muda — você restringe o saque a alguma porcentagem do patrimônio (regra dos 4%, por exemplo).
O Prev Calc oferece os dois modos. O default é zerar, porque é o que maximiza renda mensal e é o que faz mais sentido pra quem está usando previdência como aposentadoria pura.
Por que isso importa
Quando você combina os quatro elementos — dedução com teto, reinvestimento da economia, tributação diferenciada no resgate, regime regressivo por tranche, e PMT pra renda — você sai de uma resposta vaga ("depende da declaração") pra uma resposta concreta ("R$ 8.230 vs R$ 7.890 por mês durante 30 anos").
Essa diferença de R$ 340/mês durante 360 meses é R$ 122.400. Não é decisão para chutar.
A matemática não é especialmente difícil — é só boring math aplicado com cuidado. O que costuma faltar não é capacidade técnica; é foco em entregar uma resposta direta ao usuário.
Se você quer ver isso rodando, abre o Prev Calc e mexe nos sliders. Os números mudam em tempo real, e cada premissa é editável.