A retirement calculator that prints one number is not lying about arithmetic. It is lying about the object. The object is a life, and a life is a sequence. 1,000 simulated lifetimes are 1,000 sequences the model believes in. A single projection is the sequence the model would write if every year were the same year. Those are different sentences, and almost every argument about retirement software is really an argument about which one is on the screen.
This page is the whole comparison on one frozen specimen: what the range shows, how to read it without inventing a life you were not issued, and what a deterministic sheet quietly drops. Three figures, one household, one seed.
What Monte Carlo retirement planning actually models
The specimen is already retired: age 65, $1,000,000, 80% stocks, 15% bonds, 5% cash, spending a rigid 4% of the starting pot ($40,000 a year, no guardrail band, no annual raise or cut), 30-year horizon, income $0. Seed 20260622. 1,000 paired paths from the regime-switching engine.
The treatment is never the household. It is the reporting device: a constant 7% path versus the percentile cone of the same cashflows, and then which percentile of that cone you read. Worlds are identical except for the return draws. That is the control, and it is why the three pictures below can be compared to each other at all.
The domain is a teaching identity. No policy is ranked here. The roster is a rigid 4% guardrail (band 0, adjust 0) plus a buy-and-hold anchor the engine injects. Information set: the agent sees the observation before this step's return. It does not see the latent regime. The deterministic path uses the advertised 7% from the specimen card, not the realized mean of the 1,000 lives. Using the realized mean would have been look-ahead dressed as fairness.
What 1,000 simulated lifetimes reveal
They reveal a band. At year 10 the real p10 on this freeze is $420,744 and the p90 is $2,305,367. The median is $1,005,962, still near the starting million. A person handed only the median would not know that the lower tenth of lives had already lost more than half the real pot, and would not know that the upper tenth had more than doubled it. 1,000 lifetimes put those three facts on one chart. One projection puts none of them.
They also reveal a ruin mass. 10.4% of the 1,000 paths hit zero before year 30. That is not a rounding error. It is 104 lives in this sample. A single 7% path cannot print those 104 lives because it never visits a clustered crash. It compounds. Compounding is what a spreadsheet is for. Sequence is what a lifetime is for.
The honest list of what the range adds is short: a left tail that reaches $0 at year 30, a right tail at $5,692,838, a median at $1,083,603, and a success rate of 89.6% that the projection never states because the projection cannot fail.
It hides the width, and width is the plan. Two households can share a median and not share a night's sleep. The p10 to p90 gap at year 30 on this freeze runs from $0 to $5,692,838. The point estimate is a summary of that width. Summaries are allowed. They are not allowed to pose as the plan.
It hides sampling error too, unless you print it. 1,000 paths give a success-rate standard error of about 1.1 percentage points on an 85% rate. This freeze printed 89.6%. That is precise enough to see the plan is not a coin flip and not a certainty. It is not precise enough to rank two policies that differ by half a point. The sample-size piece is the other half of that sentence.
How to read a cone of outcomes
Fan charts are easy to misread because they look like weather maps. A cone of outcomes is not a forecast of your next thirty years with an error bar. It is 1,000 complete lives, stacked by year, with a percentile taken across lives at each year. The median line is the middle life at that date, not the path you will follow. The p10 line is the 100th-worst life at that date in a 1,000-path sample, not "the crash."
Start in the middle. The p50 line stays near a million of today's dollars for most of the horizon and ends at $1,083,603. That is not growth. That is a withdrawal program that roughly held real capital in the typical world. If you expected a 7% machine to triple the pot, you were reading the dashed line, and the dashed line is the third section of this page.
Then read the top. p90 at year 10 is $2,305,367; at year 30 it is $5,692,838. Kind sequences, same spending, same mix. Those lives are real in the model. They are not a plan. Planning to the p90 is how a household spends a future it has not been issued.
Then read the bottom. p10 at year 10 is $420,744; at year 20, $168,407; at year 30, $0. The line did not "choose" zero. Enough lives had already failed that the tenth percentile is the floor. A cone that kisses the axis is telling you the left tail is not a thin scrape. It is a mass.
Median, best 10%, worst 10%
Language fails here. "Best 10%" sounds like a prize. This chart uses p90 as the upper line: 90% of lives are below it. "Worst 10%" is p10: 10% of lives are below it. Neither line is a scenario you can bookmark as "if there is a crash." Crashes happen at different dates. A life that is p10 at year 8 may not be p10 at year 22. Percentiles are not identities. They are snapshots.
That is the most common cone mistake. People pick the p10 line with their eyes and imagine riding it. They cannot. Next year they will be re-sorted. A household that is unlucky early and then average will jump from the lower edge toward the middle. A household that is average and then unlucky will fall. Showing those identities would be a spaghetti plot of 1,000 polylines, which is honest and unreadable. The cone is the readable lie. It is a useful lie if you know what it dropped.
p25 and p75, not drawn as the main series, sit at $346,431 and $2,672,674 at year 30. The interquartile range is the "usual" band if you insist on that word. Usual still includes a four-fold gap. Usual is not safe. Usual is a width. The gap between p25 and p10 is the difference between "tight" and "done," and a cone that only drew the interquartile band would have hidden the floor entirely.
If you take one habit from this section, take this: when someone shows you a cone, ask whether the lines are percentiles across lives or error bars around a forecast. If they cannot say, they do not know what they plotted. This freeze is percentiles across 1,000 lives. It is not a confidence interval around $1,083,603.
Why deterministic retirement calculators quietly mislead you
Deterministic retirement calculators mislead because they are good at the wrong job. They compound. They do not visit. A year is a number, not a draw. When every year is 7%, the ending is a closed form, the ruin flag is off, and the output looks like a measurement. It is an identity.
They omit sequence of returns. A negative 30% year next to a 4% withdrawal is not the average of positive 7%. The withdrawal is taken from a smaller pile, and the recovery needs a higher rate to get back. The deterministic machine never takes the withdrawal from the smaller pile. That is why the dashed line is still climbing at year 30 while the median is roughly flat.
They omit ruin as a first-class output. If the path cannot go negative by construction, the tool has no place to print 10.4% of lives failing. Users read a positive ending as success. On this engine, success is 89.6%. Both numbers can be on a page. Only one is on a 7% sheet.
They pick a kind mean. 7% nominal is a round number from a brochure, not a draw from this generator's stationary distribution after spending and inflation. Even if 7% were the arithmetic mean of the engine, variance drag and spending would still pull the median down.
Where the 7% path sits in the cone
Year-30 deterministic wealth: $1,727,805. Simulated p25: $346,431. p50: $1,083,603. p75: $2,672,674. p90: $5,692,838. The spreadsheet, once put in the same real dollars as the cone, sits above the simulated median of $1,083,603 and below p75 of $2,672,674. It is not the typical life. It is a kinder-than-median identity pretending to be the case.
At year 10 the 7% path is $1,084,981 against a median of $1,005,962. At year 20 it is $1,309,844 against $991,109. The split is visible early and it does not wait for the last year to become obvious. Sequence is a beginning-of-retirement problem as much as an ending problem.
The misleading is quiet because the arithmetic is correct. Compounding 1.07 for thirty years is not a bug. The bug is the implied caption: "you will have." Replace it with "you will have if every year is 7% and spending never meets a crash," and the tool becomes a scenario. Scenarios are allowed. Unlabeled scenarios are how a kind number becomes a plan.
Vendor comparisons that call a tool "conservative" because it uses 5% or 6% instead of 7% are still deterministic. They moved the identity. They did not add a tail. A lower-mean sheet on this household sits lower on the same chart and still never prints the 10.4% ruin mass, unless the identity itself goes negative. Conservatism in the mean is not conservatism in sequence.
Monte Carlo can mislead too. A gentle i.i.d. engine that cannot cluster crashes will print a success rate that looks measured and behaves like the 7% sheet's cousin. The overstatement article is that failure mode. This page is the older one: no randomness at all. Both can live in the same product. Naming which engine produced the number is the whole defense.
What this page refuses to say
It refuses to say the p10 line is your crash plan, that the p90 line is available if you stay optimistic, or that the median of $1,083,603 is what you will have. It refuses to call the cone a 90% confidence interval. It refuses to drop p10 because it looks rude. Rude is the point of p10.
It refuses to say spreadsheets are useless. Spreadsheets are excellent at identities and bad at sequence. It refuses to name a vendor as a liar: a tool that labels a 7% path as a scenario is doing honest work. It refuses to say Monte Carlo is therefore true.
It refuses to call 89.6% a proof that 4% works. That is a success rate on this generator for this specimen, and the sheet's implied 100% is the contrast, not a second proof. It refuses a historical caption: 1966, 1973, 2000 and 2008 are not drawn on this fan. It refuses an equity-premium stress caption, because we did not run one. And it refuses advice. The cone does not tell you to spend 3%. It tells you what 4% did in this model. Translate a preference into a new card, then freeze again. Do not squint at the ink until it looks kinder.
Scope
Q1 is the 1,000 orderings, run. Q2 is not run: we did not shave the equity premium on this cone, and 7% was not stressed as an equity risk premium. Q3 is not run: this is not a historical claim. Q4 is not a 0-versus-5-bps stress; the vector engine used 5 bps and the deterministic side has no turnover cost at all. Tax is off. The engine is nominal and the fan is real.
What would falsify this page: p10, p50 and p90 collapsing onto one line; p10 turning out to be a single path rather than a cross-section; or the deterministic path landing on the simulated median once both are in the same units. A lower equity premium would pull every line down, and a real 1966 window next to the dashed path would be a different test. We did not run those here. The takeaway is scoped to this generator and this specimen.
Replication spec
Start with $1,000,000. Retire immediately. Hold 80/15/5. Spend $40,000 a year with no band and no raise. Run the regime-switching generator from seed 20260622 for 1,000 paired episodes of 360 months. Deflate the fan to today's dollars. Read p10, p50 and p90 at each year. Separately, compound 7% a year on the same spend with no noise, then divide by the engine's median cumulative inflation factor so both series are real.
Checkpoints. Year 0 is $1,000,000 on every series by construction. Year 2: p10 $736,943, p50 $1,003,692, deterministic $1,009,039. Year 12: p10 $353,258, p50 $987,505, p90 $2,490,492. Year 24: p10 $103,319, p50 $1,000,947, p90 $4,055,607. Year 30: p10 $0, p50 $1,083,603, p90 $5,692,838, deterministic $1,727,805.
The split starts immediately, which is the last thing a 30-year sheet hides: the divergence is not only at the horizon. If the 7% ending is not $1,727,805 and the median is not $1,083,603, the freeze moved and this article is stale. Do not type a kinder median into the prose to match a screenshot. If you rebuild in nominal dollars the cone will sit higher and the 7% path will look closer to the median, which would be a display trick, not a better experiment. And if you change 7% to the realized arithmetic mean of the 1,000 lives, you are running a different, look-ahead experiment. The card forbade that.
See a range instead of a point
The matching tool is the Monte Carlo retirement calculator, which prints a success rate and a band on a household you type, not a single ending. The guide how to read a Monte Carlo is the companion walkthrough, and the no-signup demo runs the same seeded engine the product uses. If the band is wide, that is the finding. If you only wanted a single number, you already had a spreadsheet.
Notes on the figures. Household B4_RETIREE: age 65, already retired, $1,000,000, 80/15/5, rigid 4% of start ($40,000/year), 30-year horizon, income $0. Seed 20260622. 1,000 paths. Generator: regime_switching, default calibration. Pairing: shared EnvStep[] (Mode A). tradingCostBps 5 (vector default). Tax off. Real fan (today's dollars) for p10/p50/p90, sampled from the monthly fan at months 0, 12, 24, ..., 360. Deterministic comparator: 7% annual, same spend, monthly compounding, no path noise, then divided by inflationFactorBands.p50 so both series are real. Q1 run. Q2 not run (inside this calibration). Q3 not run (not a historical claim). Q4 not run as a 0-versus-5 stress. This article consolidates three studies that shared one freeze. CSVs: /data/studies/1000-simulated-lifetimes.csv, /data/studies/how-to-read-a-cone-of-outcomes.csv, /data/studies/deterministic-retirement-calculators-mislead.csv. Study cards dated 2026-08-28, before the runner. This article is educational analysis, not investment advice, and does not recommend any security or strategy.
References
- Freeze: 1,000 lifetimes dataset (CSV), seed 20260622, 1,000 paths.
- Freeze: Cone percentiles dataset (CSV).
- Freeze: Deterministic comparison dataset (CSV).
- Methodology for the regime engine.
- Does Monte Carlo overstate retirement success?
