Leave blank for a simple percentage change calculation.
Results
How to Calculate Percent Growth Rate
Understanding growth rates is essential for tracking performance in business, finance, and statistics. Whether you are monitoring revenue growth, population changes, or social media follower counts, the percent growth rate provides a clear metric of progress over time.
The Basic Growth Rate Formula
The simplest way to calculate percentage growth is to find the difference between two values and divide it by the original starting value. The formula is:
If your growth happens over multiple periods (like years or months), a simple percentage might be misleading. In these cases, we use the CAGR formula to determine the mean annual growth rate over a specified period of time longer than one year.
CAGR = [(Final Value / Starting Value)^(1 / Number of Periods) – 1] × 100
Step-by-Step Calculation Example
Imagine your business had 500 customers at the start of the year and 750 customers at the end of the year. To find the growth rate:
Subtract the starting value from the final value: 750 – 500 = 250.
Divide that difference by the starting value: 250 / 500 = 0.5.
Multiply by 100 to get the percentage: 0.5 × 100 = 50%.
This means your customer base grew by 50% during the year.
Negative Growth
If the final value is lower than the starting value, the result will be a negative number. This represents a percentage decrease or negative growth. For example, if you start with 100 units and end with 80, your growth rate is -20%.
function calculateGrowth() {
var initial = parseFloat(document.getElementById('initialValue').value);
var final = parseFloat(document.getElementById('finalValue').value);
var periods = parseFloat(document.getElementById('timePeriods').value);
var resultDiv = document.getElementById('growthResult');
var simpleResText = document.getElementById('simpleResult');
var totalChangeText = document.getElementById('totalChangeResult');
var annualResText = document.getElementById('annualizedResult');
if (isNaN(initial) || isNaN(final)) {
alert("Please enter both the starting and ending values.");
return;
}
if (initial === 0) {
alert("Starting value cannot be zero, as division by zero is mathematically undefined.");
return;
}
// Calculate Basic Growth
var totalChange = final – initial;
var percentageGrowth = (totalChange / initial) * 100;
// Display basic results
resultDiv.style.display = 'block';
simpleResText.innerHTML = "Percentage Change: " + percentageGrowth.toFixed(2) + "%";
totalChangeText.innerHTML = "Total Absolute Change: " + totalChange.toLocaleString();
// Calculate CAGR if periods are provided and valid
if (!isNaN(periods) && periods > 0) {
// Handle negative values for CAGR (only works if final/initial ratio is positive)
if (final / initial <= 0) {
annualResText.innerHTML = "Annualized Rate: Cannot calculate CAGR for values resulting in negative ratios.";
} else {
var cagr = (Math.pow((final / initial), (1 / periods)) – 1) * 100;
annualResText.innerHTML = "Annualized Growth Rate (CAGR): " + cagr.toFixed(2) + "% per period";
}
} else {
annualResText.innerHTML = "";
}
// Scroll to result on mobile
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}