LOXODA
PHASE 01ALT 294 KMBEARING 148°DISCLOSING
Method

Every number here is a
judgement. Here are ours.

Early retirement should feel like launch — something worth aiming for, not homework in another spreadsheet. A serious plan needs serious transparency. Here is every assumption that drives your date: what we measure, what you move, and what we will never pretend.

The short version

Nobody knows what
markets will do.

Loxoda does not predict the future and cannot. What it does is refuse to make you invent the most important input yourself.

The problem with one rate
Most plans pick a single market average and paste it on everyone. Your book might be half bonds, three names, or global rather than American. A different mix is a different answer — not a simplification of the same one.
What we do instead
Each holding is judged from its own monthly prices, including dividends paid back in. That history tells us how fast it has grown, how well that growth holds as a straight line, and how bumpy the ride has been. That reading is the starting point for the plan rate, not the rate itself. Your book is not flattened into a single market average unless its history is too thin to trust.
And then we discount it
We then refuse to treat a great decade as a thirty-year plan. Competition eats extra return over time (Damodaran), so we give a name twenty years to run hot, and then that extra dies. Twenty years is Morningstar’s window for how long a wide-moat company can outrun the market; sending the extra to zero is Damodaran and Morningstar’s default. What remains is the market return you chose on the dial — 6% to 10%. That destination does not fade. The working paper sets out the empirical model, citations, and live-book comparisons.
And the weather

Loxoda is not a
backtest.

A backtest replays an old crash across whatever happened to be in the market then — including forcing that history onto assets that did not even exist. Loxoda does the opposite: it takes what you hold today and flies those names through the weather.

Yesterday’s crash, tomorrow’s tickers
The GFC was largely a housing-led wipeout. A lost decade was a long grind in the indexes of that era. A backtest pastes that old crash onto your plan as if your holdings were the market of 2008 — even when half of what you own had not listed yet. That is not robustness. It is costume drama.
Same storm shapes. Your assets.
Want a roughly 50% shock in the spirit of the GFC? A lost decade? A crash two years before you stop working? Resilience Lab runs those shapes against the holdings you actually own — measured from their own history, stressed on your mix, your date, your contributions. Not someone else’s crash replayed as if it were yours.
Eight storms. Stack them.
Crash now, holding −50%, income pause, bad timing, and the rest — aimed at the plan you built, not at a historical index. Stack several; each stack re-runs the same 2,000-path Monte Carlo with those shocks. Storms add stress — they do not replace Plan Confidence.
In detail

The assumptions,
and who moves them.

Where it says “yours”, that number is a control in the cockpit and you can change it whenever you like.

