Methodology
Every calculator on this site runs the same open, deterministic simulation in your browser. Nothing is sent to a server.
The monthly loop
- Convert the annual return r to a monthly rate: (1 + r)1/12 − 1. Apply it to the balance.
- Subtract the withdrawal. If a tax rate t is set, the amount removed is withdrawal ÷ (1 − t) so the after-tax amount equals what you entered.
- Every month, increase the withdrawal by the monthly-equivalent inflation rate so that it rises by exactly the annual inflation figure each year.
- Stop when the balance reaches zero (report the month) or after 1,200 months (report "indefinitely").
Safe withdrawal for N years
We search for the largest starting withdrawal whose simulation survives N×12 months, using 40 rounds of bisection between $0 and the full balance. Accuracy is well under $1.
What the model does not do
- It does not model variable returns or sequence-of-returns risk. A constant return is optimistic for retirees who hit a bear market early.
- It does not model fees separately — subtract them from the return.
- It does not model progressive tax brackets, Social Security taxation, RMDs, or state-specific rules. The tax field is a flat rate.
- Amount-page tables use 2.5% inflation and no tax.
Sources for the rules of thumb quoted across the site: the original 4% rule (Bengen, 1994) and the Trinity Study (1998); IRS Publication 590-B for IRA distribution rules; SSA data for average retired-worker benefits; TSP.gov and IRS guidance for plan-specific rules. Figures are reviewed annually.