Use this calculator to determine the proportional growth rate (PGR), absolute change, and compound growth rate over a specific period of time. This tool is ideal for analyzing population growth, bacterial cultures, financial asset appreciation, or any metric that changes size relative to its starting point.
The starting population, size, or value.
The ending population, size, or value.
Number of hours, days, years, etc. (Optional for simple percentage)
Absolute Change:–
Total Proportional Growth:–
Growth Rate per Period (Arithmetic):–
Compound Growth Rate (Geometric/CAGR):–
function calculateProportionalGrowth() {
// Get inputs
var startVal = parseFloat(document.getElementById('initialValue').value);
var endVal = parseFloat(document.getElementById('finalValue').value);
var timeVal = parseFloat(document.getElementById('timePeriods').value);
var errorDiv = document.getElementById('pgrErrorMessage');
var resultsDiv = document.getElementById('pgrResults');
// Reset UI
errorDiv.style.display = 'none';
resultsDiv.style.display = 'none';
errorDiv.innerHTML = ";
// Validation
if (isNaN(startVal) || isNaN(endVal)) {
errorDiv.innerHTML = 'Please enter both Initial and Final values.';
errorDiv.style.display = 'block';
return;
}
if (startVal === 0) {
errorDiv.innerHTML = 'Initial Value cannot be zero (division by zero error).';
errorDiv.style.display = 'block';
return;
}
// Calculations
var absoluteChange = endVal – startVal;
var totalGrowthRatio = absoluteChange / startVal;
var totalGrowthPercent = totalGrowthRatio * 100;
// Handle Time Dependent Calculations
var simpleRate = "N/A";
var compoundRate = "N/A";
if (!isNaN(timeVal) && timeVal > 0) {
// Arithmetic Mean Rate: (Total Growth %) / Time
var simpleRateVal = totalGrowthPercent / timeVal;
simpleRate = simpleRateVal.toFixed(2) + '%';
// Geometric Mean Rate (CAGR/Exponential): ( (End/Start)^(1/t) – 1 ) * 100
// We must handle negative bases if necessary, but usually growth models assume positive entities.
if (startVal > 0 && endVal >= 0) {
var growthFactor = endVal / startVal;
var compoundRateVal = (Math.pow(growthFactor, 1 / timeVal) – 1) * 100;
compoundRate = compoundRateVal.toFixed(2) + '%';
} else {
compoundRate = "Undefined (Negative Inputs)";
}
} else if (timeVal === 0) {
simpleRate = "Infinite (Time is 0)";
compoundRate = "Infinite (Time is 0)";
}
// Update DOM
document.getElementById('resAbsoluteChange').innerText = absoluteChange.toFixed(2);
document.getElementById('resTotalPercent').innerText = totalGrowthPercent.toFixed(2) + '%';
document.getElementById('resSimpleRate').innerText = simpleRate;
document.getElementById('resCompoundRate').innerText = compoundRate;
resultsDiv.style.display = 'block';
}
What is Proportional Growth Rate?
Proportional growth rate measures the change in a variable relative to its initial size. Unlike absolute growth, which simply tells you the numeric difference (e.g., "grew by 50 units"), proportional growth contextualizes that change as a fraction or percentage of the starting value (e.g., "grew by 10%").
This metric is fundamental in various fields:
Biology: Calculating population growth of bacteria or animals.
Finance: Analyzing stock market returns or revenue growth.
Demographics: Measuring urbanization or migration rates.
The Formulas
Depending on whether you are looking for the total change or the rate of change over specific time intervals, different formulas apply.
1. Simple Proportional Growth (Total)
To find the total percentage growth between a starting point and an ending point:
Growth Rate = ( (Final Value – Initial Value) / Initial Value ) × 100
2. Compound Growth Rate (Over Time)
If the growth occurs over multiple periods (years, hours, etc.) and compounds, we use the Geometric Growth Rate formula (similar to CAGR in finance):
Imagine a bacterial colony starts with 100 cells ($N_0$) and grows to 300 cells ($N_t$) over the course of 4 hours ($t$).
Step 1: Absolute Change
300 – 100 = 200 cells.
Step 2: Total Proportional Growth
(200 / 100) = 2.0 or 200% total growth.
Step 3: Hourly Compound Rate
Using the compound formula: $(300 / 100)^{(1/4)} – 1$
$= 3^{0.25} – 1$
$= 1.316 – 1 = 0.316$
Result: 31.6% growth per hour.
Why Distinguish Between Arithmetic and Geometric Rates?
The calculator provides both the Arithmetic (Simple) Rate and the Geometric (Compound) Rate. In most natural and economic systems, growth compounds. This means the growth of the next period is based on the new, larger total.
For accurate forecasting in biology or investments, always rely on the Compound Growth Rate. If you simply divide the total percentage by the number of hours (e.g., 200% / 4 hours = 50% per hour), you will overestimate the rate because you are ignoring the compounding effect.