Methodology
How Selvox calculates your retirement survival probability
This page explains in detail how the Selvox simulation works. We believe you should understand the assumptions behind any tool you use to make significant financial decisions. If anything here is unclear or you disagree with an assumption, please tell us.
Contents
1.Why Monte Carlo Simulation
Most retirement calculators use one of two approaches: a deterministic projection (assume 6% return every year) or a simple average (average historical return applied uniformly). Both approaches are dangerously misleading.
The problem is sequence of returns. A retiree who experiences a severe market crash in their first three years of retirement is in a fundamentally different position to one who experiences the same crash in year fifteen\u00a0\u2014 even if the average annual return over the whole period is identical.
Consider two retirees with identical portfolios and withdrawal rates, one retiring in 1999 (dot-com crash immediately) and one retiring in 2003 (crash already happened). The same average return over 30 years produces radically different outcomes because of when the bad years fell.
Monte Carlo simulation addresses this by running thousands of simulations, each using a different sequence of returns. Some sequences are benign. Some include severe crashes at the worst possible time. The survival probability\u00a0\u2014 the percentage of simulations where your portfolio lasts to your target age\u00a0\u2014 is a genuinely informative metric in a way that a single projected figure is not.
2.The Data: 125 Years of UK Market History
Selvox uses three primary data sources:
Barclays Equity Gilt Study
The definitive long-run UK asset return dataset. Includes both World Wars, the Great Depression, the 1970s stagflation, Black Monday, the dot-com crash, the 2008 financial crisis, and COVID-19. Placeholder data used until full dataset purchased.
ONS Consumer Price Indices
Official UK inflation statistics. We use CPIH as the primary series for recent years and RPI for historical periods where CPIH is unavailable.
JST Macrohistory Database
Academic dataset covering 18 advanced economies. Citation: Jordà, Ò., Knoll, K., Kuvshinov, D., Schularick, M., and Taylor, A.M. (2019). “The Rate of Return on Everything, 1870–2015.” Quarterly Journal of Economics, 134(3), 1225–1298.
3.Return Sampling: Block Bootstrapping
We do not sample individual years independently. Independent sampling ignores the short-term autocorrelation in returns\u00a0\u2014 the fact that good years tend to cluster with good years and bad years with bad years (momentum and mean reversion effects).
We use block bootstrapping:
- 1.Divide the historical return record into overlapping blocks of five years.
- 2.For each of the 10,000 simulations, randomly sample blocks with replacement until the required simulation length is covered.
- 3.This preserves the short-term clustering of good and bad years while allowing sequences longer than the historical record.
Block size of five years was chosen to capture medium-term economic cycles while providing sufficient sampling diversity across 10,000 runs. The block size is configurable in the advanced assumptions (Step\u00a06 of the calculator).
We also implement contiguous window sampling for the historical stress test\u00a0\u2014 running the plan against every actual 30-year sequence in the historical record to show how it would have performed in each real historical period.
4.Survivorship Bias Correction
The UK equity return series from Barclays and JST reflects the performance of UK markets that continued to exist and be investable throughout the period. Markets that failed entirely (e.g. Tsarist Russia, pre-war China) are not represented.
This creates an upward bias in historical return data\u00a0\u2014 we are observing the survivors, not the full distribution of possible outcomes.
We apply a correction of \u22120.5% per year to equity returns, following the methodology of Dimson, Marsh, and Staunton (London Business School) as documented in their Credit Suisse Global Investment Returns Yearbook. This is a conservative adjustment\u00a0\u2014 some researchers argue for a larger correction.
This correction is applied by default and can be disabled in Step\u00a06 of the calculator. We recommend leaving it enabled.
Academic citation: Dimson, E., Marsh, P., and Staunton, M. Credit Suisse Global Investment Returns Yearbook (annual). London Business School.
5.The Tax Engine
The tax calculation runs every year of every simulation. Getting this right is one of the most significant ways Selvox differs from simpler tools.
5.1 Income tax
We model UK income tax bands for 2026/27 including the Personal Allowance (\u00a312,570), basic rate (20%), higher rate (40%), and additional rate (45%).
The Personal Allowance taper between \u00a3100,000 and \u00a3125,140 creates an effective marginal rate of 60%. This is one of the least understood features of the UK tax system and one of the most important for retirement planning. We model it correctly.
5.2 National Insurance
NI Class\u00a01 employee contributions are modelled during the accumulation phase. NI is not charged on pension income in retirement (State Pension age is currently 66).
5.3 SIPP drawdown
Each SIPP withdrawal is 25% tax-free (PCLS) and 75% taxable as income. We track the lifetime PCLS allowance (\u00a3268,275) and stop offering tax-free cash once it is exhausted. SIPP withdrawals are stacked on top of other income to determine the marginal rate correctly.
5.4 ISA withdrawals
ISA withdrawals are always tax-free regardless of the amount or the taxpayer\u2019s income level. No interaction with the Personal Allowance or income tax bands.
5.5 Capital Gains Tax
GIA assets are tracked with their cost basis. We realise gains up to the annual exempt amount (\u00a33,000 in 2026/27) each year, then defer further realisation to subsequent years. CGT rates are 18% (basic rate taxpayer) or 24% (higher rate taxpayer) for non-residential assets, following the Autumn Budget 2024 increase.
5.6 Optimal drawdown sequencing
Each simulation year, the engine draws from wrappers in the order that minimises lifetime tax:
- 1.State Pension and DB pension income arrives first (taxable, no choice).
- 2.Use SIPP withdrawals to fill remaining Personal Allowance headroom — taxed as income but within the PA = zero tax. Take 25% PCLS on each SIPP withdrawal.
- 3.Once PA is used up, switch to ISA withdrawals (tax-free).
- 4.If ISA is depleted, return to SIPP (taxed).
- 5.Realise GIA gains up to the CGT exempt amount last.
This sequencing is recalculated every simulation year based on the actual balances at that point, not fixed at the start.
5.7 Scottish income tax
Scotland has its own income tax bands for non-savings, non-dividend income set by the Scottish Parliament. Selvox applies the correct Scottish rates when you select Scotland as your country of residence in Step\u00a01 of the calculator or via the Scottish tax toggle on individual calculators.
The 2026/27 Scottish bands are: Starter (19%, \u00a312,571\u2013\u00a315,397), Basic (20%, \u00a315,398\u2013\u00a325,378), Intermediate (21%, \u00a325,379\u2013\u00a343,662), Higher (42%, \u00a343,663\u2013\u00a375,000), Advanced (45%, \u00a375,001\u2013\u00a3125,140), and Top (48%, over \u00a3125,140). The Personal Allowance taper (Westminster policy) applies identically in Scotland. National Insurance, Capital Gains Tax, and dividend tax are UK-wide and are not devolved.
6.State Pension Modelling
State Pension entitlement is calculated from qualifying NI years (maximum 35\u00a0years for full new State Pension of \u00a3241.30/week in 2026/27).
We project future State Pension income using the triple lock assumption: the greater of CPI, average earnings growth, or 2.5%. The default assumption is 3.0% per year, which we consider a reasonable long-run estimate of the triple lock outcome. This can be adjusted in Step\u00a06 of the calculator.
State Pension deferral is modelled at 5.8% per year of additional income for each year deferred beyond State Pension age (currently 66).
State Pension age changes are not currently modelled\u00a0\u2014 the calculator uses the current State Pension age of 66 throughout. If you believe your State Pension age will be higher (likely for younger users), adjust your inputs accordingly.
7.The UK Safe Withdrawal Rate
The US \u201c4% rule\u201d originates from the Trinity Study (Cooley, Hubbard, and Walz, 1998), which was based on US market data. It does not directly apply to UK investors:
- UK equity returns have historically been lower and more volatile than US returns over the same period.
- UK inflation has historically been higher.
- UK tax rules are different — particularly the treatment of pension income and the Personal Allowance.
- The US study assumed a 30-year retirement. Many UK planners targeting early retirement need a 40+ year horizon.
Selvox calculates a personalised UK safe withdrawal rate for each user by finding the spending level at which the plan survives 95% of historical simulations. This figure varies by asset allocation, time horizon, and tax situation.
Based on the available UK historical data, the equivalent of the US 4% rule for a UK investor with a balanced portfolio (60/30/10 equities/bonds/cash) and a 30-year retirement is approximately 3.0\u20133.5%. For a 40-year retirement, it is approximately 2.5\u20133.0%.
Academic reference: Pfau, W. (2010). \u201cAn International Perspective on Safe Withdrawal Rates.\u201d Journal of Financial Planning. This study found that US-derived SWRs overstate safe withdrawal rates for most other countries including the UK.
8.Known Limitations
We believe in being honest about what Selvox does not model. Current limitations include:
- Future tax changes
- All projections use current 2026/27 tax rates throughout the simulation. In reality, tax rates will change. We update the tax engine within 48 hours of every Budget but cannot predict future policy.
- State Pension age changes
- The calculator uses the current State Pension age of 66. This is likely to rise for younger users. Adjust your inputs to reflect your expected State Pension age.
- Defined benefit pension complexity
- We model DB pensions as a simple inflation-linked income stream. Complex DB arrangements (with early retirement penalties, commutation factors, bridge payments, or enhanced transfer values) are not fully modelled.
- Care costs
- We do not model the probability or cost of requiring long-term care. For a 65-year-old, the probability of requiring some form of care is significant and the costs are substantial. This is on the roadmap for a future update.
- Behavioural factors
- The model assumes you withdraw exactly the planned amount each year and never deviate. Real spending behaviour is more complex. The Guyton-Klinger flexible spending rules are available as an option but are not the default.
- Inheritance and estate planning
- We do not currently model inheritance tax, gifting, or estate planning. The SIPP outside-estate treatment is noted but not modelled.
9.Validation
We validate Selvox\u2019s outputs against official sources:
- Income tax and NI
- Validated against HMRC’s PAYE tax calculator (tax.service.gov.uk/estimate-paye-take-home-pay) for multiple income levels and scenarios.
- State Pension
- Validated against the DWP Check Your State Pension service (gov.uk/check-your-state-pension-forecast) for multiple qualifying year combinations.
- Monte Carlo outputs
- Cross-referenced against published cFIREsim results for comparable inputs as a sanity check on the simulation framework.
If you find a discrepancy between Selvox\u2019s outputs and an official source, please report it to hello@selvox.co.uk with the specific inputs and expected vs actual output. We treat these reports as high-priority bugs.
10.What We Are Working On
Planned improvements in approximate priority order:
- Couples mode — full joint optimisation (near term)
- Defined benefit pension commutation modelling (medium term)
- Care cost probability modelling (medium term)
- Inheritance tax and estate planning module (longer term)
- Variable annuity comparison (longer term)
- CAPE-adjusted return expectations (longer term)
If there is a feature you need that is not on this list, please contact us. User requests directly influence the roadmap.