What you ownYour tickers, share counts, and cash buffer — the book every path runs on. We price holdings at the latest split-adjusted close, and your monthly contributions buy fractional shares across the book.
Yours
Growth of each holdingFor each Growth holding we read its own monthly prices, including dividends paid back in. That tells us how fast it has grown, how well that growth holds as a straight line, and how bumpy the ride has been. If there are fewer than three years of prices, we treat that growth line as too thin to trust. This is the starting point for the plan rate, not the rate itself.
Measured
From chart to plan rateA past growth rate is a noisy number. You can measure how bumpy a holding has been from a fairly short history; knowing what it should earn from here needs far more data — that is why last decade’s chart is not the forecast (Merton). So we pull that past growth toward the market return you chose on the Risk Compass. If the holding has already grown more slowly than that market view, we leave it there: we do not invent extra growth to catch it up. A single company and an index tracker follow the same rule.
Built in
Your view of the marketThe Risk Compass is your view of the market for the long run — 6% Ultra conservative to 10% Very bullish. After the hot window, names and trackers both settle there. You can override one Growth name if you want a different view of that holding alone; Income holdings ignore the dial. The compass does not change what you own, and it does not change how bumpy we measured each holding to be.
Yours
Whether fast growth persistsA great decade is not a thirty-year assumption. A company that has outrun the market will not do that forever: competition eats the extra (Damodaran). We give a name twenty years to run hot, then the extra dies. Twenty years is Morningstar’s window for how long a wide-moat company can stay ahead; sending the extra to zero is Damodaran and Morningstar’s default. What remains is the market return you chose on the dial. The pace is built into the model, not a dial you can turn.
Built in
What a name settles toAfter those twenty years, a winner does not keep a forever extra. It settles to the market you chose on the Risk Compass — 6% to 10%. Names and trackers both settle there. In the long run the extra is gone (Damodaran), which is why we do not pay a hot name a special premium for life. The working paper sets out the citations, the CAPM alternative, and what that choice does to wealth — it is there for the reader who wants to see the work.
Built in
The long-run market baseline8.0% nominal — about 5.4% real at 2.5% inflation. That is a haircut on the long-run US record (Dimson, Marsh & Staunton), paying for the share that came from prices being re-rated once rather than from earnings growing forever. It is the Balanced destination after extra dies, and the market we use when history is too thin to trust. It is fixed in the engine, not a cockpit dial: if you think 8% is generous, you cannot lower it here — the anchor is our judgement call, stated openly.
Built in
Crypto holdingsCoins do not use the Growth chart recipe above. A coin that has 100×’d tells you nothing about the next thirty years, so Loxoda never projects one from its own past return. Instead it measures how much market risk the coin carries — its beta against equities — pays that a CAPM premium (more market risk, more required return), with Frazzini & Pedersen, Betting Against Beta, then subtracts the odds it stops trading, which is why a newer coin lands below a global tracker. The ceiling is 15% — VanEck’s published base case for Bitcoin. The Risk Compass still applies: it moves how much of that risk premium you believe gets paid and how likely the coin is to survive; measured volatility is untouched at every setting.
Built in
Income holdingsIncome is opt-in. We strip dividends out of the price path so the coupon is not counted twice, then fit capital on what is left. Near par locks that capital flat at 0%. Income ignores the Risk Compass and the 8.0% equity anchor; measured capital volatility still shocks the path.
Built in
Trackers of the same indexTrackers of the same index share one history, because they are the same bet. VOO and SPY are the same S&P; two FTSE 100 funds are the same FTSE 100. A newer, shorter share class does not get a hotter forecast just because its own chart is luckier.
Built in
Investment costsFund charges are already in each holding’s chart. Extra platform or plan cost is yours to type — Annual cost I actually pay, default 0.
Yours
How much you add each monthThe monthly amount you add while working, split across your holdings (by default in proportion to what you already own). Or we can work backwards — find the contribution that exactly funds your target nest egg on the mean path.
Yours
Interest on cashWhatever annual rate you set, compounded monthly in saving and spending. In Plan Confidence, cash earns that rate with no volatility — it dampens bumpiness in the portfolio rather than behaving like another stock.
Yours
How holdings move togetherWe look at how your holdings have actually moved together, month by month, using the months they share. Where that shared history is thin, we do not pretend we know — we assume they move together more, not less. Then we assume they will move together even more in a crash, because in falling markets things that looked independent start falling together (Longin & Solnik). That is why adding another ticker only helps the plan if it does not rise and fall with everything you already own. Cash is different: it stays cash, so it reduces risk by not being another stock.
Built in
When you stop workingYour target retirement age is when contributions stop and drawdown begins. Separately, we search for the earliest age your current trajectory still funds the plan through your horizon — including whether you could retire today on what you hold, with no further contributions.
Yours
Coast ageSeparately from earliest freedom: the youngest age at which you can stop adding money and still retire on the retirement date you set — growth alone carries the pot from there. It always lands at or before freedom.
Built in
InflationYour annual rate, compounding the spending need from today through the plan. Guaranteed income can track inflation or stay fixed nominal — flat pensions erode in real terms unless you flag them as inflation-linked. A permanently different inflation rate does not lift the returns we assume, because that regime is already inside the 8% anchor.
Yours
How long the plan must lastThe age the plan must last until — default 95. We simulate month-by-month from retirement through that age; if the portfolio runs out before then, the plan fails.
Yours
What you’ll spend, and whenA base lifestyle plus timed obligations that switch on and off at real ages (mortgage until 58, tuition until 22, and so on). Each month in retirement we look up what you need at that age, inflate it from today, net off guaranteed income, and draw the rest from the portfolio. A dated bill runs for the whole of the years its label promises: “until 58” means through your fifty-eighth year, not up to your fifty-eighth birthday.
Yours
Guaranteed incomePensions, annuities, rental flows, and Social Security — each with a start age and an inflation flag. Claim-age adjustments apply where configured; fixed sources stay nominal unless you mark them inflation-linked.
Yours
Tax on withdrawalsUK and US plans run Tax-aware unless you switch it off next to Target Value: we gross up withdrawals so you still net your spending goal after estimated income and gains tax — computed inside the monthly path, not bolted on as a flat rate at the end. US plans include required minimum distributions from deferred accounts. Everywhere else the plan is shown before tax. This is a model for planning, not tax filing.
Rules
Which account is drawn down firstOn the standard path we spend unassigned cash first, then sell across holdings in proportion to what you own. With Tax-aware on the spend order is fixed: unassigned cash → Taxable brokerage → 401(k) → Roth IRA, with required distributions taken from deferred when due, and money the access age has sealed skipped. What actually applies here: Taxable brokerage (income + capital gains); Roth IRA (tax free); 401(k) (taxed as income).
Built in
Pension and account access agesEnforced, not just documented (59½, or 10% more before it). In the US the 10% additional tax exists, in the IRS's own words, to discourage the withdrawal — a price on something you are allowed to do. So Loxoda draws the money, charges the 10% on top of income tax, and names the years it applied to. It spends taxable and Roth IRA money first, because that is what avoids the charge.
Built in
Plan ConfidenceThe share of 2,000 simulated futures in which the portfolio never runs out — a model result, not a probability that the real world will go that way. Each month we draw a random return consistent with expected growth and measured turbulence, apply the same twenty-year fade as the main chart, and stress your actual withdrawal schedule. We cap display at 99%. Read it as a band, not a point: a percent or two either way is simulation noise, not a change in your plan.
Built in
Storms (Resilience Lab)Eight stackable shocks you can run on top of baseline Monte Carlo — crashes, bad timing, flat decades, pauses in contributions, lump expenses or windfalls, a single holding halving, a temporary inflation wave (the extra rate stops; prices stay at the higher level). Baseline and stressed runs share the same random seed so you’re comparing like with like. Storms add stress; they do not replace your headline Plan Confidence.
Yours
Property and other things you ownYour home is not retirement money until you sell it, because you have to live somewhere. So a property sits outside your plan and changes nothing until you tell us you are selling — and then we ask what you will buy or rent instead. Rent is different: if a place pays you every month, that is income, and it counts from the day you add it. What you never sell is counted in what you leave behind. The same goes for a business stake or a collection: what it is worth only becomes spendable on the day it changes hands.
Yours
What selling costs youWhat reaches your plan is not the sale price. Fees come off first — 2.5% for estate agent and legal work — then whatever is left on the mortgage, then any tax. Loxoda shows you that whole walk on the row, so the figure you end up with is the one you would really bank. The 2.5% is fixed, and closer to a UK sale than a US one. Capital gains tax is worked out from what you paid, on the same HMRC or IRS ladder as the rest of the plan; the home you live in is relieved of it. If a sale genuinely owes no tax — a small collectable, a wasting asset, a gold Sovereign — you say so and we take your word rather than guessing at reliefs. A taxable sale with no purchase price entered is left out of the plan entirely, because charging no tax would flatter it.
Built in
Exchange ratesEvery country plans in its own money. Anything you enter in another currency converts at today’s rate, and that rate is then held for the whole projection. We do not forecast exchange rates. Rates refresh on every visit; if the feed cannot be reached, the plan says so rather than quietly using a stale one.
Built in
Market dataSplit-adjusted monthly prices, dividend yields and company metadata, refreshed daily. Exchange rates come from the same market feed, refreshed daily.
External
Honest limits

