Methodology
This page is the reason the site exists. Every calculator here abides by four contracts. If a tool cannot meet all four, it does not ship.
Open formulas, no black box
Every result page includes a show-the-math drawer: the formula rendered as text (not an image), your inputs substituted into it, and the intermediate numbers. If we cannot print the derivation, we do not publish the tool.
Sourced data with an as-of date
Every data field carries a source and an as-of date — Shiller, the French Data Library, IRS, SSA, BLS, HHS, FRED. Year-dependent figures also carry a validUntil, so stale tax brackets or limits break the build instead of quietly misinforming.
A range, not a point
Headlines are p5 / median / p95 bands, not a single confident number. Where timing matters, the rolling-window engine reports a win-rate and the worst historical start date, so the downside is on screen — not implied.
Hand-computed regression tests
Each calculator ships with a test that checks its output against values computed by hand or against a published standard (IRS tables, Trinity/Bengen results). A credentialed reviewer does not make 1.0730 more correct — the tests do.
How the rolling-window engine works
One backtest engine drives DCA-vs-lump-sum win-rates, Coast success rates, and safe-withdrawal success rates. It steps through every historical start month in the Shiller (1871–) and French Data Library (1926–) series, compounding total return with dividends reinvested. Honesty layers are toggles, not assumptions baked in silently: idle cash earns a T-bill credit, taxable accounts pay dividend and long-term-gain tax, expense ratios and any advice fee are deducted, and every path is deflated by CPI to show real dollars. The output is always a distribution — a win-rate plus a percentile band — never a single point.
Monte Carlo results, where shown, are block-bootstrap resamples of the historical series rather than a fitted normal distribution, which preserves the fat tails and autocorrelation that matter for sequence risk.
Data freshness and expiry
Year-dependent datasets (tax brackets, contribution limits, ACA figures, COLA) carry a validUntil date. Continuous-integration checks fail the build when today is past that date, so a figure never silently outlives its source. Each result page also stamps the as-of date of the data it used and the date the page was last reviewed. Where legislation is uncertain — for example the enhanced ACA subsidies scheduled to lapse after 2025 — the affected inputs are flagged rather than presented as settled.
See also
- About
Who runs the site and how it is funded.
- Reviewed by
The credentialed reviewer for the retirement-drawdown tool.