Home › Finance › Savings Goal Calculator
Savings Goal Calculator
Solves for the fixed end-of-month deposit required to grow current savings to a goal amount within a given number of years at a monthly-compounded annual rate.
When to use
You know the target amount, the deadline and an expected return and want the monthly saving required (emergency fund, down payment, tuition).
Do not use when: You already know the deposit and want the resulting balance (use compound-interest or future-value), or the contributions are irregular.
Formula
i = annual_rate_percent / 1200; m = 12·years; FV_current = current_savings × (1 + i)^m; monthly_deposit = (goal_amount − FV_current) × i / ((1 + i)^m − 1); if i = 0, monthly_deposit = (goal_amount − FV_current) / m
Ordinary-annuity (end-of-month) sinking-fund formula with monthly compounding; returns are assumed constant and taxes and fees are ignored.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
goal_amount | number | yes | Target balance to reach. Range: > 0, ≤ 1000000000000 | |
current_savings | number | default 0 | Amount already saved; it keeps compounding at the same rate. Range: ≥ 0, ≤ 1000000000000 | |
years | number | years | yes | Years until the goal is needed; rounded to whole months. Range: > 0, ≤ 100 |
annual_rate_percent | number | % | default 0 | Expected annual interest or return in percent, compounded monthly. Use 0 for cash under the mattress. Range: ≥ 0, ≤ 100 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
monthly_deposit | number | End-of-month deposit that reaches the goal exactly. | |
months | integer | 12 × years, rounded. | |
total_deposits | number | monthly_deposit × months. | |
future_value_of_current_savings | number | current_savings × (1 + i)^months. | |
interest_earned | number | goal_amount − current_savings − total_deposits. |
Example
50,000 in 10 years at 5 %: {"goal_amount":50000,"years":10,"annual_rate_percent":5} → {"monthly_deposit":321.99,"months":120,"total_deposits":38639.31,"interest_earned":11360.69}
20,000 in 3 years starting from 5,000 at 4 %: {"goal_amount":20000,"current_savings":5000,"years":3,"annual_rate_percent":4} → {"monthly_deposit":376.19,"months":36,"future_value_of_current_savings":5636.36}
GET https://tttkmbb.com/api/v1/calculate/savings-goal?goal_amount=50000&years=10&annual_rate_percent=5
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/savings-goal(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/savings-goal · Markdown: https://tttkmbb.com/finance/savings-goal.md · JSON definition: https://tttkmbb.com/finance/savings-goal.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="savings-goal" - OpenAPI operationId:
calculate_savings_goal_deposit - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Time value of money (reference)
- Investopedia – Compound Interest: Formula and Examples (reference)
FAQ
What if my current savings already cover the goal?
monthly_deposit is reported as 0 and a note says the existing balance reaches the goal on its own at that rate.
Should I use a nominal or real return?
Use a nominal return if the goal is a fixed nominal sum; use a real (inflation-adjusted) return if the goal is in today's purchasing power (see inflation).
Related calculators
- Compound Interest Calculator — Project the balance for a chosen deposit instead.
- Inflation Calculator — Convert a goal in today's money to its future nominal cost.