blog.dominik-roth.eu

Performance of the German Pension System

Section 1 - Comprehensive Analysis: German Pension System Contributions, Subsidies, and Returns

Table 1: Federal Pension Subsidies as Share of Federal Revenue

Source: Bundeshaushalt.de, Rentenversicherungsberichte (DRV), EU Ageing Report 2024

Decade Avg Pension Subsidy (€ bn/year) Avg Federal Revenue (€ bn/year) % of Revenue Spent on Pensions
1950s ~1 ~20 ~5%
1960s ~2.5 ~40 ~6%
1970s ~5 ~70 ~7%
1980s ~10 ~120 ~8%
1990s ~20 ~250 ~8%
2000s ~40 ~400 ~10%
2010s ~80 ~600 ~13%
2020s ~100 ~700 ~14%

This table reflects the growing role of tax-funded transfers into the pension system.

Table 2: Effective Pension Contributions as % of Gross Income

Includes employee, employer, and tax-funded equivalent share
Sources: DRV Finanzberichte, BMAS Rentenberichte, EU Ageing Report 2024, Destatis National Accounts

Decade Employee Rate (%) Employer Rate (%) Estimated Tax-Funded Equivalent (%) Total Effective Burden (%)
1950s ~7.0 ~7.0 ~1.0 ~15%
1960s ~7.5 ~7.5 ~1.5 ~16.5%
1970s ~8.5 ~8.5 ~2.0 ~19%
1980s ~9.5 ~9.5 ~3.0 ~22%
1990s ~9.75 ~9.75 ~3.5 ~23%
2000s ~9.75 ~9.75 ~5.0 ~24.5%
2010s ~9.3 ~9.3 ~6.5 ~25.1%
2020s ~9.3 ~9.3 ~7.3 ~25.9%

Assumptions:

  • Tax-funded share derived by dividing federal subsidies by total labor income (approx. €1.5 trillion in the 2020s).
  • Assumes the entire federal subsidy is effectively borne by taxpayers as a uniform income burden.

Table 3: Income Paid In vs. Pension Paid Out (Replacement Rate)

Sources: DRV, BMAS, OECD Pensions at a Glance, EU Ageing Report 2024

Decade Effective Total Contribution (% of gross income) Average Replacement Rate (% of final gross income)
1950s ~15% ~70%
1960s ~16.5% ~65%
1970s ~19% ~60%
1980s ~22% ~55%
1990s ~23% ~52%
2000s ~24.5% ~50%
2010s ~25.1% ~48%
2020s ~25.9% ~47%

Section 2 - Counterfactual Analysis: What If We Invested Pension Contributions into an ACWI ETF?

Scenario

What if, instead of Germany’s statutory pay-as-you-go (PAYG) model, the entire 25.9% of gross income paid into the system were invested in a global equity fund such as the MSCI ACWI ETF?

Assumptions

  • Contribution rate: 25.9% of gross income (for 2020s)
  • Working life: 45 years (ages 22–67)
  • Retirement duration: 20 years (ages 67–87)
  • Real ACWI return: ~5% annually (after inflation, fees)
  • Constant annual contributions: 25.9% of €42,000 = €10,878/year
  • Contributions indexed with 2% wage growth, compounding annually

Mathematical Model

Step 1: Accumulated Wealth at Retirement

Using future value of growing annuity:

Where:

  • Initial contribution (C) = €10,878
  • Return rate (r) = 5% = 0.05
  • Wage growth rate (g) = 2% = 0.02
  • Years of contribution (n) = 45

$$FV = C \cdot \frac{(1 + r)^n - (1 + g)^n}{r - g}$$

Step 2: Sustainable Withdrawal Over Retirement

Use annuity formula to withdraw over retirement period:

Where:

  • Present Value (PV) = FV from Step 1
  • Return rate (r) = 0.05
  • Retirement years (n) = 20

$$PMT = PV \cdot \frac{r(1 + r)^n}{(1 + r)^n - 1}$$

Step 3: Replacement Rate Calculation

Where:

  • Initial salary (S₀) = €42,000
  • Wage growth rate (g) = 2% = 0.02
  • Working years (n) = 45
  • Final salary (S) = S₀ × (1 + g)^n
  • Annual pension (P) = PMT

