# Annuity calculator (growth and payout)

> Calculate an annuity's future value from regular payments, the payout a lump sum buys over N years, or how long it lasts at a set withdrawal.

Interactive version: https://www.calcopenly.com/finance/annuity-calculator
Subject: Finance calculators

An annuity is a series of equal payments at a fixed interest rate. Saving into one, the future value is the payment times ((1 + i)^n − 1) ÷ i, where i is the rate per period and n the number of payments; paying out of one, the payment a lump sum supports is the lump sum times i ÷ (1 − (1 + i)^−n). Payments at the start of each period (an annuity due) earn one extra period of interest. A third mode solves for n, how long a lump sum lasts.

With the defaults, 500 at the end of each month for 20 years at 5% grows to 205,516.83 from 120,000 of payments. Paid out instead, 500,000 at 5% supports 3,299.78 a month for 20 years, and 3,000 a month lasts 23.76 years: 285 full withdrawals and a final 427.00.

The rate is a nominal yearly rate divided by the number of payments a year. Insurance annuity fees, surrender charges, taxes and inflation are not included.

## Inputs

- **I want to find** (options: Future value of regular payments, Payout from a lump sum over a set time, How long a lump sum lasts)
- **Payment each period**
- **Starting balance**
- **Lump sum at the start**
- **Withdrawal each period**
- **Term**
- **Term in** (options: Years, Months)
- **Interest rate (per year)**: Nominal yearly rate, compounded once per payment period
- **Payments every** (options: Week, Two weeks, Month, Quarter, Half-year, Year)
- **Payments made at** (options: End (ordinary), Start (annuity due))

## Results

- Future value — main result
- Payment each period
- Money lasts (years)
- Number of payments
- Final partial payment
- Present value of the payments
- Total of all payments
- Interest earned
- Rate per period

## Formula

$$
FV = S(1+i)^n + P\,\frac{(1+i)^n-1}{i}(1+i)^{\delta},\qquad P = \frac{PV\,i}{\big(1-(1+i)^{-n}\big)(1+i)^{\delta}},\qquad n = -\frac{\ln\!\big(1 - \frac{PV\,i}{W(1+i)^{\delta}}\big)}{\ln(1+i)}
$$

## Worked examples

### Future value of 1,000 a year for 10 years at 5%

- I want to find: Future value of regular payments
- Payment each period: 1000
- Starting balance: 0
- Term: 10
- Term in: Years
- Interest rate (per year): 5%
- Payments every: Year
- Payments made at: End (ordinary)
- **Future value: 12,577.89**
- **Total of all payments: 10,000.00**
- **Interest earned: 2,577.89**
- Checked against: Future value annuity factor table, 5% and 10 periods: 12.5779; Python decimal 12,577.8925355…

### Same payments as an annuity due

- I want to find: Future value of regular payments
- Payment each period: 1000
- Starting balance: 0
- Term: 10
- Term in: Years
- Interest rate (per year): 5%
- Payments every: Year
- Payments made at: Start (annuity due)
- **Future value: 13,206.79**
- Checked against: 12,577.89 × 1.05 (annuity-due factor); Python decimal 13,206.7871623…

### Excel FV example: 500 now plus 200 at the start of each month, 6%, 10 months

- I want to find: Future value of regular payments
- Payment each period: 200
- Starting balance: 500
- Term: 10
- Term in: Months
- Interest rate (per year): 6%
- Payments every: Month
- Payments made at: Start (annuity due)
- **Future value: 2,581.40**
- Checked against: Microsoft FV documentation: =FV(0.06/12, 10, -200, -500, 1) returns $2,581.40

### Excel PV example reversed: 59,777.15 paid out monthly for 20 years at 8%

- I want to find: Payout from a lump sum over a set time
- Lump sum at the start: 59,777.15
- Term: 20
- Term in: Years
- Interest rate (per year): 8%
- Payments every: Month
- Payments made at: End (ordinary)
- **Payment each period: 500.00**
- Checked against: Microsoft PV documentation: =PV(0.08/12, 12*20, 500, , 0) returns ($59,777.15)

### Excel PMT example: 10,000 over 10 months at 8%

- I want to find: Payout from a lump sum over a set time
- Lump sum at the start: 10,000
- Term: 10
- Term in: Months
- Interest rate (per year): 8%
- Payments every: Month
- Payments made at: End (ordinary)
- **Payment each period: 1,037.03**
- Checked against: Microsoft PMT documentation: =PMT(8%/12, 10, 10000) returns ($1,037.03)

### How long 100,000 lasts at 6% with 1,000 a month

- I want to find: How long a lump sum lasts
- Lump sum at the start: 100,000
- Withdrawal each period: 1000
- Interest rate (per year): 6%
- Payments every: Month
- Payments made at: End (ordinary)
- **Number of payments: 138.98**
- **Money lasts: 11.58 years**
- **Final partial payment: 975.78**
- Checked against: Python decimal: −ln(1 − 100,000 × 0.005/1,000)/ln 1.005 = 138.9757 months; period-by-period simulation for the final payment

## Questions

### How do you calculate the future value of an annuity?

Multiply the payment by ((1 + i)^n − 1) ÷ i, where i is the rate per period and n the number of payments. 1,000 at the end of each year for 10 years at 5% grows to 1,000 × 12.5779 = 12,577.89; paid at the start of each year (an annuity due) it grows to 13,206.79, 5% more, because every payment earns one more year.

### How much does an annuity pay per month?

Divide the lump sum by the present-value factor (1 − (1 + i)^−n) ÷ i. 500,000 at 5% a year (0.4167% a month) paid over 20 years gives 3,299.78 a month, 791,946.89 in total. Microsoft's PV documentation gives the reverse: 500 a month for 20 years at 8% costs 59,777.15 today.

### How long will a lump sum last with monthly withdrawals?

Solve n = −ln(1 − P·i ÷ W) ÷ ln(1 + i), with P the lump sum, i the monthly rate and W the withdrawal. 100,000 at 6% with 1,000 taken at the end of each month lasts 138.98 months: 138 full payments and a final 975.78, about 11.6 years. If W is no more than P·i (500 here), the balance never runs out.

### What is the difference between an ordinary annuity and an annuity due?

An ordinary annuity pays at the end of each period, like loan repayments; an annuity due pays at the start, like rent. An annuity due is worth (1 + i) times the ordinary one, both in future value and in present value. At 5% a year, a 10-year annuity due of 1,000 accumulates 13,206.79 against 12,577.89.

### How accurate is the annuity calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 8 worked examples whose answers come from independent sources; for example, “Future value of 1,000 a year for 10 years at 5%” is checked against Future value annuity factor table, 5% and 10 periods: 12.5779; Python decimal 12,577.8925355….

### Where does the method come from?

Microsoft Excel FV, PV, PMT and NPER functions (type 0 = end, 1 = start of period); Kellison, The Theory of Interest, 3rd ed., ch. 3 (annuities-immediate and annuities-due).

## Sources

- [Microsoft Excel FV, PV, PMT and NPER functions (type 0 = end, 1 = start of period)](https://support.microsoft.com/office/pv-function-23879d31-0e02-4321-be01-da16e8168cbd)
- Kellison, The Theory of Interest, 3rd ed., ch. 3 (annuities-immediate and annuities-due)

_Note: financial information, not professional advice._
