Using the FIRE simulator
pofo's FIRE simulator is a laboratory for a retirement plan, and it runs in a browser. You describe your situation there: capital, spending, age, pension, spending rules. It then runs that one plan through several market models, from the one that follows your own funds most closely to the harshest the century has on record. This article is the full manual. It says which order to read the sections in, what each group of parameters controls, and above all how to read what you are looking at. The tool is built to inform a decision, not to hand down a verdict.
Getting started: with a portfolio, or without one§
With no portfolio, the page opens in parametric mode, where the market is three dials and nothing else: real return μ, volatility σ, and tail thickness df. This is sandbox mode, and it is the right place to learn the mechanics and size things roughly. It starts on a textbook case that describes nobody: $600,000 of capital, $24,000 of net spending a year, retirement at 40, a 42-year horizon, a $12,000 pension from year 25, a three-year buffer, and a market at μ 5%, σ 11%, df 5. Those are demo numbers. Replace them with yours before you read anything into the output.
With your portfolio, the tool rebuilds the long real history of your holdings (through the SIM extensions), deflates it into constant dollars, and gets two things out of it. First the central model's parameters: μ, σ and df fitted to your funds, then blended cautiously toward a world prior (more on that below). Then two purely historical models, historical windows and block bootstrap (Historical windows, bootstrap, parametric: the three families of models). You can also drag each holding's weight and watch the ruin figure recompute live. This is the mode worth the trouble: the two data columns exist at no other price.
On the web, the portfolio travels in the URL: /firesimulator/e/<example>/ loads one of the example portfolios, /firesimulator/p/<composition>/ a composition you write by hand, in the same grammar as the comparison page. From the command line, pofo -fire opens the bare simulator and pofo -fire portfolio.txt opens it with that portfolio loaded.
Every amount on the page is real (constant purchasing power: inflation is already out, so a dollar in year 30 buys what a dollar buys today) and net of tax (tax is modeled separately, in the Taxes group). $60,000 a year means $5,000 a month of today's spending, forever (Arithmetic mean, geometric mean, and volatility drag).
The dashboard: the model strip§
As soon as you scroll, the plan bar pinned to the top of the page reduces each model to a colored chip (green is safe, red is catastrophic at your spending level). The main table lines the columns up: Historical windows, Block bootstrap, the central Student-t, Sequence stress, Broad-sample (the one column that ignores your portfolio entirely and shows raw markets), Lost decade. The table is a selector. Click a column and every detail section below recomputes under that lens; the amber underline marks the active column. Read them in this order.
- Your funds' own history (windows, bootstrap): the optimistic bound. Your funds lived through one window, and it was usually a kind one.
- The central Student-t: the default planning case, fitted to your funds and then pulled toward caution.
- Sequence stress: the same average return, but the bad years arrive in clusters. The gap to the central case is what a bad sequence costs in your plan (Sequence of returns risk: the retiree's real enemy).
- The broad sample: a full century of 16 developed countries (1870 to 2020) in a domestic 60/40, disasters included (Beyond the United States: Anarkulova, Cederburg and the world sample). It borrows nothing from your portfolio and nothing from the dials, which makes it the honest estimate of long-horizon risk.
- The lost decade: a Japan-style tail scenario. The job is to make it survivable, not to argue it is unlikely.
The suggested rule: plan between the central case and the broad sample. Use sequence stress to test the order of returns, and the lost decade as a crash test.
Next to the table, the gauge shows the selected model's ruin against the ruin you are willing to accept (the Acceptable ruin field, 4% by default). Every solver on the page is solved against that threshold (Failure probability: reading it, choosing it, and not letting it run you to pick it well).
The sections, in reading order§
§00 Where we are in the cycle: today's Shiller CAPE, placed against a century of history. Not a timing signal: a reminder that where you start shapes the first decade, and the first decade decides (Valuations, the CAPE, and what they say about your withdrawal rate).
§01 Simulated futures: the wealth fans under four lenses side by side, with sample paths drawn in and the failed ones in red. How to read a fan without fooling yourself: Reading a fan chart without fooling yourself.
Every thin line on a fan is a whole future, and it opens. Point at one and click (on a touch screen, tap it), and that future unfolds year by year, replayed from its own draw. For each year the table gives the Age, the Market (the growth sleeve's real return), the Opening wealth, any One-off flow, the Income received, what the portfolio paid (From portfolio, and of which buffer), what was Sold and the Tax on it, then the Buffer and the Closing wealth. Years lived below the planned standard show in amber, the years after the money ran out in red, and a totals row closes the account. It is the shortest road to why a future failed. A percentile turns back into a life you can check line by line.
§02 The retirements that actually happened: your plan replayed at the worst start dates of the century, the US in 1929, 1966 and 2000, Japan in 1990. Real vintages, not draws (Bengen, the Trinity study, and the birth of the safe withdrawal rate).
§03 The decisive decade: ruin broken out by what the first ten years of each scenario returned. Sequence risk made visible on your plan (Sequence of returns risk: the retiree's real enemy).
§04 The spending you actually live: what your spending rules really deliver, the standard of living lived year by year and who pays for it (portfolio, pension or buffer). This section matters the moment you switch on a flexible rule. Ruin drops, and here is where you see the price you paid for it, counted in years of reduced spending (Flexibility: myth and reality (what it can really absorb)).
§05 Alive, broke or gone: ruin crossed with a couple's odds of still being alive (the page uses French life tables). Going broke at 61 and going broke at 92 are not the same event. Here every future draws its own date of death for each member of the couple, from a law fitted to the French national tables. So the risk being counted is the one that actually matters, being alive with no money left (Horizon, life expectancy, and 50-year retirements).
At every age, the chart sorts all the simulated households into five states stacked up to 100%. At the bottom, in red, the households that are alive and broke. At the top, in gray, the ones that are gone, both members dead. In between are the living who still have money, in three amber steps by real wealth against the starting capital: at most that capital, one to two times it, more than twice it. The brighter the step, the richer the household. That puts the two risks on the two edges, each read against an axis. The comparison to make is the red band against the gray one, the risk you plan against next to the one nobody plans for. The pension start and an annuity purchase are marked, and the last year's shares are labeled at the right edge. This is where a raw ruin figure gets put back in proportion, or does not.
§06 What moves the risk: the frontier of withdrawal rules, where each rule is one point, ruin against how much the standard of living swings (Withdrawal strategies: the map before the territory), then the levers ranked by sensitivity. You see what really moves your risk, and what does not.
§07 Buffer & recovery: the cash buffer trade-off, ruin and ending wealth by number of buffer years (The cash buffer: size, cost, and what it is really for), and the distribution of years spent underwater. It shows how long the crossings last, the stretches inside a bear market that the buffer is there to cover.
§08 Plan detail and §09 Reaching your target: the plan in numbers under the selected model, and the solver menu. The menu lists the equivalent moves (more capital, less spending, one more year, more pension) that would each bring your ruin back under your threshold. This is the negotiate-with-yourself section, and it puts a price on every margin (The one-more-year syndrome).
The parameters panel, group by group§
The parameters button opens the panel. Every control has a plain-language hover. Here is the map, and the traps.
Your situation: Deployed capital (your home and your emergency fund excluded), Age at retirement (which drives §05), Horizon (years) (plan past your life expectancy: going from 40 to 50 years nearly doubles ruin, Horizon, life expectancy, and 50-year retirements), and Net spending /yr (real, net of tax, since the tax friction is modeled separately).
Pension & side income: Pension /yr (net real) and Pension starts in year, then Side income /yr and Side income until year for the temporary income of the early years. Work the pension number out beforehand, as a range: a stressed case, a central case counting only what you have already earned, and whatever your official statement says (US health coverage and Social Security: the two ends of the gap for reading a US one). Early side income is the best sequence insurance there is (Pensions and other income in the plan). The pension is the plan's second-biggest sensitivity after spending, so do not leave these at zero out of misplaced caution (The ten mistakes that wreck a FIRE plan).
Pension indexation vs prices /yr says how the pension is revalued against prices once it pays. The page works in real dollars, so zero describes a pension indexed exactly to inflation. That is not always what you get. A plan or a government can revalue below inflation, or freeze the amount outright, and every year lost stays lost. A private pension with no cost-of-living clause, for one, loses ground every single year. At -0.5% a year the pension keeps 82% of its purchasing power after forty years, and the page shows next to the slider how much of it is left at the horizon. The amount entered above stays the first payment, in today's dollars. The effect is far from marginal. On a textbook plan ($1M of capital, $52,000 of spending a year, a $24,000 pension from the first year, 40 years), ruin goes from 21% to 27%.
Under these sliders, the dated flows fold takes what two sliders cannot say, in up to twelve rows. Each row has a label, an amount in today's dollars (positive when money comes in, negative when it goes out) and a kind, once or each year. A one-off inflow, such as an inheritance or the sale of a house, is invested at the start of its year at a cost basis equal to its amount, so it carries no embedded gain. A one-off outflow, such as a purchase or a gift, is sold out of the portfolio and pays its tax like any sale. It moves your wealth, never your standard of living. A yearly flow, such as college costs or rent coming in, runs from its first year up to its last, which is excluded (zero runs it to the horizon), with its own drift against prices. The page turns every row into ages, marks every one-off flow on the wealth fans, and carries the whole list in the page's URL.
An inheritance belongs in this list, not in a year of income. Income above the year's need is received and then lost, never reinvested. On an $800,000 plan spending $26,000 a year, a $250,000 inheritance in year 12 cuts ruin from 36% to 12% as a one-off flow. Entered as a year of income, it only brings ruin down to 33%.
Spending policy: the strategic heart of the panel. Cut in downturns is the reversible cut applied while the portfolio is in drawdown, and a 15% cut roughly halves ruin. Also cut above this WR adds a second trigger on the current withdrawal rate. Then come the Guyton-Klinger guardrails and their floor (Guyton-Klinger: the original guardrails, their power and their limits), and the risk-based guardrails, which track the rate that is still safe for the horizon you have left (Modern guardrails (Morningstar): the state of the art). Then the upward ratchet, the structural spending drift and the retirement smile (Real spending in retirement (the retirement smile, Die With Zero)), pure VPW (VPW, the Bogleheads' variable percentage withdrawal), ABW/TPAW amortization (Amortization-based withdrawal (ABW/TPAW): the actuarial approach) and the Vanguard-style bounded percentage (Floor and ceiling and the Vanguard rules: bounded flexibility). Exactly one policy runs at a time: the page makes you choose, and the rule you keep sets the amount withdrawn each year. The engine underneath applies a fixed order of priority for anyone driving it from the library: ABW/TPAW amortization, then the bounded percentage, then VPW, then the risk-based guardrails, then Guyton-Klinger, then the fixed rule with its flexible cut and its ratchet. The "How this machine works" panel takes them one by one, and part IV of this book gives each of them an article (Choosing your strategy: criteria, comparison, worked case).
Longevity insurance: the life annuity, kept apart from the spending rules because it is not one (Annuities and safety first: buying a floor). Annuitise % of the growth sleeve converts the share you pick of the growth engine into a joint-life annuity indexed to prices, paid for as long as either of you is alive. Buy in year sets the year of the purchase, and Insurer margin the insurer's cut, 10% by default. The sale that raises the premium pays its tax like any other, and the buffer is left alone. The annuity exists only in §05, the one section where death is drawn. With no lifespan there is no longevity to insure, so the fixed-horizon sections ignore it on purpose. Two parts of the price are not yours to set: a 1% real rate, and the regulatory annuitant table French insurers must use (TGF05, the women's table), applied to both members of the couple as a unisex price requires. That table gives 31.6 years of remaining life at 65, against 21.7 for the population as a whole. Bought at 65, the annuity therefore pays only about 2.9% of its premium a year after the margin. That is less than the payout rates insurers advertise, which cover a single life and do not keep up with prices. The pays vs withdraws card sets that rate against your withdrawal rate, and it is the card that tells you whether the purchase lowers your risk of running out or raises it.
Market model: Real growth return is μ, the arithmetic real mean of the growth engine, and the geometric return you actually live is about μ − σ²/2. Volatility (long-horizon) is σ, lower than the one-year number the brochures quote. Tail df sets how fat the tails are: at df 5 a catastrophic year is roughly ten times likelier than a normal law allows (Fat tails, crises, and the Student-t). In portfolio mode all three come pre-filled from your funds, then blended toward a cautious world prior in proportion to how far the horizon runs past the history (Making a Monte Carlo relevant: blending, regimes, stress). A prior, in statistics, is what you assume before you even look at your own data: here, what a century of developed markets suggests when your funds' history is too short to settle the question on its own. Two anchors earn their place. Broad-sample prior rewrites the dials with the century's cautious assumptions, and Anchor return to today's valuation (CAPE) replaces the mean alone with 1/CAPE, the return compression that current valuations imply (CAPE-based rules: tying the withdrawal to valuations (ERN)). The rising-equity glidepath (Glide paths: the bond tent, rising equity, and the fragile window) and monthly withdrawals sit in this group too.
Cash buffer: Buffer (years of spending), three by default, its real return, and the year refills stop. Mind the convention: the buffer is carved out of your starting capital, never added on top (The cash buffer: size, cost, and what it is really for, Drawing on a buffer and refilling it: the rules that work).
Taxes: Tax on gains is charged on the gain share of every sale, by grossing the sale up, so withdrawing $60k net sells more than $60k of assets. The rate bites on the gain alone, and the dial next to it says how large that gain is on day one: Embedded gain, the share of today's capital that is appreciation rather than the money you put in, half of it by default. The effective burden therefore starts at that fraction of your rate and climbs toward the full rate as gains are realized. The 32.8% preset is one country's blended rate and nothing more: replace it with your own blended effective rate across your accounts (US taxes in the withdrawal phase). The two amounts folded under "envelopes" name capital held in the two French sheltered wrappers, drained in that order at their own rates; leave them at zero, since naming the structure is worth 0.015 point of sustainable withdrawal rate while moving the embedded gain from zero to 50% is worth 0.30, twenty times more. A third dial, inflation, feeds the tax alone: the page thinks in real dollars, but the tax code reads nominal gains, so a holding that merely kept its purchasing power still shows a taxable gain when sold (at 2% a year, 49% of its value after twenty years). The dial erodes every cost basis at that rate; 2% is the usual central-bank target and the honest setting, zero restores the older, kinder assumption that only real gains are taxed.
Simulation: Simulated paths sets how many paths each model draws, 2,000 by default and 10,000 at most. At 2,000 the ruin figure moves by roughly plus or minus 0.7 point from one run to the next with nothing changed. That is sampling noise, and it is the first reason never to read the second decimal (Failure probability: reading it, choosing it, and not letting it run you).
What the page does not do§
Several things are deliberately out of scope. No forecast: no model here predicts anything, they bracket what is possible. No account-by-account tax detail: one blended rate, which you calibrate yourself. No illiquid assets: a rental property is modeled as income, a yearly rent in the dated flows, then its sale as a one-off flow (Real estate in a FIRE plan (your home, and rentals)). And no advice: the tool explores assumptions, the decisions stay yours. The models, the data feeding them and the methodological caveats are spelled out in the two fold-out panels at the bottom of the page, and at length in Under the hood: how the simulator computes this book.
The essentials§
- Two modes: the parametric sandbox, or the mode calibrated on your own funds, which is the only one that unlocks the data columns. Everything is in real dollars, and spending is net of tax.
- The table at the top is a selector: click a column and the whole page recomputes under that lens. Plan between the central case and the broad sample.
- Reading order: the strip (the spread), §02 and §03 (the real disasters, and the sequence), §04 (what flexibility costs in lived spending), §09 (the price of each margin).
- Three moves take you from the figure to the life behind it: open a future from its fan with one click, read in §05 who is broke, funded or gone at every age, and put an inheritance or a purchase at its real date in the dated flows.
- The most powerful levers, in the usual order: spending and how flexible it is, the pension and early side income, and only then the portfolio.
- The market parameters come pre-filled and are deliberately pulled toward caution. The broad-sample and CAPE anchors are guardrails, not exotic options.
Going further§
- The two fold-out panels on the page itself: "How this machine works" (every control, every model) and "Method & honest caveats".
- The long version of the plumbing (Under the hood: how the simulator computes this book), the families of models (Historical windows, bootstrap, parametric: the three families of models) and how to read the fans (Reading a fan chart without fooling yourself).
- The FIRE guide in pofo's documentation (
docs/usage/fire.mdin the repository) for the command line and the Go library.