Calculate the rate of growth over a specific period based on a starting value and an ending value. This tool helps determine the percentage increase per time unit, ideal for analyzing populations, bacterial cultures, investment compounding, or viral spread.
The starting population, amount, or count.
The value at the end of the time period.
Duration in years, hours, days, etc.
Please enter valid positive numbers for all fields. Time and Initial Value cannot be zero.
Calculation Results
Periodic Growth Rate ($r$):
Growth Factor ($1 + r$):
Doubling Time:
Continuous Growth Rate ($k$):
function calculateGrowth() {
// Get input values
var initialVal = parseFloat(document.getElementById('initialValue').value);
var finalVal = parseFloat(document.getElementById('finalValue').value);
var timeVal = parseFloat(document.getElementById('timePeriod').value);
var errorDiv = document.getElementById('errorMsg');
var resultsDiv = document.getElementById('resultsArea');
// Reset display
errorDiv.style.display = 'none';
resultsDiv.style.display = 'none';
// Validation
if (isNaN(initialVal) || isNaN(finalVal) || isNaN(timeVal) || initialVal <= 0 || timeVal <= 0 || finalVal 0) {
doublingTime = Math.log(2) / Math.log(1 + rateDecimal);
} else if (rateDecimal === 0) {
doublingTime = Infinity;
}
// Update UI
document.getElementById('resRate').innerHTML = ratePercent.toFixed(4) + "%";
document.getElementById('resFactor').innerHTML = (1 + rateDecimal).toFixed(4) + "x";
if (rateDecimal > 0) {
document.getElementById('resDoubling').innerHTML = doublingTime.toFixed(2) + " time units";
} else if (rateDecimal < 0) {
document.getElementById('resDoubling').innerHTML = "N/A (Decaying)";
} else {
document.getElementById('resDoubling').innerHTML = "Infinite (No Growth)";
}
document.getElementById('resContinuous').innerHTML = continuousRatePercent.toFixed(4) + "%";
resultsDiv.style.display = 'block';
}
What is Exponential Growth?
Exponential growth is a process that increases quantity over time. It occurs when the instantaneous rate of change (that is, the derivative) of a quantity with respect to time is proportional to the quantity itself. Described simply: a quantity grows exponentially when it increases by a constant percentage over a constant time period.
Standard Formula: $$P(t) = P_0 (1 + r)^t$$
Where:
P(t): The value at time t.
P₀: The initial value (start amount).
r: The growth rate (expressed as a decimal).
t: The time elapsed.
How to Calculate Growth Rate
Often, you know the starting amount and the ending amount, and you need to find out how fast it grew. To calculate the growth rate (r), we rearrange the formula:
This formula gives you the periodic growth rate. For example, if you measure population over 10 years, this calculates the Compound Annual Growth Rate (CAGR).
Real-World Examples
1. Bacteria Population
Suppose a scientist starts with a culture of 100 bacteria. After 5 hours, the count is 500 bacteria. What is the hourly growth rate?
The bacteria are growing at a rate of approximately 37.97% per hour.
2. Investment Growth
If you invest $1,000 and it grows to $2,500 over 8 years, the exponential growth rate represents your annual return on investment (CAGR).
Start: 1,000
End: 2,500
Time: 8
Calculation: $(2.5)^{(1/8)} – 1 \approx 0.121$
The growth rate is 12.1% per year.
Periodic vs. Continuous Growth
While the calculator above focuses on the periodic rate ($r$), typically used for annual or discrete compounding, natural phenomena (like biological decay or population growth) are often modeled using the continuous growth formula:
$$P(t) = P_0 e^{kt}$$
Here, $k$ is the continuous growth rate. Our calculator provides this value as well, which is calculated using natural logarithms: $k = \ln(P_t / P_0) / t$.
Doubling Time
Doubling time is the amount of time it takes for a quantity to double in size or value. It is constant for any quantity undergoing exponential growth. A useful approximation is the "Rule of 70", where you divide 70 by the percentage growth rate to estimate the doubling time.