Calculate the Compound Annual Growth Rate (CAGR) to determine the long-term trend of your data.
Results
Understanding Trend Growth Rate
The trend growth rate, often calculated using the Compound Annual Growth Rate (CAGR) formula, is the geometric progression ratio that provides a constant rate of return over the time period. Unlike a simple average, it accounts for the effects of compounding and smooths out volatile year-to-year fluctuations to show the underlying trajectory of a metric.
The Formula
To calculate the trend growth rate manually, use the following formula:
Where n represents the number of periods (usually years).
Why Use Trend Growth Rate?
Eliminates Volatility: It ignores the "noise" of short-term ups and downs to reveal the long-term direction.
Investment Comparison: Investors use it to compare the performance of different assets over identical timeframes.
Economic Analysis: Economists use it to measure the potential output or GDP growth of a nation over decades.
Business Planning: Companies use it to forecast future revenue based on historical performance.
Practical Example:
Suppose a technology company had revenue of 100,000 in 2018. By 2023 (5 years later), their revenue grew to 250,000. While some years might have been slower than others, the trend growth rate is:
[(250,000 / 100,000)(1/5) – 1] = 0.2011 or 20.11% per year.
How to Interpret the Results
A positive trend growth rate indicates consistent expansion, while a negative rate suggests a downward trend or contraction. It is important to remember that trend growth assumes a smooth path, which rarely happens in reality. It serves as a benchmark for what happened "on average" between two specific points in time.
function calculateTrendGrowth() {
var vInitial = parseFloat(document.getElementById('initialValue').value);
var vFinal = parseFloat(document.getElementById('finalValue').value);
var periods = parseFloat(document.getElementById('numPeriods').value);
var resultDiv = document.getElementById('resultDisplay');
var rateText = document.getElementById('growthRateText');
var summaryText = document.getElementById('summaryText');
// Validation
if (isNaN(vInitial) || isNaN(vFinal) || isNaN(periods)) {
alert("Please enter valid numbers in all fields.");
return;
}
if (vInitial <= 0) {
alert("Initial value must be greater than zero for a trend calculation.");
return;
}
if (periods <= 0) {
alert("Number of periods must be greater than zero.");
return;
}
// CAGR Calculation: [(Final / Initial)^(1/n)] – 1
var ratio = vFinal / vInitial;
var exponent = 1 / periods;
var growthRate = Math.pow(ratio, exponent) – 1;
var percentageRate = growthRate * 100;
// Display Logic
resultDiv.style.display = 'block';
rateText.innerHTML = "Annualized Trend Growth Rate: " + percentageRate.toFixed(2) + "%";
var totalGrowth = ((vFinal – vInitial) / vInitial) * 100;
summaryText.innerHTML = "Over " + periods + " periods, the total cumulative growth was " + totalGrowth.toFixed(2) + "%. The calculated rate above represents the steady growth required per period to reach the final value.";
// Scroll to result
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}