HomeCalculatorsMathPowers, Roots & LogarithmsExponential Growth Calculator
Math calculator

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.

Instant result
Result

Enter values to calculate.

Inputs
Mode
Formula
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 — Success 1/1. Integration: URL → SSR result → Live graph current point (4/4). Hydration/slider/history are URL-canonical contracts, not a live browser session.
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
Sources
Evidence
14 legacy golden · 6 legacy boundary · legacy regression suite · 5/5 oracle-backed golden · 6/6 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.0.7 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Periodicx(t) = x₀ × (1 + r/100)^t
Continuousx(t) = x₀ × e^(k t)
Doubling timet₂ = ln(2) / ln(1 + r/100) (r > 0)
Half-lifet½ = ln(1/2) / ln(1 + r/100) (−100 < r < 0)
ir is percent per period. Periodic model domain is r > −100% so the growth factor stays positive. Continuous k relates by 1+r/100 = e^k. Time may be negative to look backward from the initial observation.

How to use

1

Choose a model

Periodic uses (1 + r/100)^t once per period, with r in percent. Continuous compounds at every instant with e^(kt).

2

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.

3

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

10000 × 1.05^11
≈ 17,103
ϟ

Classic growth sample

50 at 4% for 90 periods

50 × 1.04^90
≈ 1,706
ϟ

Time to triple

10,000 → 30,000 at 5%/year

t = log(3)/log(1.05)
≈ 22.52 years
ϟ

Decay (caffeine sketch)

Half-life 6 h → k ≈ −0.1155

95 e^(kt)
≈ 30 mg after 10 h

Exponential Growth calculator specification

Version 1.0.7 · Engine tested

Calculation status

Review policy · Evidence

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
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-ssr is not a live browser session.
  • Expert review is optional and is not required for CVP Verified.
}

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.