Do My NumbersMethodology

Methodology

Every calculator on the site runs on one engine, written once and tested once, and follows the same rules. This page sets out those rules. Each calculator then has its own methodology page, listed at the end, with its formulas, defaults, data and limits.

Official, dated sources only

Every mortality rate, tax bracket, contribution limit and benefit rule comes from an official publisher: the Social Security Administration, the IRS, the Office of Personnel Management, the Federal Retirement Thrift Investment Board (which runs the TSP). A script reads each one from the publisher’s own page or document and stores it as a data file with the source address, the edition and the date it was retrieved. Nothing is typed from memory. The one source that isn’t a government body is the history of US market returns used for the simulated markets: Aswath Damodaran, NYU Stern School of Business ("Historical Returns on Stocks, Bonds and Bills"). The data sources page lists every file.

Rules that apply to one tax year are dated too. When that year ends, a page that depends on them is held back until the new year’s figures are in and tested, rather than quietly showing last year’s limits.

Tested against the publishers’ own figures

Each data file is tested against numbers its publisher prints: life expectancies from the SSA table, worked examples from IRS publications, OPM’s own annuity examples. The engine’s formulas are tested against exact identities as well. A data file is only used once those tests pass.

The working comes from the same engine

“Show the working” under each result is generated by the same code that produces the answer. Every step is recalculated from its own inputs and must match the result exactly, so the steps you read are the calculation that ran, with your numbers in it.

Every calculator says what it leaves out

Taxes, fees, varying returns, plan-specific rules: each calculator lists what it does not model, on the page and on its methodology page. A result is an illustration under stated assumptions, not a forecast.

How lifetimes are modelled

The calculators that involve lifetimes use the SSA period life table (2023) (Period Life Table, 2023, as used in the 2026 Trustees Report). It is a period table: it applies one year’s death rates at every future age. Death rates have tended to fall over time, so a period table usually understates how long people now alive will live.

kpx=∏j=0k−1(1−qx+j){}_{k}p_{x} = \prod_{j=0}^{k-1} \left(1 - q_{x+j}\right)
Survival probability ₖpₓ: The chance that someone aged x is still alive k whole years from now. It multiplies (1 − q) for each year in turn.
tpx=kpx (1−s qx+k),t=k+s{}_{t}p_{x} = {}_{k}p_{x}\,\left(1 - s\,q_{x+k}\right),\quad t = k + s
Survival probability ₜpₓ: The chance that someone aged x is still alive t years from now.
tpxy‾=1−(1−tpx)(1−tpy){}_{t}p_{\overline{xy}} = 1 - \left(1 - {}_{t}p_{x}\right)\left(1 - {}_{t}p_{y}\right)
Last-survivor probability: The chance that at least one of two people is still alive t years from now. The bar over xy means "last survivor".

Between birthdays, deaths are assumed to be spread evenly through the year (uniform distribution of deaths), which is what the second formula does with the part year ss. For a couple, the two lifetimes are treated as independent, which the third formula relies on. Real couples share homes and habits, so their lifetimes are somewhat linked.

Today’s dollars and future dollars

Each result says whether it is in today’s dollars, with inflation taken out, or in future (nominal) dollars, the amounts that will actually be paid or held. Returns you enter are nominal unless a calculator says otherwise, and inflation is your assumption too.

Methodology for each calculator

Retirement income