How zeroleft calculates
zeroleft's calculations run in your browser, and the model is simple enough to write down on one page. This is that page. The guides link here rather than restating any of it, so there's one place the numbers are defined.
Money and time
Everything you enter is in today's money for your chosen currency. The engine inflates each figure to nominal terms using your profile's inflation rate, does the year-by-year arithmetic in nominal terms, and reports the results back in real terms. So a "£40,000" figure ten years out has the same purchasing power as £40,000 today.
Investment returns are entered net of fees and taxes. There is no tax model — zeroleft does not know your tax situation, and drawdown order for tax efficiency is out of scope. Treat the output as the shape of a plan, not a withdrawal schedule.
The yearly loop
For each year from your current age to your planning horizon:
- Income arrives (each stream grown by its real growth rate, then inflated).
- Spending happens: baseline living costs, your flat extra spending, any experiences placed that year, any gifts, and debt payments.
- The net is added to or drawn from liquid assets, in order: cash, then brokerage, then other, then retirement accounts once you reach their accessible-from age.
- Assets grow by their expected return; debts accrue interest less the payment.
Illiquid assets — a home — are never drawn down. Whatever they're worth at the horizon counts toward net worth and shows as "unspent". Mark an asset liquid if you actually plan to sell it.
The die-with-zero number
The solver searches for the largest flat real annual amount you can add to your spending, on top of living costs, such that no year is ever left unfunded and liquid assets land at roughly zero by your horizon. It's a binary search over that one number; the rest of the plan is held fixed.
Survival threshold
The floor the plan keeps back, following the book:
factor × yearly cost of living × years remaining
The factor defaults to 0.7. It's a rough backstop, not an annuity — the point is to stop the die-with-zero solve from spending you into a corner.
Health, and the enjoyment of an experience
Experiences are placed at an age and weighed against an enjoyment-ability curve — how much of an experience your health lets you get out of it, from 0 to 1. The default curve, loosely following the book's account of decline, is:
| Age | 20 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|
| Factor | 1.00 | 0.95 | 0.85 | 0.70 | 0.50 | 0.30 | 0.15 | 0.05 |
interpolated linearly between points. The immediate enjoyment of an experience is its subjective weight (1–5) times the health factor at that age, with a sharp penalty if your health is below the minimum the experience needs (a trek needs more than a cruise).
The memory dividend
An experience keeps paying back in recollection for years after it happens. zeroleft uses a deliberately simple linear model:
lifetime value = immediate enjoyment × (1 + rate × years remaining)
The rate defaults to 5% a year. This is why doing something earlier is usually worth more — it has more years left to pay the dividend — and it's what the timing comparison in the app is showing you.
Time buckets
Your remaining life is split into fixed-length windows (default 5 years). Each bucket reports its average health, its planned experience cost, and how that sits against your extra-spending budget for those years.
Gifts
A gift is a fixed real amount at the age you set. Gifts to people are checked against the book's suggested window of ages 26–35 for the recipient — old enough to use the money well, young enough for it to change a path.
Risk: the Monte Carlo
The simulation runs many randomised paths. Each year draws one normal market shock, shared across all assets and scaled by each asset's volatility — so a bad year is bad everywhere at once. This overstates correlation and therefore overstates risk; it's conservative on purpose. The output is the share of paths where you run short, and how your sustainable spending changes if you live longer than planned.
Annuities
An annuity is modelled as a lump-sum outflow at the purchase age and an income stream for life afterwards, optionally inflation-linked. It sits next to the Monte Carlo so you can see what buying a guaranteed floor does to the chance of falling short.
What it deliberately doesn't do
- No tax model. None.
- One person. The data model has room for a partner; the maths doesn't yet.
- No return guarantees. Expected returns and volatilities are your inputs.
- No behavioural model beyond the health and memory curves above.
- It is a planning aid, not financial advice.