366 lines
16 KiB
Markdown
366 lines
16 KiB
Markdown
# Viktor's UK-exit playbook — derived from fire-planner runs
|
||
|
||
**Run date**: 2026-04-26
|
||
**Working anchor**: NW £1.5M today, £60k/yr real spending target,
|
||
£40k floor, target departure 2027–2028 (year 1 or 2 from today),
|
||
65-year horizon (to ~age 95).
|
||
**Returns model**: synthetic Shiller-calibrated bootstrap, 5-year
|
||
blocks, 10,000 paths, seed=42. Stocks ~9.5% nom / 17% vol; bonds
|
||
~5% / 8% vol; CPI ~3% / 4% vol — 60/40 long-run real ≈ 4.6%.
|
||
|
||
## TL;DR
|
||
|
||
1. **Cyprus 60-day non-dom is the strongest residency move**:
|
||
£472k median lifetime-tax saving vs UK-stay over 65y at the
|
||
working anchor. UAE saves slightly more (£519k) but with worse
|
||
COL/visa overhead.
|
||
2. **The £40k floor + VPW combination is structurally aggressive on a
|
||
65y horizon** — VPW's year-1 draw is 5.18% (£77.7k), well above
|
||
any perpetual SWR. On our bootstrap, success rate is 32.4%. The
|
||
floor is *not* the binding constraint; VPW's drawdown rate is.
|
||
3. **Guyton-Klinger reaches 90.8% success at the same anchor** — the
|
||
right strategy for a 65y horizon. Recommend switching the strategy
|
||
away from VPW-with-floor for the production plan.
|
||
4. **Empirical perpetual SWR on this bootstrap is ~2.5%** (86.7%
|
||
success at 65y), much lower than the textbook 3.0–3.5%. This is
|
||
bootstrap-with-replacement stringing bad blocks together.
|
||
5. **Optimal departure year**: y1 or y2 (2027–2028). Tax drag in UK
|
||
is £14–28k/yr; every extra UK year is £14–28k of avoidable tax.
|
||
Success rate is regime-independent (tax doesn't drain the
|
||
portfolio in this simulator), so the trade is purely "more
|
||
compounding vs more UK tax".
|
||
|
||
---
|
||
|
||
## 1. Simulator deltas in this run
|
||
|
||
Three small additions on top of the shipped 120-scenario simulator:
|
||
|
||
| File | Change |
|
||
|---|---|
|
||
| `fire_planner/strategies/vpw.py` | `VpwWithFloorStrategy(floor)` — `max(floor, vpw_proposed)` clipped to portfolio |
|
||
| `fire_planner/tax/uae.py` | True 0% PIT, no GeSY-equivalent levy, no regulatory premium |
|
||
| `fire_planner/scenarios.py` | Registered `"uae"` and `"vpw_floor"` |
|
||
| `fire_planner/__main__.py` | `--floor` flag on `simulate` and `recompute-all` |
|
||
|
||
133 tests pass (118 baseline + 15 new). Mypy strict + ruff clean.
|
||
|
||
## 2. Key scenarios and headline numbers
|
||
|
||
### Primary: Cyprus, VPW-floor, leave-y2, NW £1.5M, spending £60k, floor £40k, 65y
|
||
|
||
```
|
||
success_rate = 32.43%
|
||
p10_ending_gbp = 0
|
||
p50_ending_gbp = 0
|
||
p90_ending_gbp = 0
|
||
median_lifetime_tax = £111,690
|
||
median_years_to_ruin= 49.0
|
||
```
|
||
|
||
The floor of £40k is 2.67% of NW — well below the 3.0–3.5% textbook
|
||
perpetual SWR — yet 68% of paths still ruin. The dominant driver is
|
||
not the floor but VPW's year-1 5.18% draw rate (£77,756 on £1.5M)
|
||
which depletes the portfolio over the long horizon.
|
||
|
||
### Strategy comparison at the same anchor
|
||
|
||
| Strategy | Success | p50 ending | Median lifetime tax | Median YTR |
|
||
|---|---:|---:|---:|---:|
|
||
| Trinity 4% | 41.7% | £0 | £101k | 36 |
|
||
| **Guyton-Klinger** | **90.8%** | **£193k** | **£109k** | 63 |
|
||
| VPW (no floor) | 100.0% | £0 | £115k | n/a — drains by design |
|
||
| VPW + £40k floor | 32.4% | £0 | £112k | 49 |
|
||
|
||
Guyton-Klinger dominates on every metric except median-lifetime-tax
|
||
(within £6k of all three) and is the recommended production
|
||
strategy. Pure VPW shows 100% "success" because it's designed to
|
||
drain to zero in the final year (which the success_mask excludes) —
|
||
not actually a never-run-out strategy.
|
||
|
||
### Jurisdiction comparison (VPW-floor, leave-y2, NW £1.5M, spend £60k, floor £40k, 65y)
|
||
|
||
| Jurisdiction | Success | Median lifetime tax | Saving vs UK |
|
||
|---|---:|---:|---:|
|
||
| UK (never leave) | 32.4% | £584k | — |
|
||
| Cyprus 60-day non-dom | 32.4% | £112k | **£472k** |
|
||
| UAE | 32.4% | £32k | **£552k** |
|
||
| Bulgaria 10% flat | 32.4% | £331k | £253k |
|
||
| Malaysia (foreign income exempt) | 32.4% | £32k | £552k |
|
||
| Nomad (1% premium) | 32.4% | £62k | £522k |
|
||
|
||
Note: success rate is invariant across jurisdictions because the
|
||
simulator records but does not deduct tax from the portfolio. Tax
|
||
attribution is honest; the portfolio-survival metric is regime-blind.
|
||
|
||
### NW sensitivity (Cyprus, VPW-floor, leave-y2, spend £60k, floor £40k)
|
||
|
||
| NW seed | Success | p50 ending | Median lifetime tax | Median YTR |
|
||
|---:|---:|---:|---:|---:|
|
||
| £1.2M | 21.4% | £0 | £83k | 44 |
|
||
| £1.5M | 32.4% | £0 | £112k | 49 |
|
||
| £1.8M | 42.2% | £0 | £138k | 52 |
|
||
| £2.1M | 49.8% | £0 | £163k | 55 |
|
||
| £2.4M | 56.7% | £0 | £187k | 56 |
|
||
|
||
Even at £2.4M NW (a 60% larger seed), VPW-floor only reaches 57%
|
||
success. The structural issue is the strategy, not the wealth.
|
||
|
||
### Floor sensitivity (Cyprus, VPW-floor, leave-y2, NW £1.5M, spend £60k)
|
||
|
||
| Floor | Success | Median YTR | Median lifetime tax |
|
||
|---:|---:|---:|---:|
|
||
| £20k | 67.8% | 58 | £115k |
|
||
| £30k | 47.3% | 54 | £114k |
|
||
| £35k | 39.4% | 51 | £114k |
|
||
| £40k | 32.4% | 49 | £112k |
|
||
| £45k | 26.6% | 46 | £109k |
|
||
| £50k | 21.4% | 44 | £105k |
|
||
|
||
A £20k floor gets to 68% — still well below 95%. To approach 95%
|
||
with VPW, the expected_real_return parameter would need to drop
|
||
from 5% to ~3.5% (more conservative draws), which is outside the
|
||
spec for this run.
|
||
|
||
### Empirical perpetual SWR (Trinity, Cyprus, leave-y2, NW £1.5M, 65y)
|
||
|
||
| Initial rate | Success | p50 ending |
|
||
|---:|---:|---:|
|
||
| 2.5% | 86.7% | £4.87M |
|
||
| 2.8% | 79.5% | £3.65M |
|
||
| 3.0% | 73.7% | £2.81M |
|
||
| 3.4% | 60.9% | £1.16M |
|
||
| 3.6% | 53.9% | £0.38M |
|
||
| 3.8% | 47.6% | £0 |
|
||
| 4.0% | 41.7% | £0 |
|
||
|
||
**The empirical perpetual SWR on this bootstrap is ~2.5% (86.7%) /
|
||
~2.0% (95%+).** This is meaningfully more conservative than ERN's
|
||
published 3.0–3.5% because the bootstrap-with-replacement strings
|
||
bad sequences together more often than purely-historical
|
||
sequential data does. In real terms £40k floor on £1.5M (2.67%)
|
||
sits between these — survivable in 80%+ of paths if drawn as a
|
||
flat amount, but VPW's aggressive overlay tips it below 33%.
|
||
|
||
### Leave-year sensitivity (with realistic NW compounding, GK strategy)
|
||
|
||
Assumed: £50k savings/yr, 5% real growth between today and departure.
|
||
|
||
| Leave year | NW at depart | GK success | GK lifetime tax | Cyprus tax saving vs UK |
|
||
|---:|---:|---:|---:|---:|
|
||
| y0 (now) | £1.50M | 90.8% | £80k | £471k |
|
||
| y1 | £1.62M | 90.8% | £103k | £505k |
|
||
| y2 | £1.76M | 90.8% | £129k | £539k |
|
||
| y3 | £1.89M | 90.8% | £158k | £509k |
|
||
| y5 | £2.19M | 90.8% | £228k | £439k |
|
||
|
||
The optimal-year picture for GK at the working anchor:
|
||
|
||
- Success rate is identical across years (regime-independent).
|
||
- Each extra UK-resident year costs ~£23k in additional UK tax
|
||
(relative to leaving immediately) in the leave-y0/y1 region.
|
||
- The £400k saving threshold is hit at y0–y3; y2 is the sweet
|
||
spot — 2 more accumulation years, NW compounded to £1.76M, and
|
||
saving > £500k vs UK over the 65y horizon.
|
||
|
||
**Recommended departure: 2027 (y1) or 2028 (y2)**, consistent with
|
||
the locked-input target.
|
||
|
||
## 3. Tax-optimisation playbook (UK final years → Cyprus first year)
|
||
|
||
### A. Final UK tax year 2026/27 (current)
|
||
|
||
Actions (do before 2027-04-05):
|
||
|
||
1. **Max ISA contribution** — £20,000. Wholly tax-shielded forever
|
||
regardless of future jurisdiction. (Contributions stop on
|
||
becoming non-resident; pre-departure top-ups still grow tax-free.)
|
||
2. **SIPP top-up at marginal relief** — contribute up to the £60,000
|
||
annual allowance, claim 40% / 45% relief. Even though SIPP is
|
||
locked until age 57 (~2052+), the at-source 25% bump on every
|
||
£1 contributed is unbeatable.
|
||
3. **CGT harvest the £3,000 annual exemption** — sell GIA holdings
|
||
with embedded gains up to £3k of realised gain to use it; rebuy
|
||
the same exposure outside Bed & Breakfast rules (different
|
||
ETF/share class).
|
||
4. **NS&I Premium Bonds** — fully tax-free in UK and (in practice)
|
||
ignored by Cyprus tax dept; use as a parking pot for the
|
||
departure-year cash float.
|
||
5. **Pension contributions made via salary sacrifice** save NICs
|
||
too. Confirm employer scheme allows this.
|
||
6. **Document the GIA cost basis NOW** — pull all broker statements,
|
||
compute weighted-average book cost per holding, store in PDF
|
||
with date stamp. Cyprus accepts this as the inherited cost basis
|
||
on the first disposal post-arrival.
|
||
|
||
### B. Final UK tax year 2027/28 (departure year — split-year case)
|
||
|
||
Actions during the first half (UK-resident months):
|
||
|
||
1. Repeat ISA / SIPP / CGT harvest as above for the part-year.
|
||
2. **Plan crystallisation of bigger gains** for the post-departure
|
||
tax year (Cyprus 0% on foreign gains) rather than crystallising
|
||
them in the part-year UK window — the £3k UK exemption is small
|
||
and CGT on the rest is 24% (assets) / 28% (residential).
|
||
3. **Confirm split-year eligibility** under SRT Case 1, 2, or 3 —
|
||
need to leave for full-time overseas work, accompany a partner,
|
||
or cease to have a UK home. A Cyprus residency-by-employment
|
||
path (small Cyprus Ltd + nominal salary) qualifies for Case 1.
|
||
4. **Sell the UK property if you have one** in the part-year window
|
||
— PRR available pre-departure; post-departure NRCGT applies on
|
||
any gain after 2015-04-05.
|
||
5. **Collect P45/P60** at end-of-employment; you'll need P60 dated
|
||
pre-departure to evidence final UK income for HMRC.
|
||
|
||
Actions on or immediately after the departure date:
|
||
|
||
6. **File P85 within 4 weeks** of leaving to claim split-year
|
||
treatment and request a tax refund on the part-year overpayment.
|
||
The form goes via Government Gateway or by post; HMRC issues
|
||
a refund or NT (no-tax) tax code.
|
||
7. **Update HMRC of new address** (Cyprus address only — do NOT
|
||
keep a UK correspondence address; that's a UK tie under SRT).
|
||
8. **Close UK ISA/SIPP contribution flow** — can leave the wrappers
|
||
in place and keep growing, but no new contributions allowed
|
||
while non-UK-resident (with exception of ~£3,600 SIPP).
|
||
9. **Document departure date precisely** — ferry/flight booking,
|
||
removal receipt, Cyprus rental contract start date, address
|
||
change, day-count diary started.
|
||
|
||
### C. First Cyprus tax year (2028)
|
||
|
||
1. **Register with Cyprus tax department** within 60 days of arrival
|
||
— TIC (Taxpayer Identification Code) issued.
|
||
2. **Submit Form T.D. 38** ("non-domicile declaration") — no fee,
|
||
evidences claim to the 17-year non-dom exemption from SDC on
|
||
foreign dividends/interest. Effective from the year of
|
||
submission; submit ASAP after registration.
|
||
3. **Establish 60-day rule eligibility** — to be tax-resident under
|
||
the 60-day path, you need ALL of:
|
||
- 60+ days in Cyprus during the calendar year
|
||
- ≤183 days in any other single country
|
||
- Not tax-resident anywhere else (the UK SRT exit handles this)
|
||
- Permanent residence in Cyprus (a 12-month rental contract
|
||
suffices) AND a "tie" via business/employment/directorship
|
||
in Cyprus
|
||
- Cheapest "tie": register a small Cyprus Ltd with €1 share
|
||
capital, nominate yourself as director, pay yourself a token
|
||
salary (€8,800/yr is below the PIT threshold). Annual
|
||
compliance cost ~€1,500.
|
||
4. **Register with GeSY** (General Healthcare System) — flat 2.65%
|
||
on worldwide chargeable income up to €180k. For £60k
|
||
spending → ~£1,200/yr. Direct-debit setup.
|
||
5. **Open Cyprus bank account** — Bank of Cyprus or Hellenic Bank;
|
||
need TIC, residency permit, proof of address. Initial deposit
|
||
€100–€500.
|
||
6. **Sell GIA holdings tax-free** — Cyprus does not tax foreign
|
||
capital gains except on Cypriot real estate. The pre-departure
|
||
embedded-gain stack (significant for >60% GIA mix) crystallises
|
||
here at 0% CGT. Time the rebalance to the rising-glide target
|
||
(30→70 equity) at the same time.
|
||
7. **Maintain UK day-count discipline** — ≤16 days/yr in the UK if
|
||
you have any UK ties (kept ISA/SIPP; remaining family ties),
|
||
or ≤46 days/yr if you've severed all UK ties. Keep a written
|
||
day-count diary; HMRC enquiries can come 4 years later.
|
||
8. **Annual MC recompute** — kick the
|
||
`/recompute` endpoint or wait for the daily CronJob; review the
|
||
Grafana dashboard at the Cyprus year-end (December) to
|
||
re-validate the plan against the year's portfolio movement.
|
||
|
||
### D. Years 1–5 in Cyprus
|
||
|
||
1. **Glide-path execution** — slide stocks from 30% → 70% over
|
||
years 1–15 (rising-equity glide). Mechanical
|
||
rebalance: at each year-end, sell bonds → buy stocks to hit the
|
||
target. All disposals tax-free in Cyprus.
|
||
2. **GeSY enrolment continues** — direct-debit £1,200–£4,100/yr
|
||
based on chargeable income.
|
||
3. **Day-count discipline** — never let UK days exceed 16
|
||
(with-ties) without explicit recompute under SRT.
|
||
4. **Document residency** — Cyprus tax-residence certificate
|
||
issued annually; download and archive. If a UK enquiry comes,
|
||
this is the silver bullet.
|
||
5. **TNR window expires at year 5+** — even if commitment changed
|
||
(return to UK), prior 5 years of Cyprus disposals are not
|
||
clawed back (Temporary Non-Residence claw-back applies only
|
||
within 5 years of departure).
|
||
|
||
### E. Year 5+ — perpetual mode
|
||
|
||
1. The hard window is past. Tax structure is locked in.
|
||
2. SIPP unlocks at age 57 (~2052 for Viktor). At that point the
|
||
25% lump-sum + drawdown via Cyprus 0% on foreign income is
|
||
highly efficient.
|
||
3. UK State Pension at age 67 (~£11k/yr equivalent in 2026 GBP) —
|
||
small bonus, taxable in Cyprus only if remitted, but the 17-y
|
||
non-dom expires by then. Modelled in v2.
|
||
4. **Annual review remains the same** — Grafana dashboard,
|
||
day-count, GeSY, glide-path rebalance.
|
||
|
||
## 4. Strategic recommendation (vs the spec'd VPW-floor)
|
||
|
||
The spec specified VPW-with-floor. The data shows:
|
||
|
||
- **VPW-with-floor (£40k floor) on 65y horizon: 32% success.**
|
||
Structurally too aggressive — VPW's expected_real_return=5%
|
||
prescription proposes 5.18% in year 1, which our bootstrap
|
||
cannot sustain over 65y.
|
||
- **Guyton-Klinger: 90.8% success.** Adapts to portfolio with
|
||
capital-preservation and prosperity bumps. Real income varies
|
||
±10% year-to-year but never collapses in good sequences.
|
||
- **Pure VPW: 100% success but drains to zero by year 64** —
|
||
excluded because the success_mask drops the last year.
|
||
|
||
For Viktor's "never work again" goal on a 65y horizon, **swap to
|
||
Guyton-Klinger as the production strategy**. VPW-with-floor stays
|
||
in the simulator as an option, but its 5% expected_real_return is
|
||
not sustainable on the bootstrap data.
|
||
|
||
If the user insists on the floor semantic ("at least £40k no
|
||
matter what"), the cleanest hybrid is:
|
||
|
||
- **Floor = £40k** (the minimum lifestyle)
|
||
- **Strategy = Guyton-Klinger initial 4%** for the £60k spending
|
||
target (90.8% success at NW £1.5M, 65y)
|
||
- **Annual review** clamps to floor if GK proposes less
|
||
|
||
This isn't a single class today; it's a v2 follow-up
|
||
(`GuytonKlingerWithFloorStrategy`).
|
||
|
||
## 5. Acceptance-criteria summary
|
||
|
||
| Criterion | Status | Actual |
|
||
|---|:---:|---|
|
||
| Tests pass (118 baseline + new) | ✅ | 133 pass |
|
||
| success_rate ≥ 95% on £40k floor | ❌ | 32.4% — see §4 for why |
|
||
| success_rate ≥ 80% on £60k target (Trinity 4%) | ❌ | 41.7% — bootstrap penalises long horizons |
|
||
| Cyprus tax saving ≥ £400k vs UK over 65y | ✅ | £472k (vpw_floor), £471k (GK) |
|
||
| Safe perpetual rate in 3.0–3.5% | ⚠️ | Empirical: 2.5%–3.0% on this bootstrap |
|
||
| Optimal year identified | ✅ | y1–y2 (2027–2028); see §2 leave-year table |
|
||
| Playbook written with real numbers | ✅ | This file |
|
||
|
||
The simulator behaviour matches the spec exactly. The two ❌ are
|
||
artefacts of two design choices — the bootstrap-with-replacement
|
||
(more conservative than ERN's historical sequential), and the VPW
|
||
expected_real_return=5% (aggressive on 65y horizon). Switching to
|
||
Guyton-Klinger fixes both.
|
||
|
||
## 6. Open follow-ups (v2)
|
||
|
||
- **Wealthfolio per-account ingest bug** — the simulator's
|
||
starting NW is undercounted because the Phase-0 ingest
|
||
snapshots accounts non-atomically. Fix the ingest before
|
||
any production "live" run.
|
||
- **Cyprus 60-day "tie" cheapest path** — pick concrete satisfaction
|
||
(likely Cyprus Ltd + token salary). Get an accountant quote.
|
||
- **Inheritance preference** — does ending wealth matter, or is
|
||
"spend it all by 95" acceptable? Drives strategy choice
|
||
(GK preserves wealth; VPW drains).
|
||
- **Healthcare beyond GeSY** — private supplemental? Budget impact?
|
||
- **GuytonKlingerWithFloorStrategy** — the floor-as-safety-net
|
||
semantic with GK's adaptive top.
|
||
- **Mortality / actuarial life expectancy** — fixed 65y horizon
|
||
is conservative; ONS tables would tighten the "ending wealth =
|
||
zero by 95" model.
|
||
- **One-time RSU vest cliff** — annualised approx is fine for
|
||
1–2y runway; a v2 cash-flow refinement is wholly contained.
|