HomeCalculatorsMathPowers, Roots & LogarithmsExponential Growth Calculator
Math calculator

Exponential Growth Calculator

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · production STALE · 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
Numerical scope
Listed independent reference vectors only; no whole-domain/runtime guarantee.
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.10 · CVP VERIFIED · production STALE · CVP protocol 1.0.0-proposed · Engineering assurance· View Manifest · CVP overview · Specification
Versions
Calculation 1.0.10 · CVP protocol 1.0.0-proposed · Evidence 2026-10-28.meta-metrics-v2
Verification revision
2026-10-28.meta-metrics-v2 · 3/3 property · digest 3c510e301f33
Legacy regression
20/20 tests · Production surface contract 29/29
Trust layers
Verification VERIFIED · Production STALE · Overall CVP state: VERIFIED_STALE under CVP 1.0.0-proposed
CVP status
STALE · attestation snapshot core c1f21340b363 ≠ live cvp_core_sha256 3c510e301f33 (2026-10-28.meta-metrics-v2)
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 65/65. 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
69/69 golden · 6/6 CVP boundary · 10/10 invalid · 3/3 property · 1/1 metamorphic · 3/3 round-trip · 13/13 O3 · 65/65 cross-interface · 4/4 URL→result→graph · 29/29 CVP contract · Manifest
Sources
Sources
Evidence
14 legacy golden · 6 legacy boundary · legacy regression suite · 69/69 oracle-backed golden · 10/10 invalid · Artifact integrity PASS
STALE · Build schema 1.0.10 matches page · production binding STALE · Semantic contract ✓ · Last attestation PASS · current evidence changed · re-attestation required · CVP STALE · attestation STALE — Production CURRENT withheld · 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

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

2

Enter three values — or all four

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

3

Read growth metrics

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

Example calculations

Common configurations with formula and result.

ϟ

Population projection

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

10000 × 1.05^11
≈ 17,103
ϟ

Classic growth sample

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

50 × 1.04^90
≈ 1,706
ϟ

Time to triple

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

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

Decay (caffeine sketch)

Calculate exponential growth or decay with periodic or continuous models. Solve value, time, initial amount, or rate, and compare all four inputs online.

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

Exponential Growth calculator specification

Version 1.0.10 · 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
  • Non-finite results are rejected with RESULT_OVERFLOW; nonzero paths rounded to zero are rejected with RESULT_UNDERFLOW. A zero initial value retains the exact zero path.
  • Scaled evaluation avoids intermediate-factor rejection when the final result is representable. Extreme ratios and tiny rates are not guaranteed accurate across the full domain.
  • Need three known values to solve the fourth.
  • All four values enter verify / consistency mode rather than being rejected.
  • Inputs are strict decimal/scientific text, for example 1705.97; grouped strings such as 1,705.97 are rejected.
  • 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 formatGrowthNumber, based on formatGrowthAmount, with raw binary64 fallback if rounding would collapse a nonzero value to zero or a nonunit value to one: 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: formatGrowthNumber(calculated) equals formatGrowthNumber(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. Review and CVP trust fields are separate from this comparison.
Example
50 × (1.04)^90 ≈ 1705.97
Validation cases

14 published on this page · 20/20 tests · Production surface contract 29/29 · 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.10

Background

Interpretation and common distinctions.

What does this exponential growth calculator compute?

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.

The published formula or method is x(t)=x₀(1+r/100)^t or x₀e^(kt). The following references support the stated mathematics or method:

Which inputs and limits should you check?

The discrete and continuous models have different rate conventions. Follow the displayed rate unit and solve target, and retain overflow/underflow diagnostics.

The worked example uses 10,000 at 5%/year for 11 years with 10000 × 1.05^11. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.exponential_growth v1.0.10 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

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.10.cvp.json
  • Independent reference: O1 (model) + tabulated mpmath values and exact-input Python Decimal references + O2 live identities. No MPFR backend claim for the legacy table.
  • Numerical policy: IEEE-754 binary64;4e-12 relative plus2 subnormal quanta for listed fixed vectors, strict zero/sign/type; legacy O3 separately32ULP, 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.

Numerical contract

Inputs use finite binary64 numbers or strict decimal/scientific text up to512 characters. Nonzero text that rounds to zero rejects with NUMERIC_UNDERFLOW. Provide any three fields; blank fields are missing. Unknown keys, conflicting aliases and unknown models reject. Periodic rates must exceed −100%; continuous ratePct is k, not percent. Signed initial values are permitted; inverse time/rate require matching nonzero amplitude signs. Zero rate or zero time can make inverses nonunique.

The scalar result remains unrounded; display precision is separate. Overflow and nonzero results rounding to zero reject. Four-field comparison uses display quantization, not a scientific tolerance or independent proof.44 independent finite references and4 range rejection fixtures cover the listed cases. Independent CPython Decimal1200/1600 references use a predeclared4e-12 relative fixed-vector budget plus2 subnormal quanta; legacy O3 is separately checked at32 ULP. These checks do not guarantee every binary64 input or every runtime.

Typing calculates locally. Sharing, API and MCP transmit inputs and may enter logs. CSV/JSON preserve raw provided inputs and the unrounded scalar.

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.