$$\text{Replacement Rate} = \frac{P}{S} \times 100\%$$

Implementation

def calculate_replacement_rate(contribution_rate, years=45, return_rate=0.05, wage_growth=0.02):
    # Convert percentage to decimal
    contribution_rate = contribution_rate / 100

    # Calculate future value
    initial_contribution = 42000 * contribution_rate
    fv = initial_contribution * ((1 + return_rate)**years - (1 + wage_growth)**years) / (return_rate - wage_growth)

    # Calculate withdrawal
    withdrawal = fv * (return_rate * (1 + return_rate)**20) / ((1 + return_rate)**20 - 1)

    # Calculate replacement rate
    final_salary = 42000 * (1 + wage_growth)**years
    replacement_rate = (withdrawal / final_salary) * 100

    return replacement_rate

# Test all decades
decades = {
    '1950s': 15,
    '1960s': 16.5,
    '1970s': 19,
    '1980s': 22,
    '1990s': 23,
    '2000s': 24.5,
    '2010s': 25.1,
    '2020s': 25.9
}

for decade, rate in decades.items():
    fair_rate = calculate_replacement_rate(rate)
    print(f"{decade}: {fair_rate:.1f}%")

1950s: 107.8% 1960s: 118.5% 1970s: 136.5% 1980s: 158.0% 1990s: 165.2% 2000s: 176.0% 2010s: 180.3% 2020s: 186.0%

Table 4: Comparison of Current System vs Fair System (ETF Investment)

Decade Effective Total Contribution (% of gross income) Current System Replacement Rate (% of final gross income) Fair System Replacement Rate (% of final gross income)
1950s 15% 70% 107.8%
1960s 16.5% 65% 118.5%
1970s 19% 60% 136.5%
1980s 22% 55% 158.0%
1990s 23% 52% 165.2%
2000s 24.5% 50% 176.0%
2010s 25.1% 48% 180.3%
2020s 25.9% 47% 186.0%

Note: Fair System assumes the same contribution rate is invested in a global equity ETF with 5% real annual return, 2% wage growth, 45-year accumulation period, and 20-year retirement period.

Interpretation

  • If the same money were invested privately into global equities with 5% real return, the result would be roughly 4× the payout: 186% vs current 47%.
  • This exposes the opportunity cost of PAYG under low population growth.
  • The pension contribution is only one piece of the German wedge between labour and take-home; I built a fair wage calculator and a UG tax simulator to poke at the rest.

Section 3 - What This Model Ignores

The 4× gap comes from a deliberately simple model. Things it leaves out, and which direction they cut:

  • Sequence-of-returns risk. Volatility is not neutral: a crash shortly before or after retirement hurts more than average returns suggest. The standard mitigations (shifting into bonds over the final decade, or annuitizing at retirement) trade expected return for safety. They do not close a 186% vs 47% gap: rerun the model with a 4% real return and you still get ~133% replacement; even at 3% it yields ~96%, double the current system.
  • The insurance bundle. DRV contributions don’t only buy an old-age pension. They also fund disability pensions (Erwerbsminderungsrente) and survivor benefits. A fully fair comparison would subtract the cost of equivalent term insurance from the ETF contribution. That cost is real, and small relative to the gap.
  • Longevity risk. The 20-year withdrawal plan runs dry at 87; the statutory pension pays until death. Converting the ETF pot into a lifetime annuity at retirement prices this in and lowers the payout, again by far less than 4×.
  • The transition problem. PAYG cannot simply be switched off: current pensioners must be paid while the transition generation saves for itself, so one generation pays roughly twice. This is the strongest argument against reform, but note what kind of argument it is: it is about the cost of leaving the system, not about the system’s performance.
  • 5% real is an assumption, not a law. It is close to the long-run global equity average, but a 45-year forward projection carries genuine uncertainty. The partial consolation: a world in which global equities permanently return far less is also a world of weak growth and weak wages, in which the PAYG wage base is in trouble too. The two systems fail together more than they fail separately.

None of these caveats is small enough to ignore, and none is large enough to change the conclusion. The performance difference is so large that a funded system could give away a substantial share of its expected return (insurance, annuitization, a defensive glide path) and still pay out a multiple of the current system.