Solving the savings equation for time instead of money
Most savings calculators fix the horizon and tell you the ending balance. This one fixes the ending balance and tells you the horizon. That is the more useful direction for anyone with a defined goal — a deposit, a sabbatical, a first million — because the target is the thing you already know and the date is the thing you are trying to discover.
Mathematically it is the same equation solved for a different unknown. The future-value relation has five quantities: present value, payment, rate, number of periods and future value. Fix any four and the fifth is determined. Solving for the number of periods is the only one of the five that needs a logarithm, which is why spreadsheets give it its own function and why it is the version people reach for a calculator to do.
The answer is almost always a fraction of a period, and that fraction is meaningful. A result of 90.02 monthly periods means you cross the target immediately after the 90th payment, so payment 91 is the first one you do not need. Rounding up to whole payments is the practical reading; rounding down understates the wait.
How the formula is derived, and why q shows up
Start with the ordinary annuity future value: FV = PV(1 + i)n + PMT[((1 + i)n − 1) ÷ i]. Group the terms that carry (1 + i)n and you get a much cleaner shape.
Write q = PMT ÷ i. That quantity is the present value of the contribution stream if it ran forever — a perpetuity. The equation collapses to (PV + q)(1 + i)n = FV + q. Now the whole problem is a single exponential: the quantity (PV + q) grows at rate i until it equals (FV + q).
Take logarithms of both sides and divide: n = ln[(FV + q) ÷ (PV + q)] ÷ ln(1 + i). Multiply numerator and denominator inside the bracket by i and you get the more commonly quoted form with FV·i + PMT on top.
Two degenerate cases fall out and both are handled. If i = 0 there is no compounding at all and n = (FV − PV) ÷ PMT, which is simple division. If PMT = 0 then q = 0 and the expression reduces to ln(FV ÷ PV) ÷ ln(1 + i), the pure doubling-style formula behind the Rule of 72 calculator.
The rate conversion deserves a note. When you contribute monthly but state a return annually, the two have to be reconciled. This calculator treats your input as an effective annual rate and converts with i = (1 + R)1/m − 1, so 7% a year becomes 0.565415% a month. Many tools instead divide by 12, which turns 7% a year into 7.229% effective and makes goals arrive slightly early. Check which convention a competing tool uses before comparing answers.
Worked example: $25,000 today, $500 a month, 7% a year, $100,000 target
These are the calculator's defaults, so every intermediate value below is reproducible on this page.
- Convert the rate. i = 1.071/12 − 1 = 0.00565415, so 0.565415% a month. Note ln(1 + i) = ln(1.07) ÷ 12 = 0.06765865 ÷ 12 = 0.00563822.
- Build the numerator. FV·i + PMT = 100,000 × 0.00565415 + 500 = 565.415 + 500 = 1,065.415.
- Build the denominator. PV·i + PMT = 25,000 × 0.00565415 + 500 = 141.354 + 500 = 641.354.
- Take the ratio. 1,065.415 ÷ 641.354 = 1.661197.
- Take logarithms. ln(1.661197) = 0.507538, and dividing by 0.00563822 gives n = 90.017 months.
- Read it in years. 90.017 ÷ 12 = 7.501 years, so 7 years and 6 months, crossing the target during payment 91.
- Split the result. You pay in 500 × 90.017 = $45,008.72. The gap of 100,000 − 25,000 − 45,008.72 = $29,991.28 is growth, which is 29.99% of the finished balance.
Sanity-check the direction of each lever from these numbers. Raise the return to 9% and the same target arrives at 81.4 months; hold the return at 7% and raise the contribution to $600 instead and it arrives at 80.2 months. On this particular starting point the extra $100 a month just edges out the extra two percentage points of return, by 1.2 months — but that ranking is specific to these inputs, and it reverses for a large balance with a small contribution, where the return is applied to a much bigger base. Change the numbers in the calculator rather than carrying the conclusion around.
Reading the growth share, and what the timeline is sensitive to
The most informative output is not the date — it is the growth share. In the default case, 29.99% of the finished $100,000 came from compounding. That figure tells you which lever matters. Below roughly a third, the plan is fundamentally a savings plan and your contribution rate is doing the work; above two thirds, it is fundamentally an investment plan and the return assumption is doing the work, which means the timeline is far more fragile than it looks.
Sensitivity is asymmetric in an important way. Because the answer is a logarithm, adding money at the start compresses the timeline more than the same money added later. That is the arithmetic behind the standard advice to front-load: a lump sum today is inside the (PV + q) term and is compounded for the entire span.
Treat every timeline as nominal unless you deliberately made it real. If your $100,000 target is expressed in today's money and your 7% is a nominal return, the plan is quietly short by whatever inflation does over seven and a half years. Run the return through the real return calculator and use the real rate, which at 7% nominal and 3% inflation is 3.8835%; the same goal then takes 108.6 months instead of 90.0.
Finally, remember that the return is an average, not a schedule. Markets do not deliver 0.565% a month. A single bad first year pushes the date out by more than a single good first year pulls it in, because the loss is compounded for the whole remaining term. Treat the answer as a central estimate and plan around a band.
Years to reach $1,000,000 from zero
| Monthly contribution | 5% a year | 7% a year | 9% a year |
|---|---|---|---|
| $500 | 45.4 yr | 37.1 yr | 31.7 yr |
| $1,000 | 33.3 yr | 28.0 yr | 24.4 yr |
| $2,000 | 22.8 yr | 19.8 yr | 17.7 yr |
Each cell is n = ln(FV·i/PMT + 1) / ln(1 + i) evaluated at that combination, then divided by 12. Doubling the contribution from $500 to $1,000 at 7% cuts 9.1 years; doubling again to $2,000 cuts a further 8.2.
What this calculator does not account for
- Contribution increases. The payment is flat for the whole term. If yours rises with your salary, the goal arrives earlier — model it with the step-up SIP calculator.
- Taxes and fees. Net them out of the return before you enter it. A 7% gross return inside a taxable account at a 15% rate on distributions is not 7% net.
- Sequence of returns. A constant rate cannot express the difference between a good decade followed by a bad one and the reverse, and for an accumulation goal that ordering matters.
- Employer contributions. If a match is landing in the same account, include it in the contribution figure — the 401(k) match calculator will tell you how much it is.
- Withdrawals. The equation assumes money only goes in. Any planned withdrawal before the goal invalidates the timeline.
- Inflation. Unless you entered a real return, the target is being hit in future dollars rather than today's.
Which of the five variables to solve for
Every goal question is one of five solves, and picking the right one saves a lot of guesswork. Solve for time, as here, when the contribution is already fixed by your budget and you want to know when you arrive. Solve for the contribution when the date is fixed — a deposit needed in three years, a tuition bill in ten — using the monthly investment for a goal calculator.
Solve for the future value when you simply want to know where a plan lands, with the future value calculator for contributions or the compound interest calculator for a lump sum. Solve for the rate when you already know where you started and finished and want the realised return, which is what the CAGR calculator does.
Solving for present value is the least obvious but often the most revealing: it asks how much you would need today to arrive without ever contributing again. That is exactly the Coast FIRE question, and the Coast FIRE calculator answers it directly. If the number it returns is close to what you already have, the timeline above is far less fragile than it looks, because compounding rather than discipline is carrying the plan.
