Understanding Compound Annual Growth Rate (CAGR)
The Compound Annual Growth Rate (CAGR) is a metric that represents the mean annual growth rate of an investment over a specified period of time longer than one year. It smooths out the variability of short-term returns and provides a clearer picture of an investment's historical performance. CAGR is particularly useful because it's an "equivalent" annual rate, meaning if the investment had grown at a steady rate each year, it would have achieved the same ending value.
CAGR is calculated using the following formula:
CAGR = [(Ending Value / Starting Value) ^ (1 / Number of Years)] – 1
Where:
- Ending Value: The value of the investment at the end of the period.
- Starting Value: The value of the investment at the beginning of the period.
- Number of Years: The total duration of the investment period in years.
Why is CAGR important?
CAGR is widely used by investors and analysts to:
- Compare the performance of different investments over time.
- Assess the historical growth trajectory of a company or asset.
- Set realistic future growth expectations.
- Understand the true compounded return, ignoring intermediate fluctuations.
It's important to note that CAGR is a historical measure and does not guarantee future performance. It also doesn't account for the risk associated with the investment.
Example Calculation:
Let's say you invested $10,000 in a stock at the beginning of 2018 (Starting Value = 10,000). By the end of 2022, your investment had grown to $25,000 (Ending Value = 25,000). The investment period is 5 years (Number of Years = 5).
Using the CAGR formula:
CAGR = [($25,000 / $10,000) ^ (1 / 5)] – 1
CAGR = [(2.5) ^ (0.2)] – 1
CAGR = [1.2011] – 1
CAGR = 0.2011 or 20.11%
This means your investment grew at an average annual rate of approximately 20.11% over the five-year period.
function calculateCAGR() {
var startingValue = parseFloat(document.getElementById("startingValue").value);
var endingValue = parseFloat(document.getElementById("endingValue").value);
var numberOfYears = parseFloat(document.getElementById("numberOfYears").value);
var cagrResultDiv = document.getElementById("cagrResult");
var cagrValueElement = document.getElementById("cagrValue");
var explanationElement = document.getElementById("explanation");
if (isNaN(startingValue) || isNaN(endingValue) || isNaN(numberOfYears) || startingValue <= 0 || endingValue <= 0 || numberOfYears <= 0) {
cagrValueElement.innerHTML = "Please enter valid positive numbers for all fields.";
explanationElement.innerHTML = "";
cagrResultDiv.style.display = "block";
return;
}
var cagr = Math.pow((endingValue / startingValue), (1 / numberOfYears)) – 1;
var cagrPercentage = cagr * 100;
cagrValueElement.innerHTML = "CAGR: " + cagrPercentage.toFixed(2) + "%";
explanationElement.innerHTML = "This represents the average annual growth rate of your investment over " + numberOfYears + " years, assuming it grew at a steady rate each year.";
cagrResultDiv.style.display = "block";
}
.compound-growth-calculator {
font-family: sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.compound-growth-calculator h2 {
text-align: center;
color: #333;
margin-bottom: 25px;
}
.calculator-inputs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
margin-bottom: 25px;
padding: 20px;
background-color: #f9f9f9;
border-radius: 6px;
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
margin-bottom: 8px;
font-weight: bold;
color: #555;
}
.input-group input[type="number"] {
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1rem;
}
.input-group input[type="number"]:focus {
outline: none;
border-color: #007bff;
box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}
.compound-growth-calculator button {
grid-column: 1 / -1; /* Span across all columns */
padding: 12px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
font-size: 1.1rem;
cursor: pointer;
transition: background-color 0.2s ease;
}
.compound-growth-calculator button:hover {
background-color: #0056b3;
}
.calculator-results {
display: none; /* Hidden by default */
margin-top: 25px;
padding: 20px;
background-color: #e9ecef;
border-radius: 6px;
border: 1px solid #ced4da;
}
.calculator-results h3 {
margin-top: 0;
color: #333;
border-bottom: 1px solid #ccc;
padding-bottom: 10px;
margin-bottom: 15px;
}
.calculator-results p {
margin-bottom: 10px;
font-size: 1.1rem;
color: #444;
}
#cagrValue {
font-weight: bold;
color: #28a745; /* Green for positive results */
font-size: 1.3rem;
}
.calculator-article {
margin-top: 30px;
padding: 20px;
background-color: #fefefe;
border-radius: 6px;
border: 1px solid #e0e0e0;
color: #333;
line-height: 1.6;
}
.calculator-article h3, .calculator-article h4 {
color: #0056b3;
margin-top: 20px;
margin-bottom: 15px;
}
.calculator-article p {
margin-bottom: 15px;
}
.calculator-article ul {
margin-left: 20px;
margin-bottom: 15px;
}
.calculator-article li {
margin-bottom: 8px;
}
.calculator-article strong {
font-weight: bold;
}