Exponential Growth Calculator
Model exponential growth or decay from initial value, rate, and time. Runs locally in your browser. Free online tool — no sign-up. Try it free.
Enter values to calculate.
Live graph
Interactive plot
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance
- Input interpretation
- Enter values to calculate.
- Result
- —
- Assurance
- Engineering
- Declared partition coverage
- PASS · 7/7 declared partitions (forward-periodic, forward-continuous, inverse-time, inverse-x0, inverse-rate, verify, invalid-domain) · Matrix
- Known limitations
- periodic r > −100%; continuous uses k=ratePct; inverse solves any missing field among x₀, r, t given x(t)
- Core CVP does not include live graph, viewport, or pointer interaction.
- Model
- Exponential growth or decay final value, or the missing initial value, rate, or time; doubling time or half-life.
- Scope
- Constant rate over the interval (real populations often need logistic models long-term).
- Verification
- Engine tested · Source checked · v1.0.7 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· View Manifest · CVP overview · Specification
- Versions
- Calculation 1.0.7 · CVP protocol 1.0.0-proposed
- CVP identity
- 3/3 property · digest 4da3d88a831d
- Legacy regression
- 20/20 tests · Production surface contract 27/27
- Reference
- O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
- Interfaces
- PASS · UI (SSR) / REST / MCP / URL→result→graph
- Supplemental domain review
- Not performed
- Named expert review
- Not performed
- CVP suite
- 5/5 golden · 6/6 CVP boundary · 6/6 invalid · 3/3 property · 1/1 metamorphic · 3/3 round-trip · 13/13 O3 · 1/1 cross-interface · 4/4 URL→result→graph · 24/24 CVP contract · Manifest
- Sources
- NIST DLMF §4.2(i) The Logarithm
- NIST DLMF §4.2(iii) The Exponential Function
- NIST DLMF §4.2(iv) Powers
- Evidence
- 14 legacy golden · 6 legacy boundary · legacy regression suite · 5/5 oracle-backed golden · 6/6 invalid · Artifact integrity PASS
- Semantic contract
- PASS
Full verification
Formulas
Core equations used by this calculator.
How to use
Choose a model
Periodic uses (1 + r/100)^t once per period, with r in percent. Continuous compounds at every instant with e^(kt).
Enter three values — or all four
Fill any three of initial value, rate, time, and final value to solve for the missing one. Enter all four to verify they are consistent at displayed precision.
Read growth metrics
See the solved value, doubling time or half-life, and a live curve of x(t) versus t.
Example calculations
Common configurations with formula and result.
Population projection
10,000 at 5%/year for 11 years
Classic growth sample
50 at 4% for 90 periods
Time to triple
10,000 → 30,000 at 5%/year
Decay (caffeine sketch)
Half-life 6 h → k ≈ −0.1155
Exponential Growth calculator specification
Version 1.0.7 · Engine tested
- Engine tested 20/20 tests · Production surface contract 27/27
- Named expert review Not performed
- Calculation version 1.0.7
- Definition
- Exponential growth/decay multiplies an initial value x₀ by a constant factor each period: x(t)=x₀(1+r/100)^t. Positive r grows; negative r decays. CalculatorX defines the periodic model domain as r > −100% so the growth factor stays positive and inverse/logarithmic solving remains well-defined. Continuous form uses x(t)=x₀e^(kt). Enter any three of x₀, r (or k), t, and x(t) to solve for the fourth, or enter all four to verify consistency.
- What it calculates
- Exponential growth or decay final value, or the missing initial value, rate, or time; doubling time or half-life.
- Inputs
- Initial value x₀
- Rate r (%) for periodic, or continuous k
- Time t (may be negative)
- Final value x(t) when solving for another unknown
- Outputs
- Solved unknown among x₀, r/k, t, x(t)
- Doubling time or half-life when rate implies growth/decay
- When all four values are present: calculated vs provided x(t), unrounded residual, relative error, consistency status
- Live curve of x(t) versus t, with (0, x₀) and (t, x(t)) marked
- Formula
x(t)=x₀(1+r/100)^t or x₀e^(kt)- Assumptions
- Constant rate over the interval (real populations often need logistic models long-term).
- CalculatorX defines the periodic model domain as r > −100% so the growth factor stays positive and inverse/logarithmic solving remains well-defined.
- Units
- Same units as x₀ for amounts
- Time in consistent periods
- Rate in % per period (periodic) or continuous k
- Boundary conditions
- Need three known values to solve the fourth.
- All four values enter verify / consistency mode rather than being rejected.
- Grouped inputs such as 1,705.97 are canonicalized to 1705.97.
- Displayed x(t) may match while a small Difference remains — that residual is from the unrounded result.
- Periodic r ≤ −100% is rejected as outside the model domain (not because 0^t is undefined for every forward case).
- x₀ = 0 yields a trivial zero path.
- Numerical precision
- IEEE-754 binary64. Periodic x(t)=x₀(1+r/100)^t; continuous x(t)=x₀e^(kt). Interactive evaluation, shared URLs, and REST use the same engine.
- Displayed amounts use the Result Card quantization function formatGrowthAmount: 2 fixed decimal places when |n|≥100, up to 6 otherwise, and 6-digit scientific notation when |n|≥1e9 or 0<|n|<1e-4.
- Verify status Consistent within displayed precision means display quantization equality: formatGrowthAmount(calculated) equals formatGrowthAmount(provided). comparison_basis is display_quantization. This is not round-equality OR half-ulp, and not a free |diff|<0.005 rule.
- half_ulp, absolute_difference, and relative_error remain diagnostics. numeric_close is true when |calculated−provided| ≤ 0.5×10^(−display_decimals) (scientific-range values also treat relative error ≤ 1e-6 as numerically close). numeric_close does not by itself make status consistent.
- Example: 50×1.04^90 = 1705.966667… and provided 1705.97 both display as 1,705.97 (display_match true). Example that is numerically close but not display-consistent: 100.004 displays as 100.00 while 100.008 displays as 100.01 (|diff|=0.004 ≤ half-ulp 0.005 → numeric_close true, display_match false).
- When x₀, r, t, and x(t) are all present, REST and shared-URL JSON expose a consistency object: status, comparison_basis, display_decimals, display_calculated, display_provided, same_display_value, display_match, numeric_close, half_ulp, rounding_rule, calculated, provided, absolute_difference, relative_error, relative_error_percent. The trust field verification remains Engine tested / Source checked and is a separate object.
- Example
- 50 × (1.04)^90 ≈ 1705.97
- Validation cases
14 published on this page · 20/20 tests · Production surface contract 27/27 · View evidence
- 50, 4%, 90 → x(t) ≈ 1705.966667 → 1,705.97
- 50, 4%, 90, x(t)=1,705.97 → consistent; difference 0.003333 from unrounded 1705.966667
- r=4%, t=90, x(t)=1705.966667 → x₀ = 50
- x₀=50, t=90, x(t)=1705.966667 → r = 4%
- 10000 → 30000 at 5% → t ≈ 22.517
- 100, −10%, 10 → x(t) ≈ 34.8678
- r = −10% → half-life ≈ 6.5788 periods
- continuous x₀=50, k=0.04, t=10 → x(t) ≈ 74.591
- 100, 5%, t=−10 → x(t) ≈ 61.391
- r = −100% → rejected (periodic model domain r > −100%)
- r < −100% → rejected (periodic model domain r > −100%)
- x(t)=1,705.97 → canonicalized to 1705.97
- x₀=0, r=4%, t=90 → x(t)=0
- 10000, 5%, 11 → ≈17103
- Sources
- NIST DLMF §4.2(i) The Logarithm — Principal logarithm ln z · accessed 2026-08-25Supports: Inverse solving for t; doubling time t₂=ln 2 / ln(1+r/100); half-life via ln(1/2)
- NIST DLMF §4.2(iii) The Exponential Function — exp z and the real exponential · accessed 2026-08-25Supports: Continuous model x(t)=x₀ e^(kt)
- NIST DLMF §4.2(iv) Powers — Principal value z^a = exp(a ln z) · accessed 2026-08-25Supports: Periodic model x(t)=x₀(1+r/100)^t as a real power of the positive growth factor 1+r/100
- NIST DLMF §4.2(i) The Logarithm — Principal logarithm ln z · accessed 2026-08-25
- Calculation version
- 1.0.7
Background
Interpretation and common distinctions.
What this calculator models
When a quantity starts at x₀ and changes by a constant percent each period, use exponential growth (r > 0) or decay (r < 0):
x(t) = x₀ × (1 + r/100)^t
- x(t) — value at time t
- x₀ — initial value at t = 0
- r — growth/decay rate in percent per period
- t — number of periods (years, hours, …)
Continuous form (common in science):
x(t) = x₀ e^(kt)
with 1 + r/100 = e^k, so k = ln(1 + r/100).
Doubling time and half-life
| Formula (periodic) | |
|---|---|
| Doubling (r > 0) | t₂ = ln 2 / ln(1 + r/100) |
| Half-life (−100 < r < 0) | t(1/2) = ln(1/2) / ln(1 + r/100) |
Rate sensitivity
Same x₀ = 100, after t = 10:
| r | x(10) |
|---|---|
| 1% | ≈ 110.5 |
| 3% | ≈ 134.4 |
| 5% | ≈ 162.9 |
| 10% | ≈ 259.4 |
Small rate gaps compound into large differences over many periods.
Where it appears
Population of cells or cities (short-term), radioactive decay, drug concentration, compound interest, radiocarbon dating, atmospheric pressure vs altitude (distance as “time”), and similar constant-rate processes.
Limitation: a fixed rate forever is often unrealistic for populations — logistic models add a carrying capacity. Use this tool for constant-rate projections and checks.
CVP (Calculator Verification Protocol)
Engineering calculator under CVP 1.0 Proposed. Profile: engineering (constant-rate model and consistent time units, not a unitless core identity).
- Evidence Manifest: /evidence/math.exponential_growth/1.0.7.cvp.json
- Independent reference: O1 (model) + O3 mpmath/MPFR expected values and numerical behavior + O2 live identities
- Numerical policy: IEEE-754 binary64; ≤32 ULP vs O3 for iterated pow / log-ratio (not a correctly-rounded libm);
declared_before_evaluation=true - Coverage: forward periodic / continuous (including negative k), inverse t / x₀ / r, four-field verify (display match and numeric-close display mismatch), invalid domain (including degenerate inverse)
- Interfaces: UI (SSR), REST, and MCP must agree. A separate integration check covers URL → result → Live graph.
ui-ssris not a live browser session. - Expert review is optional and is not required for CVP Verified.
Related tools
Other calculators in this family: Antilog Calculator, Exponent Calculator, Log Calculator, Natural Log (ln) Calculator, Root Calculator, Square Root Calculator . Explore all Powers, Roots & Logarithms.
Frequently asked questions
Key distinctions behind the calculation.
How do I calculate exponential growth?
Use x(t) = x₀ × (1 + r/100)^t with initial value x₀, percent rate r, and time t in matching periods.
How is decay different?
Use a negative percent rate (for example −5). The amount shrinks each period; the tool reports half-life instead of doubling time.
What is doubling time?
The time for the quantity to double at a constant positive rate: ln(2)/ln(1+r/100).
Can time be negative?
Yes. Negative t looks backward from the initial observation (same constant rate assumed).
Periodic vs continuous?
Periodic applies the factor once per period. Continuous uses e^(kt) and grows/decays at every instant. They match when 1+r/100 = e^k.
What if I fill all four values?
The calculator enters verify mode. It computes unrounded x(t) from x₀, r, and t, then compares that with the value you entered. Both may display as 1,705.97 while Difference from unrounded result is 0.003333 — that residual is 1705.97 − 1705.966667…, and the status is still consistent at displayed precision.