Workspace
The calculator's own fields, action and results arrive with the verified pack when you load it. Nothing is computed in this page.
Find how many months a retirement corpus lasts under an inflation-growing monthly withdrawal while the balance earns a fixed return — with the perpetual case refused, not faked.
The calculator's own fields, action and results arrive with the verified pack when you load it. Nothing is computed in this page.
The annual return and the annual inflation figure are each brought down to monthly form, and the depletion month falls out of a logarithmic relation between the corpus, the withdrawal and the gap between those two monthly rates. It is a closed-form solution of the same month-by-month walk the full application iterates, matched against that walk in the pack’s own declared vectors.
The month count is the primary answer, taken as a whole number of months by rounding the continuous solution upward — a partial final month still has to be lived through, so the horizon is never understated by truncation. The year figure is the same count expressed in years, and can carry a fraction.
The total withdrawn is not the withdrawal times the months unless inflation is zero. With a growing withdrawal, the later months pay out more than the earlier ones, and the total sums that growth — which is why an inflation assumption changes the lifetime payout even when it barely moves the horizon.
The instrument covers only the finite side of the race. If the return does not exceed the inflation rate, or if the corpus’s real monthly growth already covers the withdrawal, the closed form has nothing truthful to say — the corpus lasts indefinitely on these assumptions — and the calculation declines and points to the application’s iterated projection instead.
A retirement-sized corpus paying a level monthly withdrawal — no inflation growth — with the balance earning a modest fixed return; then the same corpus asked to sustain a much heavier withdrawal.
The first case runs well over a decade before depletion, and because the withdrawal never grows, the total withdrawn is exactly the monthly amount times the month count. The heavier withdrawal collapses the horizon to under a year — the return has no time to matter when the outflow dwarfs it. Add a positive inflation assumption instead, and the total withdrawn rises above the simple product, because the later months pay out more than the first.
All figures are produced by the certified engine at page load, from a release checked against the test vectors declared inside the signed pack — including vectors that pin this closed form to the engine’s own month-by-month walk.
The balance at the start of the drawdown — everything the withdrawals will be paid from. It must be positive; a horizon over an empty corpus means nothing.
What the first month pays out. Every later month pays this amount grown by the accumulated inflation, so it is the base of the growth path rather than a constant. It must be positive.
The fixed annual return the remaining balance earns, as a percentage, applied in monthly form. For a finite horizon to exist it must exceed the inflation rate — and the calculation enforces that rather than assuming it.
The annual rate at which the withdrawal itself grows, as a percentage. Zero is a legitimate choice and makes the withdrawal a level one, in which case the total withdrawn is simply the withdrawal taken once per month of the horizon.
Closed-form growing-annuity depletion of a corpus under fixed return and inflation
Monthly return and inflation rates are derived from the annual figures; the depletion month solves a logarithmic relation in the corpus, the withdrawal and the two rates, rounded up to whole months; the total withdrawn sums the growing withdrawal across that horizon, with the level-withdrawal case handled exactly.
Educational reference, not financial advice — a fixed-return depletion horizon, not a retirement plan. The signed pack carries its own citation, including the parity record pinning this closed form to the engine’s iterated walk; the page reports the verification state of the release it mounted rather than asserting one.