What the model
won’t pretend.

Any tool that only tells you what it’s good at is telling you half the story.

A short history is a weak signal
A holding with three years of data gets a far less meaningful trend than one with twenty. Loxoda shows you how well-behaved each history has been so you can judge it — but a young stock is a guess wearing a number.
The past is not a promise
A company can trend beautifully for a decade and then break. No amount of regression sees that coming. This is exactly why the stress scenarios exist, and why you should run them.
The dial changes the story, not the portfolio
A bullish setting does not change what you own. Same holdings, same market weather — you’re choosing your view of the market, from 6% to 10%. More optimistic reading. Same book.
Tax is modelled, not filed
Real tax has edge cases, reliefs and personal circumstances no model covers. Loxoda gets you far closer than a gross projection, which is the honest claim — not that it replaces an accountant. Every rule we apply and every one we skip is listed below, with what each omission is worth.
Two countries have real tax. The rest are before tax
The UK and the US have full tax modelling — brackets, allowances, forced withdrawals, access ages, the lot. Everywhere else the plan runs normally and is shown before tax.
Tax on the way up is under-charged
We only realise a capital gain when the plan sells to fund your spending. A real portfolio also realises gains through rebalancing and fund distributions, which we do not model — so tax on the way up is likely understated on a taxable book held in funds or rebalanced often.
A temporary wave is not a new regime
Resilience Lab passes 60% of a short inflation shock through to nominal returns — assets reprice with the money. Your plan’s own inflation slider does not lift returns, because a permanently different regime is already inside an 8% anchor fitted across the 1970s and the 2010s. Both are deliberate. They are not the same mechanism.
Spending does not smile down with age
Your base lifestyle stays flat in real terms for the whole retirement — only dated bills turn on and off. Real spending often falls in later decades; if we modelled that decline it would read about 3–6 confidence points higher. A household that wants a smile can build one from dated obligations today.
Tax

