Updated Regression

Exponential Regression Calculator

Fit an exponential trend to your data: y = A·e^(Bx) (natural) or y = A·10^(Bx) (base-10). Get A, B, growth factor, percent change, doubling/halving time, R, , standard error, p-value for the slope, confidence & prediction intervals, residuals, and predictions at x0.

y = A·e^(Bx) Growth rate Doubling time CI & PI
Note: Exponential regression typically uses ln(y) or log10(y), so your data must have y > 0.

Calculate Exponential Regression

Choose the model form, enter paired (x, y) data (or log-summary totals), then calculate the best-fit exponential curve with inference and predictions.

Both represent exponential curves; coefficients differ by base.
Row X Y (must be > 0) Remove
Summary mode requires totals for the transformed response w = log(y) (ln or log10): n, Σx, Σw, Σx², Σxw, and Σw². If you only have Σy and Σy², you still need raw y values to compute logs.

What Exponential Regression Is

An Exponential Regression Calculator models relationships where the response changes by a constant multiplicative factor per unit increase in x. Two common equivalent forms are:

y = A·e^(Bx)   (natural exponential)
y = A·10^(Bx)   (base-10 exponential)

If B is positive, the curve grows; if B is negative, the curve decays. Exponential models are a strong fit for compounding, population growth, interest-like processes, and many “rate-based” systems.

Why Y Must Be Positive

Standard exponential regression fits a straight line after taking a logarithm of y:

w = log(y)

Because log(y) is only defined for y > 0 in real numbers, this tool requires positive y values. If you have zeros or negatives, consider a different model—or a documented shift (y + c) only when it’s justified.

How the Calculator Fits the Curve

The calculator transforms y into log space and runs ordinary least squares:

w = c + Bx

Then it converts back to the original scale:

A = base^c,   ŷ = base^(c + Bx)

With the natural model, base = e. With the base-10 model, base = 10.

Interpreting B: Growth Factor and Percent Change

B is easiest to interpret through the per-unit growth factor:

  • Natural model: factor = e^B
  • Base-10 model: factor = 10^B

The per-unit percent change is:

% change per unit = (factor − 1) × 100%

Doubling Time and Halving Time

Doubling time answers: “How much does x need to increase for y to double?” For the natural model y = A·e^(Bx):

Doubling time = ln(2) / B (B > 0)

If B is negative, the model decays—so it’s more meaningful to report halving time:

Halving time = ln(2) / |B| (B < 0)

R², p-values, and Intervals

This calculator reports R, , and the slope p-value using the log-transformed linear regression (log(y) vs x). Confidence and prediction intervals are computed in log space and then converted back to the y scale, creating multiplicative-style ranges.

FAQ

Exponential Regression FAQs

Answers about positive-y requirements, coefficient meaning, growth rates, doubling time, p-values, and intervals.

Exponential regression fits curves where Y changes multiplicatively with X, such as y = A·e^(Bx) or y = A·10^(Bx). It is commonly used for growth/decay, compounding effects, and processes with constant percentage change per unit of X.

Yes. Standard exponential regression uses log-transformed Y (ln(y) or log10(y)), which requires y > 0. If you have zeros or negative values, you may need a different model or a justified shift (e.g., y+c) with careful interpretation.

A is the value of y when x = 0 (the starting level). B controls the growth/decay rate. Each +1 unit in x multiplies y by e^B. If B > 0 you have growth; if B < 0 you have decay.

In the natural model, the per-unit growth factor is g = e^B. The per-unit percent change is (g − 1)×100%. In the base-10 model, g = 10^B.

Doubling time is the x-change needed to multiply y by 2. For y = A·e^(Bx), doubling time = ln(2)/B (when B > 0). If B < 0, the analogous halving time is ln(2)/|B|.

The slope p-value typically tests H0: B = 0 (no exponential trend). It is computed on the log-transformed linear regression (ln(y) vs x or log10(y) vs x).

Intervals are computed in log space and then converted back to the original scale. This is the standard approach, but it produces multiplicative (log-normal) style intervals and is an approximation on the original y scale.

Yes—if you have summary totals for the transformed response w = ln(y) or w = log10(y): n, Σx, Σw, Σx², Σxw, and Σw². Without log-transformed totals, you need the raw y values.