What is my exponential regression?
Type your x and y values. The exponential regression calculator fits the curve y = a × bˣ through them, the same fit a graphing calculator’s ExpReg gives, with the growth factor, r², a prediction and a chart of the curve.
- Exponential regression equation
- y = 3.07284 × 1.47028ˣ
The exponential regression through 6 points is y = 3.07284 × 1.47028ˣ.
- Same curve with e
- y = 3.07284 e^(0.385454x)
- Initial value (a)
- 3.072844119
- Growth factor (b)
- 1.470281909
- Continuous rate (k)
- 0.3854541571
- Change per unit of x
- 47.0282%
- r² (of ln y on x)
- 0.999134
- Predicted y
- 31.041608
- ln a
- 1.122604
- Number of points (n)
- 6
Exponential regression equation: y = 3.07284 × 1.47028ˣ. The exponential regression through 6 points is y = 3.07284 × 1.47028ˣ.
The fitted exponential curve
How to calculate
Fits an exponential curve y = a e^(kx) = a bˣ to paired x and y values by least squares on ln y, with the growth factor, r² and a prediction, and draws the curve.
Example with the default inputs (x values [0, 1, 2, 3, 4, 5], y values [3.1, 4.6, 6.4, 9.8, 14.2, 21.5], New x value 6): The exponential regression through 6 points is y = 3.07284 × 1.47028ˣ.
Method: ln y = ln a + kx by least squares: k = Σ(x − x̄)(ln y − m) ÷ Σ(x − x̄)², ln a = m − k x̄, b = eᵏ.
- Every y is greater than 0, because the fit uses ln y.
- The fit minimises squared errors in ln y, not in y, as graphing calculators’ ExpReg does; a direct nonlinear fit in y gives slightly different a and b.
- r² is for the straight line through (x, ln y).
Worked examples
Each example is checked against the calculator on every build.
- x values 0, 0.01, 0.03, 0.05, 0.07, 0.09, 0.11, 0.13, 0.15, 0.17, 0.19, 0.21, y values 1, 1.03, 1.06, 1.38, 2.09, 3.54, 6.41, 12.6, 22.1, 39.05, 65.32, 99.78 gives Exponential regression equation y = 0.583048 × (2.2072 × 10¹⁰)ˣ, Initial value (a) 0.583048, Growth factor (b) 22,072,021,331.43789, Continuous rate (k) 23.817577, r² (of ln y on x) 0.971221.Source: OpenStax, Algebra and Trigonometry 2e, §6.8 Fitting Exponential Models to Data, Example 1 (blood alcohol and crash risk: y = 0.58304829 × (2.20720213 × 10¹⁰)ˣ, r² ≈ 0.97), https://openstax.org/books/algebra-and-trigonometry-2e/pages/6-8-fitting-exponential-models-to-data (retrieved 2026-10-02); NIST/SEMATECH e-Handbook of Statistical Methods, §4.6.2.4 Transformations to Improve Fit and Equalize Variances (the ln transformation), https://www.itl.nist.gov/div898/handbook/pmd/section6/pmd624.htm (retrieved 2026-10-02)
- x values 0, 1, 2, 3, y values 3, 6, 12, 24, New x value 4 gives Exponential regression equation y = 3 × 2ˣ, Same curve with e y = 3 e^(0.693147x), Initial value (a) 3, Growth factor (b) 2, Continuous rate (k) 0.693147, Change per unit of x 100%, r² (of ln y on x) 1, Predicted y 48.Source: NIST/SEMATECH e-Handbook of Statistical Methods, §4.6.2.4 Transformations to Improve Fit and Equalize Variances (the ln transformation), https://www.itl.nist.gov/div898/handbook/pmd/section6/pmd624.htm (retrieved 2026-10-02)
- x values 1, 2, 3, 4, 5, y values 2.7, 7.4, 20.1, 54.6, 148.4, New x value 6 gives Initial value (a) 0.995527, Continuous rate (k) 1.001187, Growth factor (b) 2.721511, Predicted y 404.495762.Source: OpenStax, Algebra and Trigonometry 2e, §6.8 Fitting Exponential Models to Data, Example 1 (blood alcohol and crash risk: y = 0.58304829 × (2.20720213 × 10¹⁰)ˣ, r² ≈ 0.97), https://openstax.org/books/algebra-and-trigonometry-2e/pages/6-8-fitting-exponential-models-to-data (retrieved 2026-10-02)
How it works
For n pairs (xᵢ, yᵢ) with every yᵢ > 0, let Lᵢ = ln yᵢ, x̄ the mean of x and m the mean of L:
- Slope k = Σ(xᵢ − x̄)(Lᵢ − m) ÷ Σ(xᵢ − x̄)²
- Intercept ln a = m − k x̄
- a = e^(ln a), b = eᵏ, so y = a × bˣ = a e^(kx)
- Change per unit of x = (b − 1) × 100 percent
- r² = [Σ(xᵢ − x̄)(Lᵢ − m)]² ÷ [Σ(xᵢ − x̄)² × Σ(Lᵢ − m)²] (left out when every y is the same)
- Predicted y at a new x = e^(ln a + k x)
The x values are first divided by a power of two near the largest |x|, which changes no digit, so the squares stay in range; k is scaled back.
Rules
- 2 to 1,000 pairs, with as many y values as x values.
- Every y must be greater than 0, and the x values must not all be the same.
- When a or b is beyond the double range (about 10³⁰⁸) or 0, there is no answer; move the x values closer to 0. A prediction or a change per unit past the double range is left out. The new x is between −10⁹ and 10⁹.
- The chart draws the fitted curve from the smallest to the largest x (and the new x), marked at the new x.
Output format. In the equations, a, b and k have 6 significant digits, trailing zeros dropped, a true minus sign, and the form m × 10ⁿ (superscript exponent) when the size is below 10⁻⁴ or 10⁶ or more; b in that form is put in brackets: y = 0.583048 × (2.2072 × 10¹⁰)ˣ. The natural form reads y = a e^(kx), for example y = 3 e^(0.693147x).
Worked examples by hand
Doubling: (0, 3), (1, 6), (2, 12), (3, 24). ln y = ln 3 + x ln 2 exactly, so k = ln 2 = 0.693147, a = 3, b = 2: y = 3 × 2ˣ, growth 100% per step, r² = 1. At x = 4: 3 × 2⁴ = 48.
Close to eˣ: x = 1 to 5, y = 2.7, 7.4, 20.1, 54.6, 148.4. ln y = 0.993252, 2.001480, 3.000720, 4.000034, 4.999911. x̄ = 3, m = 2.999079; Σ(x − x̄)(L − m) = 10.011873 and Σ(x − x̄)² = 10, so k = 1.001187 and ln a = 2.999079 − 3 × 1.001187 = −0.004483, a = 0.995527, b = 2.721511. At x = 6: e^(−0.004483 + 6.007124) = 404.496.
OpenStax’s crash risk data. The same steps on the 12 pairs give a = 0.583048, b = 2.2072 × 10¹⁰ and r² = 0.97122, as in the book.
Other questions people ask
How does exponential regression work?
Taking the natural log turns y = a × bˣ into a straight line, ln y = ln a + x ln b. The calculator fits that line by least squares, then turns back: a = e^(intercept) and b = e^(slope).
Why must every y be greater than 0?
The fit uses ln y, and the logarithm of 0 or a negative number is not a real number. An exponential curve a × bˣ with a > 0 never reaches 0 either, so data with zeros or negatives need a different model.
What is the difference between b and k?
They describe the same curve. b is the growth factor per step of 1 in x (y = a × bˣ); k = ln b is the continuous rate (y = a e^(kx)). With b = 2 the values double each step, and k = 0.693147.
Does this give the same answer as my graphing calculator?
Yes, for ExpReg on a TI-83/84, which also fits ln y. For OpenStax’s blood alcohol data it gives y = 0.583048 × (2.2072 × 10¹⁰)ˣ, as in the book. Spreadsheet trendlines also use the log fit.
What does r² mean here?
It is r² for the straight line through the points (x, ln y): the share of the variation in ln y that the line explains. Values close to 1 mean the points lie close to an exponential curve.
Is the log fit the best fit in y?
Not exactly. It minimises squared errors in ln y, which gives small y values relatively more weight. A direct nonlinear least-squares fit in y gives slightly different a and b; the log fit is the standard, closed-form method.
How do I read the percent change per step?
(b − 1) × 100. b = 1.08 means 8% growth for each step of 1 in x; b = 0.9 means a 10% decay.