# 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.

- Calculator id: `savings-goal` · Category: Finance (`finance`) · Tool name: `calculate_savings_goal_deposit`
- Canonical page: https://tttkmbb.com/finance/savings-goal · This document: https://tttkmbb.com/finance/savings-goal.md · JSON definition: https://tttkmbb.com/finance/savings-goal.json

## Purpose

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.

**Use when:** 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.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `goal_amount` | number |  | required | Target balance to reach. (> 0, max 1000000000000) |
| `current_savings` | number |  | optional, default 0 | Amount already saved; it keeps compounding at the same rate. (min 0, max 1000000000000) |
| `years` | number | years | required | Years until the goal is needed; rounded to whole months. (> 0, max 100) |
| `annual_rate_percent` | number | % | optional, default 0 | Expected annual interest or return in percent, compounded monthly. Use 0 for cash under the mattress. (min 0, max 100) |

## Output

| Field | 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. |

## 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.

## Data Sources

- Wikipedia – Time value of money — https://en.wikipedia.org/wiki/Time_value_of_money (reference, retrieved 2026-09-23)
- Investopedia – Compound Interest: Formula and Examples — https://www.investopedia.com/terms/c/compoundinterest.asp (reference, retrieved 2026-09-23)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/savings-goal?goal_amount=…&years=…`
- `POST https://tttkmbb.com/api/v1/calculate/savings-goal` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/savings-goal · OpenAPI operationId `calculate_savings_goal_deposit` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "savings-goal", "inputs": {…}}`

## Example

- 50,000 in 10 years at 5 %: inputs `{"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 %: inputs `{"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
```

## Limitations

You already know the deposit and want the resulting balance (use compound-interest or future-value), or the contributions are irregular. Ordinary-annuity (end-of-month) sinking-fund formula with monthly compounding; returns are assumed constant and taxes and fees are ignored. All values are computed from the formula above; no measurement or live data is involved.

## 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

- [Compound Interest Calculator](https://tttkmbb.com/finance/compound-interest.md) — Project the balance for a chosen deposit instead.
- [Inflation Calculator](https://tttkmbb.com/finance/inflation.md) — Convert a goal in today's money to its future nominal cost.
