A fixed-rate balance model
Time value of money compares amounts at different dates using an assumed rate. A positive rate makes a future amount worth less when discounted to today; a zero rate removes that difference. This calculator models a constant nonnegative nominal annual rate, equal payments, and regular periods. It does not forecast investment returns or reproduce every loan contract.
Use one cash-flow convention
- PV: the nonnegative starting balance.
- FV: the nonnegative target or ending balance.
- PMT: a positive deposit increases the balance; a negative withdrawal or loan repayment reduces it.
- Annual rate: a nominal percentage compounded m times per year. It is not an effective annual yield or an APR that includes fees.
- Years: elapsed model years. Payment-period count n = years × p, where p is the selected number of payments per year.
The equation used in all five modes
i = (1 + annualRate / 100 / m)^(m / p) − 1
G = (1 + i)^n
A = ((G − 1) / i) × (beginning ? 1 + i : 1)
FV = PV × G + PMT × A
At zero rate, G = 1 and A = n, so FV = PV + PMT × n. Beginning-of-period deposits earn an additional payment period of interest; beginning-of-period withdrawals remove funds earlier. The effect depends on the sign of PMT. Daily compounding uses 365 periods per model year, without calendar dates or day-count conventions.
Check a savings example and a loan example
With PV = $10,000, PMT = $0, a 6% nominal annual rate, monthly compounding, and one year, FV is approximately $10,616.78. Annual compounding at the same nominal rate gives $10,600. These are hypothetical fixed-rate amounts, before taxes and fees.
For a hypothetical $100,000 loan at 6% nominal annually over 30 years with monthly compounding and end-of-month payments, set PV = 100000 and FV = 0, then solve PMT. The result is approximately −$599.55 per month: the negative sign means repayment reduces the outstanding balance. The model excludes origination charges, insurance, taxes, prepayments, and lender-specific rounding.
When a solution is unavailable
Not every set of four values determines a valid fifth value. This tool supports 0–100 years, nonnegative nominal annual rates up to 1000%, and monetary magnitudes up to $1 quadrillion. These are numeric bounds, not financial recommendations. PV and FV must stay nonnegative; impossible targets, unsupported ranges, and failed equation checks produce an error.
Rate solving requires whole payment periods and brackets a root between 0% and 1000%. It supports nonnegative deposits, or a positive loan balance with negative repayments and FV = 0. Other withdrawal patterns and negative rates are not solved. Some cash flows do not identify any rate or a unique rate. There is no silent fallback to an initial guess.
Duration solving can return a fractional number of payment periods. This is a mathematical extension of the annuity formula, not a simulated partial payment or a contractual payoff date. The balance schedule is available only for whole payment periods and previews at most 1,000 rows. Summary totals for a fractional duration use the same formula extension.
Read the balance schedule
Each row shows signed PMT, interest accrued during that period, net balance change, and closing balance. It is a balance schedule, not a claim that every payment is principal. Calculations keep full precision between rows; displayed amounts are rounded. Changing an input clears the previous result so a schedule cannot silently use a different frequency.
Independent formula references
Microsoft FV documentation describes constant periodic payments and rate units; Microsoft RATE documentation notes that a numerical rate can have zero or multiple solutions. Spreadsheet functions use cash-flow signs from an investor’s perspective. This page instead uses the explicit balance convention above; do not copy signs blindly between the two.
The calculator is free and runs locally without fetching a rate or uploading your inputs. Its assumptions must be checked against the financial product or scenario being considered.