How CompoundCalc Calculates Compound Interest
Every calculator on CompoundCalc is an educational estimate. This page explains the formulas, assumptions and limits so users can judge the result instead of treating it as financial advice.
Core formula
This formula works for a single starting amount. Pages with monthly contributions add each deposit into the projection and compound it for the remaining time.
Contribution assumptions
- Monthly contributions: most tools assume a fixed monthly deposit.
- Timing: unless stated otherwise, deposits are treated as end-of-period contributions.
- Return: the annual return is constant in the calculator, even though real markets are not.
- Currency: results use the entered number format and are not tied to a specific tax system.
What the calculators do not include
No calculator here automatically applies income tax, capital gains tax, account fees or platform charges.
A constant return smooths the path. Real investment returns move up and down.
Use a lower real return assumption or the inflation-related guides for more conservative planning.
The site does not recommend investments or tell you what to buy.
The formulas, written out
Nothing on this site uses a proprietary model. Every result comes from standard formulas, applied with stated conventions. They are reproduced here so you can check any figure by hand.
| Quantity | Formula | Notes |
|---|---|---|
| Future value of a lump sum | FV = P × (1 + r/n)n×t | P principal, r annual rate as a decimal, n compounding periods per year, t years. |
| Future value of regular deposits | FV = PMT × [((1 + r/n)n×t − 1) / (r/n)] | Ordinary annuity — deposits at the end of each period. |
| Deposits at the start of each period | Multiply the above by (1 + r/n) | Each deposit earns exactly one extra period. |
| Present value | PV = FV ÷ (1 + r/n)n×t | The lump-sum formula rearranged. |
| Effective annual rate | EAR = (1 + r/n)n − 1 | Also called APY on deposit products. |
| Doubling time | t = ln(2) / (n × ln(1 + r/n)) | The Rule of 72 approximates this. |
| Real rate of return | (1 + nominal) ÷ (1 + inflation) − 1 | Not nominal minus inflation. |
Conventions this site uses, and why
- Period-by-period, not annual shortcuts. The engine steps through every compounding period rather than applying one annual multiplier. This is the single biggest source of disagreement between calculators, and the shortcut always produces a larger, wrong number.
- Contributions at the end of the period by default. The conservative convention. Beginning-of-period is available as an option, and the difference is exactly a factor of (1 + r/n).
- Monthly compounding by default. It matches how most accounts credit interest and most people contribute. Every calculator lets you change it.
- Contributions converted, not duplicated. A monthly contribution under quarterly compounding becomes three months' worth per quarter — the annual total stays the same regardless of frequency.
- Nominal figures throughout. Nothing is inflation-adjusted unless the page says so explicitly.
- No tax, no fees. Both depend on jurisdiction and product. Subtracting an annual fee from the rate is a good approximation of its effect.
- Rounding at the end only. Intermediate values keep full precision; only the displayed figure is rounded.
How the numbers are checked before they are published
Every figure printed on this site is reproduced independently of the JavaScript that generated it, and the two are compared before publication. Three checks are used:
- Against the closed form. The period-by-period simulation must agree with the algebraic formula to within a cent.
- Against a known identity. Beginning-of-period contributions must equal end-of-period contributions multiplied by exactly (1 + r/n). A timing bug fails this immediately.
- Against inversion. Goal-seeking results are fed back through the projection to confirm they land on the target.
As a worked example: $10,000 at 7% for 30 years compounded monthly gives $81,164.97 by the closed-form formula and $81,164.97 by simulation. Adding $250 a month gives $304,992.75 from the annuity formula for the contribution component, and the two components sum to $386,157.72 — matching the simulation exactly. Disagreement at this step means nothing is published until it is understood.
A finance calculator that will not show its working is asking for trust it has not earned. The editorial policy covers the rest of the process, including how corrections are handled — and this process has caught published-number errors that were wrong in the site's own favour.
Known limitations
- Returns are constant. Real markets are not. Sequence of returns matters enormously once you begin withdrawing, and not at all while you are only contributing.
- Contributions are level. Increasing deposits with income is common and not modelled by default.
- No withdrawals mid-plan. The accumulation tools assume nothing is taken out.
- Currency-agnostic. Dollar signs are labels. The mathematics is identical in any currency.
- Country rules are not encoded. Where a page mentions ISAs or pensions, contribution limits and tax treatment are described in general terms and change over time.
If you find a figure that does not reconcile with these formulas, that is worth reporting — contact@compoundcalc.com.
Questions about our methodology
What formula does CompoundCalc use?
FV = P × (1 + r/n)n×t for lump sums, plus the ordinary annuity formula for recurring contributions. The engine steps through each compounding period rather than applying an annual shortcut.
Why do your results differ from other calculators?
Almost always contribution timing or compounding frequency. Many tools credit a full period of growth to deposits made during that period, which overstates the result. This site compounds each deposit from when it arrives.
Do the calculators include tax, fees or inflation?
No. All three depend on jurisdiction and product. Subtracting an annual fee from the return rate approximates its effect well; for inflation, see retirement in today's dollars.
Is my data sent anywhere when I use a calculator?
No. Every calculation runs in your browser. Nothing you type is transmitted, stored or logged — there is no server-side calculation endpoint to send it to. See the privacy policy.