Fit Y = ae^(kx) or Y = abˣ with R², doubling time/half-life, growth rate, log-scale residuals, and growth projection table.
Exponential regression fits Y = ae^(kx) — the natural model for phenomena that grow or decay by a constant percentage. Bacteria doubling every hour, radioactive isotopes halving every year, investments compounding annually — all follow exponential curves. This calculator finds the rate constant k, initial value a, doubling time (or half-life), and R² from your data.
The fitting method transforms Y to ln(Y) and applies linear regression on the log scale, then converts back. You get R² on both the original Y scale and the log scale. The log-scale R² is the primary quality measure since that's where the fit is actually computed.
Switch between Y = ae^(kx) form (natural for continuous processes) and Y = ab^x form (natural for discrete periods like annual growth). The growth projection table extends predictions beyond your data, clearly labeling extrapolated values. That makes it easier to compare fitted growth, decay, and forecast behavior in the form that matches the real process you are modeling.
Exponential processes are everywhere: population dynamics, radioactive decay, compound interest, viral spread, drug elimination, heat cooling. Recognizing exponential behavior and fitting the parameters (initial value, rate constant) is foundational in science, finance, and engineering.
This calculator emphasizes the practical outputs — doubling time, half-life, and percentage growth rate — which are more interpretable than the raw rate constant k. The projection table explicitly flags extrapolation, preventing the common mistake of treating exponential predictions far beyond the data as reliable.
Model: Y = ae^(kx). Fitting: ln(Y) = ln(a) + kX (linear regression). Doubling time = ln(2)/k. Half-life = ln(0.5)/k. Growth per period: (e^k − 1) × 100%.
Result: Y = 10.02·e^(0.5986x), R² = 0.9996, doubling time = 1.16, growth rate = 81.9% per unit
The bacteria population doubles roughly every 1.16 time units, growing at 81.9% per period. R² = 0.9996 confirms excellent exponential fit. By X = 10, the model predicts Y ≈ 3,978.
Taking ln(Y) = ln(a) + kX converts the exponential model to a linear one. Standard OLS regression on (X, ln(Y)) gives slope k and intercept ln(a). This method is computationally simple and gives exact closed-form solutions, but it minimizes errors on the log scale, not the original scale. For precise original-scale fitting, nonlinear least squares (Gauss-Newton, Levenberg-Marquardt) is used.
Growth (k > 0): bacteria, compound interest, technology adoption (early phase), population (unlimited resources). Decay (k < 0): radioactive isotopes (C-14 half-life ≈ 5730 years), drug concentration after administration, heat cooling (Newton's law), light intensity through a medium (Beer-Lambert law).
No real-world quantity grows exponentially forever. Eventually, resources run out, space fills up, or saturation occurs. The logistic model Y = L/(1+e^(-k(x-x0))) captures this by adding an upper limit L. Other alternatives: Gompertz (asymmetric S-curve), power law (Y = axᵇ), and stretched exponential (Y = ae^(-(x/τ)^β)).
The fitting method takes ln(Y), which is undefined for Y ≤ 0. Exponential functions are inherently positive (ae^(kx) > 0 for a > 0), so negative Y values indicate the data isn't truly exponential. Data points with Y ≤ 0 are excluded automatically.
They're algebraically identical: b = e^k. The e^(kx) form is natural for continuous processes (physics, biology). The abˣ form is natural for discrete-period processes (annual returns, monthly growth). Both give the same predictions.
When growth has an upper limit (logistic, not exponential), when the rate changes over time (piece-wise models needed), or when the data has a non-zero asymptote (Y → C ≠ 0 as X → ∞). True exponential growth/decay approaches zero or infinity.
The fit minimizes errors on the log scale (where the model is linear), so log-scale R² measures fit quality directly. Original-scale R² can be misleadingly high because large Y values dominate the total variance. Report both.
Exponential extrapolation is extremely sensitive — small changes in k produce enormous differences at large X. A model with k=0.60±0.02 gives wildly different predictions at X=20. Always report prediction intervals, not just point estimates, for extrapolation.
That requires nonlinear regression (iterative fitting). Our tool fits the standard Y = ae^(kx) model. If your data approaches a non-zero baseline, subtract the estimated asymptote c from Y before fitting, then add it back.