How it works
Methodology
The full math, the data sources, and the gaps we’re honest about.
Last reviewed May 3, 2026
Editorial review pending — see editorial process
This page is for the careful reader. If you want to know exactly how Yearfold turns your inputs into a success probability, this is the long version. If you have something to flag — a number that looks wrong, a 2026 rule we missed, a citation that doesn't hold up — write to hello@yearfold.com. We update this page whenever a data source changes.
The 30-second version
You give Yearfold five inputs (your age, your savings, your monthly contribution, your target retirement age, and your monthly retirement spending). The engine plays out 10,000 simulated retirements against real US market history from 1928 to 2025, with returns and inflation paired month-by-month so the correlations are honest. For each simulated future it tracks your portfolio month by month from now to age 95, applies Social Security and Medicare under the 2026 rules, and records the balance trajectory. The output is a probability distribution — not one cheerful number — plus three concrete fixes when you're not on track.
What "Monte Carlo" actually means here
Monte Carlo simulation was invented in the late 1940s by Stanislaw Ulam and John von Neumann at Los Alamos, originally to model neutron diffusion in atomic-bomb cores. Ulam reportedly came up with the technique while playing solitaire in recovery from an illness — wondering how to estimate his odds of winning, he realised the calculation was easier if you just dealt the cards a thousand times and counted. The name was Nicholas Metropolis's, after Ulam's uncle who borrowed money to gamble at Monte Carlo. The technique migrated into finance in the 1960s as computers got cheap enough to run thousands of trials, and is now standard inside every major brokerage and pension fund.
The principle is simple: when a problem has too many variables to solve analytically, replay the past — in different orders, with random sampling — many thousands of times, and read the answer off the resulting distribution.
Monte Carlo simulation is a way of answering "what's likely to happen?" by replaying the past, in different orders, ten thousand times.
For each of those 10,000 simulated retirements, we step through your life month by month from your current age to age 95. At each step we apply a market return drawn from history, an inflation rate drawn from the same month, your contributions while working, your withdrawals once retired, and any Social Security income. We record your portfolio balance at every age.
Across the 10,000 paths, we then ask:
- In how many did your money outlast you to age 95? (success probability)
- What was the median portfolio balance at each age? (P50 line)
- What did the worst 1-in-10 path look like? (P10 — the "rough seas" outcome)
- What did the best 1-in-10 look like? (P90 — the "calm" case)
- For the failed paths: at what age did the money run out? (depletion distribution)
The output isn't a forecast. It's a stress test of your plan against scenarios that have actually happened in US economic history.
The historical data
We use monthly returns from 1928 through 2025 (98 years, 1,176 months) for two asset classes:
- US large-cap stocks — S&P 500 total return (price + reinvested dividends).
- US 10-year Treasuries — total return (yield + price change from yield moves).
Inflation comes from the CPI-U index (Consumer Price Index for All Urban Consumers), published monthly by the Bureau of Labor Statistics.
These three series are drawn jointly from the same historical month. If a simulated path samples June 1932, it gets June 1932's stock return, June 1932's bond return, and June 1932's inflation rate together. This preserves the correlation between asset classes and the macroeconomic regime — bond/stock correlations are not constant over time, and naive independent sampling would understate joint risk.
Why bootstrap, not parametric simulation
A common alternative to historical bootstrap is parametric simulation — assume returns are log-normally distributed with mean μ and standard deviation σ, then draw from that distribution. We don't, for two reasons:
- Real returns aren't log-normal. Equity markets have fat tails. Crashes happen more often than a Gaussian would predict, and they happen in clusters (volatility persists). Bootstrapping from real history captures this.
- Returns aren't independent across months. There's measurable serial correlation in volatility regimes. The 1929-1932 sequence of monthly returns isn't well described by independent draws from a single distribution.
The honest tradeoff: bootstrap restricts you to the regimes that have already happened. The next 30 years could include a regime worse than anything in 1928-2025. We think that's a fair limitation to acknowledge — and it's why we publish the P10 band and the depletion distribution, not just the median.
Asset allocation
You pick one of three preset allocations on the calculator. Each is a fixed mix of stocks and bonds:
- Conservative: 30% stocks / 70% bonds
- Balanced: 60% stocks / 40% bonds
- Growth: 80% stocks / 20% bonds
Each simulation rebalances monthly back to your target weights. Real-world cash positions, alternative assets, and individual security holdings are not modeled — they fold into the broad asset-class returns above.
In a future release we'll let you specify a glide path (more conservative as you age) and add a real-estate / REIT class.
Social Security
We compute Social Security benefits using the 2026 SSA rules:
- AIME (Average Indexed Monthly Earnings) — your highest 35 years of earnings, indexed to the year you turn 60. If you don't enter an earnings record, we estimate AIME from your current household income.
- PIA (Primary Insurance Amount) — applies the 2026 bend points ($1,226 and $7,391) and the 90/32/15 percentage formula to your AIME.
- Claim age adjustment — claiming at 62 reduces your benefit by 30% (assuming FRA = 67); claiming at 70 increases it by 24%. The adjustments are linear within each year.
- Spousal and survivor benefits — for couples, we compute each spouse's own benefit and the spousal benefit (50% of the higher earner's PIA), then take the greater. On the first death, the survivor switches to the higher of the two benefits.
- COLA (Cost of Living Adjustment) — each January, we apply the simulated year's inflation rate as the COLA. This means Social Security real income stays roughly flat through inflation regimes.
What we don't model yet:
- WEP / GPO offsets for non-covered government employees.
- Spousal benefit reductions for early claiming when the higher earner has not yet claimed.
- Disability or auxiliary benefits.
Medicare
For retirees age 65+, we apply 2026 Medicare costs:
- Part B base premium: $174.70/month (2026 standard).
- Part D base premium: $34.50/month estimated average.
- IRMAA surcharges for high-MAGI households: tiered surcharges based on the 2026 IRMAA brackets, applied per-spouse for couples.
Healthcare is the single biggest source of variance in retirement spending. Our defaults assume Medicare A (free), B + D plus a Medigap premium of approximately $200/month per person. Long-term care costs are NOT modeled — that's a separate risk requiring dedicated insurance or self-funding.
Inflation
Inflation is sampled jointly with returns (see above). For Social Security COLA and for inflation-adjusting your monthly retirement spending target, we use the simulated year's CPI-U change.
When your inputs are in "today's dollars" (e.g., your $5,000/month spending target), we inflate them year over year so the real purchasing power stays constant.
Federal income tax
We apply the 2026 federal tax brackets:
- Standard deduction — $15,750 single, $31,500 married filing jointly.
- Marginal brackets — 10% / 12% / 22% / 24% / 32% / 35% / 37%.
- Social Security taxation — up to 85% of benefits taxable depending on combined income; we apply the standard 1983 / 1993 worked formula.
- RMDs (Required Minimum Distributions) start at age 73 for traditional IRAs and 401(k)s, using the 2022 SECURE 2.0 Uniform Lifetime Table.
What we don't model:
- State income tax. Florida, Texas, and a handful of other states have no state income tax; California and New York are above 9% at retirement-relevant income levels. State tax can move your effective retirement tax rate by several percentage points. Add it manually if it matters for your situation.
- Capital gains brackets. All taxable income is treated as ordinary for now.
- Roth conversion ladders.
- Tax-loss harvesting.
These will land in the Pro tier in 2027.
Withdrawal strategy
In retirement, your monthly spending target (in today's dollars, inflated to the simulated year) is funded in this order:
- Pre-tax accounts (Traditional IRA / 401(k)) until RMDs begin at 73.
- Taxable accounts when funded.
- Roth accounts last (so they continue compounding tax-free).
This is a simplified version of the "tax-efficient withdrawal" approach commonly recommended by fee-only advisors. It is NOT the only valid strategy — for some households, a small Roth conversion ladder during low-income early retirement years materially improves outcomes. Yearfold doesn't simulate that yet.
What we don't simulate
We've been honest about the gaps already, but here's the consolidated list. None of these are in v1; some are planned for 2027:
- State income tax
- Long-term care insurance and self-funded LTC costs
- Healthcare events that breach Medicare's out-of-pocket maximums
- Social Security claim-age dynamic optimization (we let you pick a fixed claim age; we don't search for the optimal one across life-expectancy distributions yet — there's a separate "Claim age explorer" tab on the results page that runs every age from 62 to 70)
- Annuity products (SPIAs, deferred annuities, QLACs)
- Real estate income, mortgage payoff strategy, reverse mortgages
- Self-employment retirement vehicles (SEP-IRA, Solo 401(k), defined-benefit cash-balance plans) beyond simple contribution amounts
- Behavior — selling at the bottom, panic moves, holiday spending
- Sequence-of-returns hedging strategies (bond tents, rising equity glide paths, bucket strategies)
- Inheritance, gifts, lottery wins
Numerical and software notes
- Random number generator. We use a seeded
mulberry32PRNG so simulations are reproducible. The default seed is derived from the current timestamp; pass a fixed seed in tests for byte-stable output. - Floating point. All money is stored as
number(IEEE 754 double precision). Compounded over 70 years × 10,000 paths, accumulated rounding is well below the precision of any input you'd enter. We round to whole dollars only on display. - Web Worker. The 10,000-path simulation runs in a Web Worker so the UI thread stays responsive. On an M1 MacBook Air, a typical run completes in well under one second; on a 2020 mid-range Android device, in roughly two seconds.
- Privacy. Your inputs never leave your browser unless you explicitly save a plan (which requires sign-in) or generate a PDF. Anonymous aggregate telemetry — success probability bucket, household type, run time — is recorded so we can monitor calculator health.
Update cadence
Each underlying number gets refreshed on a known schedule, anchored to the official source's publication date:
| Number | Source | When it changes | Where Yearfold updates |
|---|---|---|---|
| Social Security COLA + bend points | SSA — published mid-October each year | New numbers in effect Jan 1 | Pushed in Yearfold within 2 weeks of SSA release |
| IRS contribution limits, brackets, standard deduction | IRS Rev Proc — published early November | In effect Jan 1 | Pushed before Jan 1 |
| Medicare Part B/D base premium + IRMAA brackets | CMS — published in November | In effect Jan 1 | Pushed before Jan 1 |
| State income tax rates | Tax Foundation roundup — published April | Effective varies by state | Annual refresh in Q2 |
| Historical return data (Shiller / S&P) | Shiller updates monthly; S&P TR via FRED | Continuous | Pulled annually in Q1 |
When a number changes, the change log below records it and the Last reviewed date in the page header is bumped. If you're using a saved plan and the rules change, you'll see a "rules updated" banner the next time you open it with a one-click "re-run with the current rules" action.
Change log
| Date | Change |
|---|---|
| 2026-05-04 | Added 30-second-version summary, Monte Carlo historical origin (Ulam, 1940s), update-cadence table, and per-source last-accessed dates. |
| 2026-05-03 | Initial public methodology page. |
| 2026-04-24 | Updated 2026 IRMAA brackets (CMS final rule). |
| 2026-04-15 | Switched historical return data from monthly resampling to joint monthly bootstrap. |
| 2026-03-12 | Added Web Worker for off-main-thread simulation. |
Sources
We cite primary sources for every number that matters. Each link below is the canonical page; the last accessed date is when a Yearfold human last verified the page existed and the cited number matched.
- Social Security Administration — bend points, PIA formula, claim age adjustments. ssa.gov/oact/cola/Benefits.html · last accessed 2026-05-04
- SSA period life tables — used for claim-age NPV and survivor analysis. ssa.gov/oact/STATS/table4c6.html · last accessed 2026-05-04
- Centers for Medicare and Medicaid Services — Part B premiums, IRMAA brackets. cms.gov/medicare/medicare-costs · last accessed 2026-05-04
- IRS — federal tax brackets, standard deduction, RMD tables. irs.gov/retirement-plans · last accessed 2026-05-04
- Bureau of Labor Statistics — CPI-U inflation series. bls.gov/cpi · last accessed 2026-05-04
- Federal Reserve / FRED — historical interest rate and macroeconomic series. fred.stlouisfed.org · last accessed 2026-05-04
- Yale / Robert Shiller — long-run S&P 500 total return data with CAPE. shillerdata.com · last accessed 2026-05-04
- Tax Foundation — annual state income tax roundup used for the 50-state effective-rate table. taxfoundation.org/data/all/state · last accessed 2026-05-04
If we got something wrong, please tell us at hello@yearfold.com. The "last reviewed" date in the page header reflects the most recent end-to-end check of every section.
