Method and assumptions
How it works
Every number this site shows comes from arithmetic you can check with a calculator. Here is that arithmetic, one example worked all the way through, and the list of things it leaves out.
Why this exists
Most retirement calculators ask for a monthly amount and return a single large number, with the assumptions that produced it hidden behind the result. The number is not the useful part. Which assumptions moved it is.
So this site shows return, inflation and tax as inputs you can change, and every projection is an estimate under assumptions you chose rather than a forecast.
Investment Path was built for people who want to understand a long-term saving plan before trusting its headline number. It keeps the assumptions visible, shows the arithmetic, and makes conservative comparisons easy without presenting an estimate as personal financial advice.
Built and maintained by Christoph Dirnbauer. The contact details are on the Legal notice.
The shape of the calculation
The simulation walks one month at a time, from today to the end of the plan. Nothing is computed yearly and then divided. At every monthly boundary, in this order:
- the portfolio grows by that month's return;
- while you are still saving, that month's contribution is added;
- once retirement has started, that month's withdrawal is sold and taxed.
Contributions are paid at the start of each month, so the very first one is made today and earns a return in its first month. A 30-year plan therefore makes exactly 360 contributions, and the return on the last one lands on the boundary where saving ends and retirement begins. Those two phases share that boundary: the first withdrawal is taken there, not a month later.
Turning a yearly rate into a monthly one
Yearly return, inflation and contribution growth are converted to the monthly growth rate that compounds to the annual input:
m = (1 + r)1/12 − 1
For a 7 % yearly return that gives m = 0.565415 % per month, and twelve of those compound back to exactly 7 %.
The shortcut of dividing by twelve is wrong and always overstates growth. 7 % ÷ 12 = 0.5833 % per month, and twelve such months compound to 7.229 % – about 0.23 percentage points of invented return every year. Over thirty years that is not a rounding error. The same exact conversion is applied to inflation and contribution growth.
Withdrawal percentages use a different depletion conversion. It makes twelve monthly withdrawals remove exactly the annual share:
d = 1 − (1 − r)1/12
At 4 % a year this gives d = 0.339605 % per month. Simply dividing the yearly rate by twelve would remove only 3.9275 percent over twelve months, so it would understate the modelled annual depletion.
The month step, and a closed form
With m in hand, each saving month is two operations:
value ← value × (1 + m)
value ← value + contribution
Repeated n times with a constant contribution P, that is the standard future value of an annuity-due:
FV = P × [ (1 + m)n − 1 ] ⁄ m × (1 + m)
The trailing (1 + m) is the "paid at the start of the month" part; without it you would be modelling contributions that arrive a month late. The site does not use this formula – it runs the loop, because the loop also handles contribution changes, one-off events, tax and withdrawals, which no closed form covers. But the two agree to the cent on a plain plan, and the worked example below shows that check.
Inflation-adjusted values
Every figure is shown twice. Nominal is the euro amount at that future date. Real is the same amount after removing inflation:
real = nominal ⁄ (1 + i)n
where i is monthly inflation and n the months elapsed. At 2.5 % a year over 30 years the divisor is 2.097568, so a euro then buys what 48 cents buys now. Real is the honest number to plan with, and it is the one the site leads with.
Why the default is 2.5 %
It is a historically grounded planning assumption, not a forecast. The simple average of the published annual consumer-price inflation rates from 1950 through 2025, the latest complete year, is 2.47 %, or 2.5 % rounded to one decimal place. Figures through 1991 refer to former West Germany and later figures to reunified Germany; shorter periods can differ substantially.
How decision comparisons stay comparable
A comparison is valid only when both paths start with the same resources and every later euro has an owner. Each comparison therefore keeps an explicit timeline of deposits, loan payments, housing benefits, costs, withdrawals and outside cash. A balance may fall to zero; an unfunded cost may not disappear.
Winner language is shown only when timed cash contributions are equal. If they are not, the result reports the additional cash required and compares return measures without pretending the larger-funded path won on equal terms.
Mortgage results separate the contractual fixed-rate period from any continuation. A result after the fixed period exists only when a refinancing rate has been entered, and it remains a scenario rather than a lender offer or affordability approval.
Tax on gains
On a sale, tax is charged only on realised gains – not the full sale value. A German accumulating fund can also incur the Vorabpauschale explained below before any sale.
The German equity-fund default keeps the partial exemption, allowance and tax rate as separate steps. With no allowance left, the combined charge is equivalent to 18.4625 percent of a positive raw gain:
25 % Kapitalertragsteuer × 1.055 Solidaritätszuschlag = 26.375 %
fund income = positive realised gain × 70 percent
taxable income = max(fund income − remaining allowance, 0)
tax = taxable income × 26.375 percent
The order matters. The 30 percent Teilfreistellung reduces qualifying fund income first; the fixed euro Sparer-Pauschbetrag is subtracted afterwards. Folding the exemption into a rate before subtracting the allowance would shrink the allowance to 70 percent of its legal value. An asset that does not qualify uses a zero partial exemption. The Austria preset applies a simplified rate of 27.5 percent to gains realised on sale and uses an average cost basis.
It is not a full Austrian fund-tax model. It does not model ongoing fund taxation, reported distributions or distribution-equivalent income, nor the broker’s actual KESt withholding. Use it as a comparison assumption, not as an Austrian tax calculation.
Church tax is not simply added on
Kirchensteuer is charged on the Kapitalertragsteuer rather than on the gain, and it is itself deductible as a Sonderausgabe – so paying it lowers the tax it is charged on. That makes it a correction to the whole rate, not a number to add at the end:
KESt = taxable capital income ⁄ (4 + k)
total = KESt × (1 + 0.055 + k)
with k = 0.08 in Bavaria and Baden-Württemberg and 0.09 elsewhere. The equity-fund column below is the equivalent share of raw gain after the partial exemption when no allowance remains; the standard column applies to taxable income:
| Church tax | Equity fund | Standard |
|---|---|---|
| none | 18.4625 % | 26.375 % |
| 8 % | 19.473 % | 27.8186 % |
| 9 % | 19.5966 % | 27.9951 % |
The intuitive arithmetic – 26.375 % plus nine, giving 35.375 % – overstates the bill by more than a quarter. Over a long drawdown that is not a rounding error, which is why the rate is computed for you rather than left as a sum to do in your head.
The yearly tax-free allowance
Germany's Sparerpauschbetrag (§ 20 Abs. 9 EStG) leaves the first slice of each year's investment income untaxed: €1,000 per person, €2,000 for a jointly assessed couple. The field takes any number, because it is a legal figure that has been changed before – it was €801 until 2023 – and a projection running to 2060 should not pretend otherwise.
Two properties make it behave unlike a rate:
- It is consumed. Once a year's sales have used it up, every later sale that year is taxed in full.
- It resets and does not carry over. An allowance you did not use is simply gone at the end of the year.
Where a realised loss has been banked, the loss is used first and the allowance absorbs only what survives. That is the order § 20 EStG prescribes, and also the one that wastes least: a banked loss keeps indefinitely, this year's allowance expires.
For a qualifying fund, the partial exemption is applied before the allowance. A €1,200 raw gain becomes €840 of fund income, so a still-available €1,000 allowance leaves no taxable amount.
The site charges it on plan years – consecutive twelve-month periods from the projection start. The saved starting month dates the timeline; it does not turn this approximation into a calendar-year tax assessment. Partial first tax years and dated broker transactions can give different tax timing. Austria has no equivalent allowance.
Vorabpauschale: tax before anything is sold
A German accumulating fund does not distribute, so without a rule its holder would pay nothing for decades. § 18 InvStG closes that with an advance lump sum charged each January on the year just ended:
Basisertrag = base × Basiszins × 0.7
cap = max(year-end value − year-start value + distributions, 0)
Vorabpauschale = max(min(Basisertrag, cap) − distributions, 0)
The factor 0.7 comes from § 18 itself and is separate from the fund partial exemption. After the Vorabpauschale has been determined, the applicable partial exemption, remaining allowance and tax rate are applied in that order.
Two things keep it from running away. The total-return cap includes both price appreciation and distributions, so the same distribution is not subtracted twice, and the Zwölftelung gives each purchase only one twelfth of a year's Basisertrag for each month it was actually held – a December contribution accrues a twelfth, not the lot.
Whatever is charged raises your cost basis (§ 19 Abs. 1 S. 2 InvStG). That matters: without it, the same profit would be taxed once in advance and again when the share is finally sold. And since there is no cash account in a projection, the bill is paid by selling just enough – grossed up for the gain that sale itself realises.
The Basiszins is an assumption, not a constant. The BMF publishes it each January from the Bundesbank's 15-year government-bond yield: 2.55 % for 2023, 2.29 % for 2024, 2.53 % for 2025 and 3.20 % for 2026, which is the default here. It was negative in 2021 and 2022, and the charge those years was nothing at all. Over a thirty-year plan what you assume for 2041 matters far more than any figure yet published, so it is an editable input.
The charge is applied on plan years – consecutive twelve-month periods. For an accumulating fund, the base uses the value at the beginning of that period, its full-period return and acquisition-month weighting. Credits follow the lots that generated them; a January contribution never receives the previous period’s credit. A distributing fund needs separate distribution cash flows and is outside this advance-tax model.
What it costs, in the same example
The plan below – €400 a month for 30 years at 7 %, with the €1,000 allowance – pays nothing at all for its first 10 years: purchases are valued at the January share price and weighted by acquisition month. Year one’s base is €2,547.15, so the Basisertrag is €57.06, and after the partial exemption the allowance covers it many times over. The first actual charge falls in year 11, and it is €33.56. By year 30 the portfolio is large enough that the year's charge is €1,650.47.
Over the whole thirty years €13,729.44 of assets are sold to settle it. The portfolio ends at €449,540.44 instead of €470,425.94 – but most of that gap is tax that would have been due anyway, just later. After settling everything, the plan is worth €410,827.92 against €410,423.30 without the charge.
So on this plan the charge leaves the investor €404.62 better off, and that is not a quirk of the arithmetic. Two opposite things are happening at once. Money taken early cannot compound, which is a real cost: set the allowance to zero and the same comparison shows the charge costing €14,246.47 over thirty years.
Against that stands the allowance, and it is worth being exact about how. It does not shelter the charge every year: it covers it completely for the first 10, and from year 11 onwards tax is really paid, which is how the thirty-year total reaches €13,729.44. What it does in those first years is convert an allowance that would otherwise have expired into cost basis, and every euro charged in any year raises that basis too, so the final sale is taxed on less. Across this plan the €1,000 allowance is worth €14,651.09 against the drag above, which is what turns the sum positive.
Which way it lands is an output of these inputs and not a rule. A portfolio large enough for the charge to outgrow the allowance early, a higher Basiszins, or an allowance already spent on something else all shift the balance back towards the lost compounding. Change the inputs and the same comparison will show you where it goes.
Which shares a withdrawal sells
Selling part of a portfolio means choosing which shares leave, and that choice changes the bill. Two methods are offered:
FIFO sells the oldest shares first, which is what German law prescribes for securities (§ 20 Abs. 4 EStG). Those are the shares that have grown the most, so they carry the largest embedded gain: early withdrawals are taxed harder, later ones more lightly. This is the default, because it is what actually happens.
Average basis applies the portfolio's overall gain fraction to every euro sold, as if every share were an average share. It is the usual projection shortcut, and it understates the tax on the first years of a drawdown.
One sale realises one gain: the proceeds minus the purchase cost of every share in it, netted with sign and only then floored at zero. That is how a single sell order is assessed, so a share now below its purchase price offsets an older share's profit within the same order rather than being ignored. A sale that nets a loss owes nothing and banks that loss against later gains, which is what the Verlustverrechnungstopf of § 20 Abs. 6 EStG does.
Getting a specific amount of cash
When you ask for a fixed sum – a monthly payout, a one-off withdrawal – the sale has to be big enough to leave that much after tax. Selling exactly the amount you want would leave you short by the tax.
Under the average method that is one division. Under FIFO it is not, because as the sale consumes older low-cost lots, the taxable fraction changes; it changes again if the running gain crosses zero. The required sale is solved piecewise, lot by lot, so the cash you asked for is the cash you get.
Which investment account is being modelled?
Eligible fund gains and losses share one account and one annual allowance. A loss can refund withholding paid earlier in the same plan year; unused losses carry forward, while unused allowances expire. Separate brokers and direct-stock loss restrictions need separate account treatment. Taxed portfolios mixing known direct stocks and other assets are therefore refused. Direct stocks receive no fund partial exemption or Vorabpauschale.
Retirement preserves each holding’s purchase lots, tax category and advance-tax credits. Sales are proportional across holdings and FIFO within each holding when FIFO is selected. This is a stated withdrawal policy, not a prediction of your broker’s orders.
A worked example, end to end
Every figure below is produced by the same engine that serves the simulator, on the same calculation version a fresh form submits, and a test recomputes them to keep this page honest.
Take a plan of €400 a month for 30 years, at 7 % nominal return and 2.5 % inflation, held in a German equity fund – so 26.375 % on income the 30 % Teilfreistellung has already reduced, with the €1,000 yearly allowance subtracted in between – followed by 25 years of drawing 4 %. Those are the simulator's own defaults, so you can reproduce every figure below by entering them. The Vorabpauschale is off, as it is on a fresh form; its own cost is worked out above.
Open this example in the simulator
1. The rates
return: (1.07)1/12 − 1 = 0.565415 % / month
inflation: (1.025)1/12 − 1 = 0.205984 % / month
drawdown: 1 − (1 − 0.04)1/12 = 0.339605 % / month
2. The first four months
Month 0 is today: €400 goes in and has not yet grown.
| Month | Growth | Paid in | Value |
|---|---|---|---|
| 0 | €0.00 | €400 | €400.00 |
| 1 | €2.26 | €800 | €802.26 |
| 2 | €4.54 | €1,200 | €1,206.80 |
| 3 | €6.82 | €1,600 | €1,613.62 |
Month 1 checks by hand: €400 × 1.00565415 = €402.26, plus the next €400, is €802.26.
3. After 360 months
| Paid in | €144,000.00 |
|---|---|
| Value, nominal | €470,425.94 |
| Raw gain | €326,425.94 |
| Fund income, after the partial exemption | €228,498.16 |
| Allowance used | €1,000.00 |
| Taxable income | €227,498.16 |
| Tax if sold in full | €60,002.64 |
| After tax, nominal | €410,423.30 |
| Inflation-adjusted value | €224,272.13 |
| After tax, inflation-adjusted | €195,666.31 |
The closed form agrees. Putting the same numbers through the annuity-due formula above:
400 × ((1.00565415)360 − 1) ⁄ 0.00565415 × 1.00565415 = €470,425.94
The month-by-month loop and the textbook formula match to the cent. That is worth stating because it is the one part of this page you can verify in a spreadsheet in two minutes.
The rest follows directly, and the order is the part worth following. The raw gain is what came out minus what went in: €470,425.94 − €144,000.00 = €326,425.94. The 30 % Teilfreistellung comes off that first, leaving €228,498.16 of fund income. Only then is this year's €1,000 allowance subtracted, leaving €227,498.16 taxable, and the tax is 26.375 % of it: €60,002.64.
Doing those two steps the other way round – folding the 30 % exemption into an 18.4625 % rate and then subtracting the allowance – is the mistake this page itself used to make. It is not a matter of rounding: an allowance is a fixed number of euros and a rate is not, so putting the rate first shrinks what the allowance shelters to seven tenths of it. Correctly ordered, the €1,000 takes €263.75 off the bill; the other way round it takes only €184.62. That is the whole of the difference between the €60,081.76 this page published and the figure above it – €79.12.
The inflation-adjusted value divides by the 2.097568 that 30 years of 2.5 percent inflation compounds to: €470,425.94 ÷ 2.097568 = €224,272.13.
Read those last two lines together, because they are the point of the whole exercise. The headline is €470,426. What it is actually worth, in money you can spend today and after the tax office has been paid, is €195,666 – 42 % of the headline. Any calculator that shows you only the first number is showing you the least useful one.
4. The first year of retirement
Drawing 4 % a year means selling 0.339605 % of the portfolio each month. On €470,425.94 that first sale is €1,597.59.
Under FIFO that sale takes the very oldest shares – the first month's contribution, paid in thirty years ago and now worth roughly eight times what it cost. So almost all of it is gain: €1,387.72 of the €1,597.59, or 87 %. The 30 % exemption brings that down to €971.40 of fund income, and a new plan year has just begun, so the whole €1,000 allowance is still there to cover it. Nothing is taxed at all: the full €1,597.59 is paid out, €761.64 inflation-adjusted, and €28.60 of allowance is left over.
The next month is the interesting one. The portfolio has grown, so the sale is slightly larger at €1,601.17 and its gain is €1,391.90, or €974.33 after the exemption. But the €28.60 left over covers almost none of it: €945.74 is taxable, the tax is €249.44, and the payout drops to €1,351.73. Nothing went wrong; the first month simply spent a year's allowance in one go.
That is why the site reports the first year's average rather than the first month alone: €1,379.38 nominal, €650.31 inflation-adjusted. Quoting €1,597.59 would advertise a monthly income the plan pays once every twelve months. The average is what it actually pays.
Notice that the portfolio keeps growing through retirement in this smooth scenario: 7 % growth followed by 4 % dynamic depletion leaves 1.07 × 0.96 − 1 = 2.72 % nominal balance growth over a year. That is a property of these inputs, not a law. Lower the return or raise the withdrawal and the same machinery will show you the balance falling.
Where the return comes from
The worked example uses a fixed rate. Three other modes are available, and they answer different questions.
Fixed applies the same return every month. It shows the shape of compounding clearly and says nothing about risk. Every number above is of this kind.
Historical replays a real monthly return series in order, oldest first. Returns are computed from monthly opening prices, adjusted for splits and for reinvested dividends, so they are total returns rather than price returns, and converted to euro at the exchange rate on each observation date. When a plan runs longer than the data – which most do – the geometric average of the part actually used carries the remainder. Because the series starts at a fixed point in history, a plan beginning at a market peak looks very different from one beginning at a trough. That sensitivity is the point of the mode, not a defect in it.
Monte Carlo draws each month's return randomly from a lognormal distribution whose expected return and volatility match your assumptions, runs many paths, and reports percentile bands. The 10th–90th band contains 80 percent of simulated outcomes under that assumed distribution. It is not an 80 percent guarantee about reality: real markets can produce extreme outcomes more often than this lognormal model assumes.
Your own holdings projects each named holding at its own assumption and sums them month by month, so a portfolio is not one average asset. It is deterministic like the fixed mode unless a market episode is placed on it.
What each mode does differently
The four modes are one engine with four sources of monthly return, so the tax rules, the pension schedule and the advance charge are the same in all of them. Three things are not, and one of them used to be described wrongly on this site.
Fixed return
- Answers
- What a plan comes to if every month earns the same return.
- A sale realises a gain on
- FIFO or average cost, whichever the plan selects. FIFO is the default and is what German law prescribes for securities.
- Order of returns
- None. Returns arrive smoothly, which is the assumption that flatters a drawdown: a bad first decade of retirement does far more damage than the same decade later, and this mode cannot show it.
- Read it as
- A single smooth path. It shows the shape of compounding clearly and says nothing at all about risk.
Historical replay
- Answers
- What the same plan would have done through one real stretch of market history, in order.
- A sale realises a gain on
- FIFO or average cost, whichever the plan selects. FIFO is the default and is what German law prescribes for securities.
- Order of returns
- Whatever the chosen stretch of history actually did. Starting at a peak and starting at a trough give very different answers, and that sensitivity is the point of the mode.
- Read it as
- One path that happened, not a forecast. Where the plan runs past the data, the remainder is carried by an assumption rather than by history.
Monte Carlo
- Answers
- How widely the same plan spreads out when each month's return is drawn at random around your assumption.
- A sale realises a gain on
- Average cost, always. A run keeps no purchase-lot book, so a plan that selected FIFO is still settled on the average basis here. Early withdrawals are taxed a little more lightly than the other modes show.
- Order of returns
- Drawn, not assumed. Each simulated path has its own ordering, and the reported spread is what that ordering is worth.
- Read it as
- A distribution under an assumed distribution. Real markets produce extreme outcomes more often than the lognormal draw does, so the bands are not a probability about reality.
Your own holdings
- Answers
- What a set of named holdings comes to, each projected at its own assumption and summed.
- A sale realises a gain on
- FIFO or average cost, whichever the plan selects. Sales are proportional across holdings, and FIFO applies inside each holding rather than across the portfolio.
- Order of returns
- None by default. Each holding follows a smooth path unless a market episode is placed on it.
- Read it as
- One assumption per holding. A portfolio mixing known direct stocks with other taxed assets is refused rather than estimated, because they cannot share one loss account.
What an expected return means under volatility
Monte Carlo takes two numbers from you, and both are ordinary yearly ones: 7 % is the expected return of a single year, and 15 % is the standard deviation of those yearly returns. Neither is a logarithmic quantity. Reading the second as one is the usual mistake, and it makes the simulation more volatile than the label says.
Each month is drawn from a lognormal distribution whose parameters follow from those two. Writing G for 1 plus the yearly return and s for the yearly standard deviation:
yearly log variance = ln(1 + (s ⁄ G)2)
yearly median gross return = G ⁄ √(1 + (s ⁄ G)2)
At 7 % and 15 % that gives a log standard deviation of 0.139505 and a median year of 5.96 % – 1.04 % below the mean. That gap is not an error and not a fee. A distribution that allows a very good year has to place the typical year below the average one, and the more volatile the assumption the wider the gap grows.
Raise the volatility to 22 % at the same expected return and the median year falls to 4.81 %. Two plans quoting the same return are not quoting the same typical outcome.
One warning about using that rate. The median of a whole plan is not this single-year median applied to the horizon: contributions, withdrawals and tax all interact with the path, so a plan's median outcome has to be read off the simulated distribution rather than computed from one rate. The percentile lines on the chart are the same reading taken month by month, which also means no single line is one simulated future – each point is the level that many separate futures came in below.
Where a plan owes a fixed amount every month, the result reports the share of simulated paths that delivered every one of them. That share is a property of these inputs, this horizon and this many paths, and it is not shown at all for a plan that withdraws a percentage of whatever is there: such a plan cannot run out in the same sense, and its risk is that the income falls, which the income percentiles show instead.
Where the numbers come from
Historical mode uses adjusted monthly opening prices for the selected index or security. Splits and reinvested dividends are included, and each observation is converted to euro before the monthly return is calculated. Prices are cached for a few hours rather than fetched per request.
Because prices are converted to euro before returns are computed, a historical projection already carries the currency experience of a euro investor. That is the right answer for a euro investor and the wrong one for anybody else, which is why historical mode is shown in euro and the currency selector is locked while it is on.
Series that reach further back than any fund
A tracking fund can only show its own lifetime, and the oldest one here begins in 1993, so the crash of 1973 and 1974 and the inflation that followed sit before its first price. A few series are therefore loaded from published datasets instead of being downloaded from a fund. They are always separate entries, never extra years spliced onto a fund's history, so no chart hides a join.
The S&P 500 series beginning in 1971 is built from Robert Shiller's monthly data, using his own total-return figures so that dividends are reinvested by his method rather than by a reconstruction of it.
Two things about it are worth knowing. Its figure for a month is the average of that month's daily closes rather than its last one, which slightly softens the highest and lowest points: across multi-year windows that makes no practical difference, but a one-year worst case reads a little milder than a month-end series would give. And before 1999 the euro did not exist, so the conversion uses the D-Mark at the rate fixed by law, 1.95583 to the euro, because a German investor in 1973 held marks and bore the dollar's fall in marks.
What the currency selector does
The simulator can display figures in euro, Swiss francs, dollars or pounds. That is a label, not a conversion, and the distinction matters in two different ways.
For a fixed-rate or Monte Carlo projection it is harmless. The model multiplies and compounds numbers and has no currency of its own, so 400 a month for 30 years at 7 % is the same arithmetic whichever symbol sits beside it. Nothing is being converted because nothing needs to be.
For a historical backtest it does not apply at all. Those returns are computed from prices already converted to euro, so they include the euro's exchange-rate experience over the period. Choosing pounds would relabel them without recomputing them from a British investor's point of view, and that investor's real return over the same period would have been different. So the selector is locked to euro whenever historical mode is on, rather than offering a symbol the engine never modelled.
Everything else – return, inflation, tax rate, contribution, horizon – is an assumption you supply. None of it is forecast for you.
How statutory calculators are governed
A legal calculator names its jurisdiction, ruleset year, source and supported cases beside the result. Inputs that do not affect the selected legal path are hidden or explained; inputs needed for a correct result are never silently invented.
Unsupported combinations return a scope message instead of an authoritative total. Boundary tests cover thresholds, dates, ages, relationships and benefit months, while independent official examples are retained as versioned regression fixtures.
These results remain estimates. A tax assessment, Renteninformation, benefit decision, insurer statement or contract issued by the responsible institution is authoritative for an individual case.
How property is priced
A purchase price is not an acquisition cost. Transfer tax, notary, land registry and any agent share are spent on day one, are not lent against, and are included in the building and land allocation that the depreciation is calculated from. The first year of depreciation is prorated by the month of acquisition.
A payment into a WEG maintenance reserve is cash leaving your account, and it is not deductible until the association actually spends it. Repairs are deductible when they are paid. The two are separate inputs because treating a reserve transfer as a repair overstates the deduction every year until the money is used.
A sale is modelled with its own friction: agent and transaction costs come off the proceeds, and a private sale inside the ten-year period can be taxed. Owner-occupied use assumes no gain tax; the letting mode offers an explicit taxable-sale scenario rather than deciding for you which § 23 exception applies.
A negative modelled tax is a potential loss offset and not a guaranteed refund: it depends on other taxable income, the loss rules and an accepted profit-making intent.
How pay, pensions and family benefits are calculated
Payroll follows the year's official procedure, including the § 20 SGB IV transition formulas between the Minijob limit and €2,000 and the childless care surcharge from age 23. A Minijob is refused rather than estimated, because its pension election and flat tax are not inputs here.
The state pension is Entgeltpunkte times the Rentenwert, adjusted by a Zugangsfaktor that depends on the pension type actually claimed. Eligibility and the earliest start differ by pension type and qualifying years, and an ineligible start is refused rather than answered with a deduction. Its tax is the amount the pension adds to the household's income, using the euro allowance fixed by the first full calendar year.
Elterngeld uses the special BEEG income procedure rather than an ordinary payslip net, prices every plan over one fixed horizon, and counts net Elterngeld, Mutterschaftsgeld and part-time net salary as the household cash they are. Gross pay is never added to a net benefit.
Inheritance and gift tax aggregates the ten-year acquisitions, taxes them at the combined band and credits the tax already assessed. Exemptions that depend on facts – the family home above all – are granted on those facts and not on an amount you enter.
Market-data provenance
Prices are downloaded on a schedule and served from a local database; no page fetches market data while you are using it. Index histories are shipped with their original source references. ETF history can be shorter than the named index history. The historical tools show the stored coverage and EUR return convention.
Public use of market data requires the operator to confirm the provider’s display and derived-data permissions. The software library’s license does not grant rights to the underlying prices. Unconfirmed datasets must remain disabled for a public release.
Source and review standard
Primary law, ministries, regulators, courts, pension authorities, central banks and index providers establish the rule or data definition. Third-party calculators are used only as independent numerical checks and never override a primary source.
This register lists the calculation version, scope, review dates and original sources for each calculator and guide. The shared footer links here from every page.
Sources and review dates by calculator or guide
How much must I invest each month to reach €1 million?
What could €500 a month become in 30 years?
What could a one-off €10,000 investment become?
What could fund my first retirement withdrawal at 60?
When could my portfolio make work optional?
What if ongoing income covers part of my spending?
What could my portfolio pay at different rates?
What portfolio supports a first €2,000 monthly withdrawal?
How does the four-percent rule change after German tax?
What is €50,000 of zero-interest cash worth in 20 years?
Should spare money go into the mortgage or into the market?
Would buying leave me better off than renting?
What could a flat yield after financing, costs and tax assumptions?
What would a house cost me every month, and for how long?
How could a portfolio of several assets develop?
What could the same equity and monthly budget become?
What could my German state pension pay?
How is my payslip actually worked out?
What would the tax office take from an inheritance?
What will the Vorabpauschale cost me?
Basiselterngeld or ElterngeldPlus – which should we take?
Where does my salary actually go?
What is my effective German income tax rate?
How does a Riester pension actually work?
How does the Rürup Basisrente work?
How does converting salary into a workplace pension work?
Is paying off the mortgage faster better than investing?
How is the German state pension actually calculated?
How do FIRE, Coast FIRE and Barista FIRE differ?
Which withdrawal rate is sensible?
What is inside S&P 500, MSCI World and FTSE All-World?
What does a 70/30 World–Emerging Markets portfolio change?
Could early market losses derail my retirement?
How wide were past drawdowns and rolling returns?
What do these projections include – and leave out?
How much can I safely set aside each month?
When will this debt be repaid?
Will my cash savings cover this purchase?
When an answer last changed
Three dates about a calculator get confused with each other, so this page keeps them apart. A review can pass with nothing changing. A source date is the day a page was read. This is the third one: the reason a figure you saved might not match the figure you get today.
The register starts where the evidence starts, not at the beginning of the project. Earlier releases recorded what changed in prose and in commits, but never mapped a change to the pages whose answer it moved, and reconstructing that now would be a reading of the history rather than a record of it. A page with nothing listed here says so beside its sources instead of pointing at a history that was never published.
| Date | Where | What changed | Calculation version | How it works now |
|---|---|---|---|---|
| The worked example on this page | The published example was generated under calculation version 1, which subtracts the Sparer-Pauschbetrag from a rate the Teilfreistellung has already been folded into - the order this page's own tax section describes as wrong. It is now generated under version 2, as a fresh form submits: the tax on a full sale falls from 60,081.76 to 60,002.64 euro, and the first retirement payout is no longer taxed at all. No calculator's answer changed; the example was configured against a superseded contract. | 2026.09.2 | The method it uses now | |
| Every plan built in the guided planner | The guided planner sent no calculation version, so its requests were read under version 1: the yearly allowance was subtracted from income the Teilfreistellung had already reduced. It now asks for the same version 2 the full simulator has been using, so the two agree on the same plan. A guided plan is worth slightly more after tax than it was - about 79 euro on a thirty-year plan with the one-person allowance, and a little more monthly income in retirement. | 2026.09.2 | The method it uses now | |
| Every worked example, and the Vorabpauschale page | Eligible fund gains and losses now share one plan-year account. A loss can refund withholding paid earlier in the same plan year and unused losses carry forward, while an unused allowance still expires. Drawdown tax in a saved plan can differ from a figure kept before this date. | 2026.09.2 | The method it uses now | |
| Every worked example | Retirement keeps each holding's purchase lots, tax category and advance-tax credits instead of pooling them, and sells proportionally across holdings with FIFO inside each one. Withdrawal tax moves on any plan holding more than one asset. | 2026.09.2 | The method it uses now | |
| The Vorabpauschale page, and every worked example | The advance lump sum uses the value at the start of the period, the return over the whole period and weighting by acquisition month, and credits stay with the lots that produced them. A January contribution no longer receives the previous period's credit. | 2026.09.2 | The method it uses now | |
| The payslip and salary pages | Payroll rounds to commercial cents and separates the statutory contribution branches, with age, factor, employment scope and care-parent status as explicit inputs. Net pay can move by a few cents. | 2026.09.2 | The method it uses now | |
| The Elterngeld planner | Partial maternity months keep their uncovered days, and partner months are granted only where their entitlement conditions hold. | 2026.09.2 | The method it uses now | |
| The inheritance and gift tax calculator | Ten-year aggregation uses the actual acquisition dates rather than an assumed interval between gifts. | 2026.09.2 | The method it uses now | |
| The budget, consumer-debt and cash-goal pages | First published. The budget, consumer-debt and cash-goal pages have had no change to their arithmetic since. | 2026.09.2 | No separate section |
Each entry links to the part of this page explaining how the calculation works now, so the change can be read rather than taken on trust. Each is also recorded against a file in the source this site is built from; that reference is kept for whoever maintains it, and is not published here because a filename you cannot open is not evidence. A change from here on is recorded as it is made.
What it deliberately does not model
The most useful section on this page.
- Costs. Enter the expected return after ongoing product costs. Historical fund prices already reflect the fund-level costs embedded in those prices. Order fees, bid-ask spreads and custody charges are not deducted separately.
- Sequence-of-returns risk, except in Monte Carlo and historical mode. A fixed rate assumes returns arrive smoothly, which is precisely the assumption that flatters a retirement drawdown – a bad first decade of retirement does far more damage than the same decade later.
- Your pension entitlement. A pension is an amount you enter and the plan schedules, not one it works out for you. It does not know your Entgeltpunkte, your Zugangsfaktor or the tax on your pension. What it does with the figure you give it is set out below.
- Your actual tax position. One effective rate and one allowance are applied to realised gains, and the allowance is assumed to be entirely available to this plan. The model does not know your other income, your marital status, or how much of the allowance your bank has already used on a different account.
- Distributing funds. The Vorabpauschale is modelled for an accumulating fund only. A distribution would reduce the charge and be taxed on its own, and neither is guessed for you – switch the charge off if your fund pays out.
- Life. The plan runs exactly as entered, for as long as entered. No contribution gaps, job changes, illness or divorce.
None of this makes a projection useless. It makes it an estimate of one scenario under stated assumptions, which is all any projection has ever been.
What a pension in a projection actually is
This page said for a long time that no pension of any kind was included. That stopped being true when the engine gained a pension schedule, and the real limit is a narrower one.
- What you enter
- A monthly amount in today's money, and the month it starts. Further steps can be added, so a small occupational pension arriving before the state pension is two entries rather than an average of the two.
- How it is treated
- As income you receive, net of whatever tax it attracts. It never enters or leaves the portfolio, so it is never sold and never taxed as a capital gain. It rises with inflation by default; a real increase or decrease on top of that is a separate input.
- What it does to the portfolio
- Nothing. It is added to the portfolio withdrawal, not netted off it: a plan drawing 1,000 a month from the portfolio alongside an 800 pension has 1,800 of income, and the portfolio is drawn down exactly as fast as it would be without the pension. To model a pension that covers part of a target, lower the portfolio withdrawal yourself by the amount the pension supplies.
- What it does not do
- It does not derive your entitlement, apply a Zugangsfaktor, or work out the tax on it. Enter what you expect to receive after tax.
If you do not know what to enter, the statutory pension calculator estimates a monthly amount from contribution years and earnings points. It is a separate tool with its own assumptions, and its answer is not carried into a projection for you.
Privacy, in one line
The public simulator stores nothing you enter: figures are sent to the server, used to compute a result in memory, and not written down. The full account is in the Datenschutzerklärung.
Not advice
This is an educational tool. It is not investment, legal or tax advice, and it is not a recommendation to buy or sell anything. Past performance does not predict future returns. For a decision that matters, talk to someone qualified who knows your situation.