Paste your (x, y) data to find the exponential curve that fits it best. You get the equation in both y = a·bˣ and y = a·e^(kx) form, the growth or decay rate, doubling time or half-life, r and r², predictions, residuals and a plot of the data with the fitted curve.
Last updated:
Separate x and y with a comma, space or tab. Paste two columns straight from a spreadsheet. All y values must be positive.
Optional
Optional
Enter your values to see the result.
Advertisement
Advertisement
How to use the Exponential Regression Calculator
Enter your data as one x, y pair per line, or paste two columns from a spreadsheet.
Choose the equation form: y = a·bˣ or y = a·e^(kx).
Optionally enter an x to predict or a y value to solve for.
Press Calculate to fit the curve.
Check r², the plot and the residuals to judge whether an exponential model suits your data.
Exponential regression formulas
With n points (xᵢ, yᵢ) and Lᵢ = ln yᵢ, the least-squares line through (x, L) gives:
k = Σ(x − x̄)(L − L̄) / Σ(x − x̄)² (the continuous rate)
This is the same fit used by the ExpReg command on TI-83/84 calculators and by the LOGEST and GROWTH functions in spreadsheets.
Reading the growth factor
b
k = ln b
Change per unit x
Doubling time / half-life
2
0.6931
+100%
doubles every 1 unit
1.10
0.0953
+10%
doubles every 7.27 units
1.05
0.0488
+5%
doubles every 14.21 units
1.01
0.00995
+1%
doubles every 69.66 units
0.95
−0.0513
−5%
halves every 13.51 units
0.5
−0.6931
−50%
halves every 1 unit
Tips for better fits
Shift large x values. For years like 2000 to 2020, the fit works, but a is the value at year 0 and can be tiny. Enter years since the start (0, 5, 10…) to get a meaningful a.
The log fit weights small y values more. Because errors are measured on the log scale, the curve may sit slightly below large y values. That is normal for this method.
Watch for leveling off. Real growth (populations, sales, infections) often slows down; if recent residuals are all negative, a logistic model may fit better.
Frequently asked questions
How does exponential regression work?
Taking the natural log of y = a·bˣ gives ln y = ln a + x·ln b, which is a straight line in x. The calculator fits that line to the points (x, ln y) by least squares, then converts back: a = e^(intercept) and b = e^(slope). The slope is also the continuous rate k in y = a·e^(kx).
What is the difference between y = a·bˣ and y = a·e^(kx)?
They describe the same curve. b is the growth factor per unit of x and k is the continuous growth rate, linked by b = e^k and k = ln b. For example, b = 1.05 (5% growth per period) corresponds to k ≈ 0.04879.
Why must all y values be positive?
The fit works on ln y, and the logarithm of zero or a negative number is undefined. If your data contain zeros or negatives, an exponential model without an offset is not appropriate; consider shifting the data or a different regression type.
Why is the R² different from my TI calculator or Excel?
TI's ExpReg and Excel's exponential trendline report r² for the linearized fit (x against ln y), which this tool shows as r². The R² on the original y scale measures how well the curve predicts the raw y values and is usually a little different.
How do I find the doubling time or half-life?
For growth (k > 0) the doubling time is ln 2 / k. For decay (k < 0) the half-life is ln 2 / |k|. Both are in the same units as x, for example years or minutes.
How can I tell if exponential regression is the right model?
Plot ln y against x: if the points lie close to a straight line, an exponential model is reasonable. Also look at the residuals; a curved pattern suggests another model such as a power, logistic or polynomial fit.
How many data points do I need?
At least 3, but more points give a more reliable fit. Predictions far outside the range of your x values (extrapolation) can be very inaccurate because small errors in the rate grow exponentially.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.