Current law, projected
forward.

Loxoda models current law. It does not forecast tax policy, and after April 2031 the UK figures rest on the default statutory uprating rule rather than any announced measure. These are planning estimates, not tax advice or a filing calculation.

Below is what we model for UK and US tax today — and the main gaps we still leave on purpose. If you know what is missing, you can allow for it; if you do not, your own numbers may disagree with ours.

How thresholds ageEach threshold moves the way its own statute says — indexed every year for the US, frozen to April 2031 then indexed for the UK personal allowance and basic rate limit, never for the £100,000 taper or the Social Security taxability thresholds.
Rules
Half of a taxable sale is treated as gainEnter what you paid in Advanced → Accounts and we track cost basis forward — contributions raise it, sales retire it in proportion. Leave it blank and we assume half of every taxable-account sale is gain, which overstates tax on a recently-built book and understates it on a long-held one.
Built in
Withdrawal orderBank cash (if any) → Taxable brokerage → 401(k) → Roth IRA. Required distributions are taken from deferred when due.
Built in
Pension money before the access ageIn the US, below 59½, the money is spendable and carries a 10% additional tax on top of income tax. We draw it, charge the 10%, and name the years it applied to — refusing it would tell you a plan is impossible when the IRS merely taxes it. We spend taxable and Roth IRA money first, because that is what avoids the charge.
Built in
US health savings accountsAn HSA is not a pension: no forced withdrawals, and no access-age gate. But every HSA withdrawal is taxed as ordinary income, which is right for a non-medical withdrawal after 65 and over-taxes a qualified medical one — those are tax-free at any age. The model cannot tell which dollar is which, so it errs against you rather than for you.
Built in
Inflation used for upratingThe plan’s own inflation rate stands in for chained CPI-U (US) and September CPI (UK). Resilience Lab inflation waves do not move statutory thresholds.
Built in
Forced withdrawals, per personUS required minimum distributions are computed on each person’s own pension and their own age, so a younger partner is not forced to draw before they have to, and an older one is. Tell us whose each wrapper is in Advanced → Accounts; anything unmarked counts as yours.
Built in
US Net Investment Income TaxCharged at 3.8% on the smaller of your investment income and the amount your income exceeds $200,000 single or $250,000 joint. Those thresholds were fixed in cash in 2013 and are never indexed, so the tax reaches further down the income scale every year a plan runs — which is modelled, not smoothed away.
Built in
OBBBA senior deduction$6,000 per qualifying filer aged 65 or over, on top of the standard deduction and the existing 65+ addition, for tax years 2025 to 2028 only. It tapers away above $75,000 of income single and $150,000 joint, and then stops existing — so a US plan’s tax bill legitimately rises in 2029.
Built in
US state and local tax deductionNot modelled. It is $0 for the standard-deduction household we assume. For someone who itemises we over-tax: measured at $2,763 a year for a single 68-year-old on $100,000 with $30,000 of itemised deductions. Modelling it would need four more questions — property tax, mortgage interest, charity, state income tax — and the deduction depends on the state tax we deliberately do not model.
Omitted
US state income taxYour own flat rate, or none. There is no built-in schedule — we charge your rate on ordinary income plus realised gains, with Social Security left out because most states exempt it.
Yours
US charitable gifts from an IRANot modelled, so we over-tax anyone who gives this way. A person 70½ or over can send up to $108,000 a year straight from an IRA to a charity, tax-free, and it counts toward their required distribution. We tax the lot as income: $12,960 a year on a gift that size, $2,400 on a more typical $20,000 one.
Omitted
Money you already paid tax on inside a pensionNot modelled, so we over-tax it. After-tax contributions come back out tax-free, and we treat 100% of every traditional IRA, 401(k) and SIPP withdrawal as taxable. On a $40,000 withdrawal that is 20% already-taxed money, that is $1,760 a year too much. Same reason as the cost-basis assumption below: we do not ask.
Omitted
Capital lossesNot modelled, so we over-tax anyone realising one. The US lets $3,000 of net capital loss come off ordinary income each year with the rest carried forward; we take no loss input, so we apply neither. Worth $360 a year at a 12% margin and $700 where it collides with the senior-deduction taper.
Omitted
Filing statusesSingle and married-filing-jointly only. Head of Household against Single is worth about $1,000 a year, and married filing separately cannot be entered at all. A qualifying surviving spouse already uses the joint table. Deliberate: we will not add a boarding question that rare for that much.
Omitted
Blind and marriage allowancesNot modelled, so we over-tax the households they belong to. The US blind addition is worth $246 a year at a 12% margin and $522 where the senior taper compounds it; the UK Marriage Allowance transfers £1,260 of unused personal allowance between spouses, worth £252 a year. Both would need questions we do not think are worth asking for the money involved — claim them yourself.
Omitted
UK state pension ageYour own, from your date of birth, off the legislated timetable — 66 up to April 1960, rising a month at a time to 67 across 1960–61, then to 68 across 1977–78. Not a 66–68 range: everybody alive has one state pension age and Parliament has already written down which.
Built in
Cost of what you ownCapital gains are charged on profit, and profit is what a sale fetches minus what it cost. Tell us what you paid for a taxable wrapper in Advanced → Accounts and we track it forward — contributions raise it, sales retire it in proportion. Leave it blank and we assume half of a sale is profit and say so on screen, which is too much for a book bought recently and too little for one held for decades.
Yours
Holdings you have not filedAnything you have not assigned to a wrapper is taxed as a taxable account. That is the lighter treatment, so an unfiled plan reads slightly better than reality until you finish — which is why Structure lists those holdings on Unassigned and Portfolio is where you assign them.
Built in
Wrappers inside Plan ConfidenceEach of the 2,000 futures keeps its own taxable, pension and ISA / Roth pots, spends them in the same order the main path does, and settles its own tax once a year. So a future that runs badly empties its taxable account sooner and starts drawing the dearer pension earlier, and a future that runs well is taxed on the larger withdrawals it would really have to take. Where the access age is what decides your plan we still show no percentage — see the row below.
Built in
No percentage where your money is sealedA plan that cannot be executed before the pension access age now scores close to zero in the simulation, and that number is correct. We show a dash and the word SEALED instead, because a bare 0% next to a large pension reads as a broken calculation rather than a rule, and it invites the wrong repair — saving more, which seals more. The Details console names the ages, the money and the three things that do help: starting later, or holding some of it somewhere you can reach first.
Documented
Boundaries

What Loxoda
will never do.

Loxoda is a modelling tool. It shows what happens under assumptions you can see — not what you should do.

Give you advice
Not financial advice. Not investment advice. Not tax advice. Not legal advice. Nothing here creates an adviser relationship, and we are not authorised to give regulated advice.
Recommend what to buy or sell
Loxoda models the holdings you bring. It does not tell you what to buy, sell, hold, convert, or withdraw — now or in a later version.
Guarantee a return or a future
Confidence scores, projected dates, and stress paths are illustrations under the assumptions you chose — not predictions, warranties, or promises that markets (or your plan) will turn out that way.
File your taxes or replace a professional
Tax is modelled to get closer than a gross fantasy path. It is not a filing, an accountant, or a solicitor. Personal circumstances and edge cases stay yours to check.
Touch your money or hold your keys
No bank login. No brokerage link. No card numbers on our side — Stripe takes payment.
Hide an assumption
If a number drives your date, it’s on this page or it’s a control you can see. Nothing material happens off-screen.
Fly it

You’ve seen the method.
Now move a dial.

Every assumption marked “yours” is a live control in the cockpit. Change one — contribution, belief, spend, retirement age — and watch the date move. That’s the entire point.

Want to inspect the empirical maths first? Read the working paper.