Estimate your potential retirement nest egg based on your current savings, contributions, and expected growth.
7%
Your Projected Retirement Nest Egg
$0
Understanding Your Retirement Savings Projection
Planning for retirement is a critical step towards financial security in your later years. This T. Rowe Price Retirement Savings Calculator helps you visualize the potential growth of your retirement fund by taking into account your current savings, how much you plan to contribute annually, your target retirement age, your current age, and an estimated annual rate of return on your investments.
The calculator employs the principles of compound interest to project your future savings. Compound interest is the interest earned on both the initial principal and the accumulated interest from previous periods. It's often described as "interest on interest" and is a powerful tool for long-term wealth building.
How the Calculation Works:
The core of the retirement savings calculation involves projecting the future value of your current savings and the future value of your series of annual contributions.
Years to Retirement: This is calculated by subtracting your Current Age from your Target Retirement Age.
Years to Retirement = Target Retirement Age - Current Age
Future Value of Current Savings: This is calculated using the compound interest formula:
FV_current = PV * (1 + r)^n Where:
PV = Present Value (Current Retirement Savings)
r = Annual Growth Rate (as a decimal)
n = Years to Retirement
Future Value of Annual Contributions: This uses the future value of an ordinary annuity formula, assuming contributions are made at the end of each year:
FV_contributions = C * [((1 + r)^n - 1) / r] Where:
C = Annual Contribution
r = Annual Growth Rate (as a decimal)
n = Years to Retirement
*Note: If the growth rate `r` is 0, the formula simplifies to `FV_contributions = C * n`.*
Total Projected Retirement Savings: The sum of the future value of your current savings and the future value of your annual contributions.
Total FV = FV_current + FV_contributions
Key Inputs and Their Impact:
Current Retirement Savings: The larger your starting nest egg, the more potential it has to grow through compounding.
Annual Contribution: Consistently adding to your savings is crucial. Higher contributions significantly boost your final amount.
Target Retirement Age: Retiring later gives your investments more time to compound and potentially grow larger.
Current Age: A younger starting age means more years for compounding to work its magic.
Expected Annual Growth Rate: Even small differences in the average annual return can have a substantial impact over long periods due to the power of compounding. However, higher growth rates often come with higher risk.
Disclaimer:
This calculator provides an estimate based on the inputs provided and assumes consistent contribution and growth rates. It does not account for inflation, taxes, fees, changes in income, market volatility, or other factors that can affect actual retirement savings. Investment returns are not guaranteed. It is recommended to consult with a qualified financial advisor for personalized retirement planning.
function calculateRetirement() {
var currentSavings = parseFloat(document.getElementById("currentSavings").value);
var annualContribution = parseFloat(document.getElementById("annualContribution").value);
var retirementAge = parseInt(document.getElementById("retirementAge").value);
var currentAge = parseInt(document.getElementById("currentAge").value);
var annualGrowthRatePercent = parseFloat(document.getElementById("annualGrowthRate").value);
var resultElement = document.getElementById("projectedSavings");
// Validate inputs
if (isNaN(currentSavings) || currentSavings < 0 ||
isNaN(annualContribution) || annualContribution < 0 ||
isNaN(retirementAge) || retirementAge < 18 ||
isNaN(currentAge) || currentAge < 18 ||
isNaN(annualGrowthRatePercent) || annualGrowthRatePercent = retirementAge) {
resultElement.innerText = "Current age must be less than retirement age.";
return;
}
var yearsToRetirement = retirementAge – currentAge;
var annualGrowthRateDecimal = annualGrowthRatePercent / 100;
var futureValueCurrentSavings = 0;
var futureValueContributions = 0;
// Calculate Future Value of Current Savings
if (annualGrowthRateDecimal > 0) {
futureValueCurrentSavings = currentSavings * Math.pow((1 + annualGrowthRateDecimal), yearsToRetirement);
} else {
futureValueCurrentSavings = currentSavings; // No growth if rate is 0
}
// Calculate Future Value of Annual Contributions
if (annualGrowthRateDecimal > 0) {
futureValueContributions = annualContribution * (Math.pow((1 + annualGrowthRateDecimal), yearsToRetirement) – 1) / annualGrowthRateDecimal;
} else {
futureValueContributions = annualContribution * yearsToRetirement; // Simple sum if rate is 0
}
var totalProjectedSavings = futureValueCurrentSavings + futureValueContributions;
// Format the result to two decimal places and add currency symbol
resultElement.innerText = "$" + totalProjectedSavings.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}