SPSS command: SPSS CURVEFIT
Curve estimation in your browser
Curve estimation fits several simple curves of one predictor — or of time — at once, so you can see which shape describes the relationship best.
Free · No account · Files stay on your device · Updated 18 October 2026
What it tells you
Crosstabs runs the SPSS CURVEFIT procedure on your device for eleven models, reports R², F and the coefficients of each in one table, and plots every curve over the data.
- Which of linear, logarithmic, inverse, quadratic, cubic, compound, power, S, growth, exponential and logistic curves fits best, by R² and F.
- The fitted equation of each curve: constant and b1–b3 on the original scale.
- Whether a trend over time is steady, accelerating or levelling off, when the case sequence is used as the predictor.
When to use it
Use it when
- Exploring the shape of a two-variable relationship before building a fuller model.
- A quick trend line for a short series, such as weekly adoption or monthly sales, using Time (case sequence).
- Comparing growth-type models (compound, growth, exponential, power) whose log-linear forms are easy to explain.
Use something else when
- More than one predictor: use linear regression, or nonlinear regression for a custom multi-variable formula.
- A curve that none of the eleven forms captures, such as an asymptotic learning curve with an unknown ceiling: write it in nonlinear regression.
- Forecasting a time series with seasonality or autocorrelation: use exponential smoothing or ARIMA.
How to run it in Crosstabs
- 01
Choose Curve estimation
Open your data in Statistics mode and, in the Regression group, pick Curve estimation (CURVEFIT).
- 02
Set the variables
Choose the Dependent variable and an Independent variable, or leave the independent as Time (case sequence) to use 1, 2, 3, … in row order.
- 03
Tick the models
Under Models tick any of the eleven curves. Logistic needs an Upper bound (logistic) larger than every value of the dependent.
- 04
Constant and run
Keep Include constant in equation ticked unless theory forces the curve through the origin, then click Run.
Worked example
Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.
Data
Weekly active users of a synthetic new feature over 24 weeks: growth is fast at first and then levels off (a logarithmic trend plus normal noise, fixed seed). Dependent variable = users, Independent variable = week, with the Linear, Logarithmic, Quadratic and Power models ticked.
| Equation | R Square | F | df1 | df2 | Sig. | Constant | b1 | b2 |
|---|---|---|---|---|---|---|---|---|
| Linear | 0.899 | 196.508 | 1 | 22 | <.001 | 145.551 | 11.683 | |
| Logarithmic | 0.969 | 681.993 | 1 | 22 | <.001 | 55.918 | 103.240 | |
| Quadratic | 0.969 | 322.862 | 2 | 21 | <.001 | 88.705 | 24.801 | −0.525 |
| Power | 0.977 | 950.730 | 1 | 22 | <.001 | 96.825 | 0.457 |
Dependent variable: users. The independent variable is week. For compound, power, S, growth, exponential and logistic models, R Square and F refer to the linearized (log-transformed) model.
How to read it
The straight line already explains R² = 0.899, but the curved models do better: logarithmic R² = 0.969 (users = 55.9 + 103.24·ln(week)), quadratic R² = 0.969 with a negative squared term (−0.525) that bends the curve down, and power R² = 0.977. The power model's R² is computed on the log-log scale, so it is not directly comparable with the others; with similar fit, the logarithmic curve is the simplest that matches the levelling-off.
Output tables explained
- Model Summary and Parameter Estimates
- One row per curve: R Square, F, df1, df2 and Sig., then the constant and b1, b2, b3. For compound, power, S, growth, exponential and logistic models, R² and F refer to the log-transformed (linearized) fit.
- Curve chart (titled with the dependent variable)
- Observed points with every fitted curve drawn over the range of the predictor, so you can judge shape and extrapolation risk by eye.
Assumptions and notes
- Each model is fitted by least squares on its linearizing transformation, so errors are assumed additive on that scale (multiplicative on the original scale for log-based models).
- Log-based models need positive values, and the inverse model needs a non-zero predictor; a model is skipped with a note when cases cannot be transformed.
- Observations are independent; for time series, residual autocorrelation makes the F test too optimistic.
How the results are validated
CURVEFIT is checked against NumPy least squares on the linearized form of each model using a fixture with a logistic upper bound of 120: R² agrees within 1e-9, F within 1e-7, coefficients within 1e-8 and both degrees of freedom exactly. A no-constant linear model on the case sequence is tested separately. Validation evidence
Questions
Can I compare R² across all eleven models?
Only within the same scale. Linear, logarithmic, inverse, quadratic and cubic R² are on the original Y; compound, power, S, growth, exponential and logistic R² are on ln Y (or the logistic transform). Use the chart and subject knowledge, not R² alone, to pick between the two groups.
Why are growth, compound and exponential so similar?
They are the same curve written differently: all fit ln Y as a straight line in X, so R² and F match and only the parameterization of the coefficients differs.
What upper bound should I use for the logistic model?
A known ceiling such as 100 for percentages or the market size. It must exceed every observed value; otherwise the model is skipped. If the ceiling is unknown, estimate it with nonlinear regression instead.
Is a higher-order polynomial always better?
A cubic always has at least the R² of a quadratic on the same data, but it can swing wildly outside the observed range. Prefer the simplest curve that matches the pattern and makes sense beyond the data.
Related procedures
- Linear RegressionREGRESSION
- Nonlinear RegressionNLR / CNLR
- Exponential SmoothingEXSMOOTH
- Weight Estimation (WLS)WLS
- Bivariate CorrelationsCORRELATIONS
- Free SPSS alternative: full coverage list
Run Curve Estimation on your own data
Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.
SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.