SPSS command: SPSS CSORDINAL
Ordinal regression for complex survey data
Complex Samples Ordinal Regression models an ordered survey outcome, such as a satisfaction rating, with a cumulative link model whose thresholds and coefficients describe the population.
Free · No account · Files stay on your device · Updated 18 October 2026
What it tells you
Crosstabs runs the SPSS CSORDINAL procedure on your device, with logit, probit, complementary log-log, negative log-log or Cauchit links, pseudo-likelihood estimates, design-based standard errors and Wald tests on the design degrees of freedom.
- Whether a predictor shifts people towards higher or lower categories: a positive location coefficient means higher categories are more likely.
- The thresholds — cut points on the latent scale — between adjacent categories.
- Whether each predictor matters overall, from Wald F and Rao–Scott adjusted tests on the design df.
- How much the design changes each parameter's variance (design effects) and how well the model fits (pseudo R²).
When to use it
Use it when
- Likert-type ratings, satisfaction scales or ordered bands (income bracket, severity) as the outcome in a weighted, clustered survey.
- You want one coefficient per predictor rather than a separate set for every category, as multinomial logistic would give.
- Comparing link functions: probit for a normally distributed latent variable, complementary log-log when higher categories are more likely, negative log-log when lower categories are.
Use something else when
- The categories have no natural order: use Complex Samples Logistic Regression (multinomial).
- You need a test of parallel lines (proportional odds): it is not offered here; compare the category-specific coefficients of a multinomial fit instead.
- A rating with many points that behaves like a scale: Complex Samples GLM may be simpler to interpret.
How to run it in Crosstabs
- 01
Open your survey file
Open the .sav, CSV or Excel file in the workspace and switch to Statistics mode. The file is read in your browser and is not uploaded.
- 02
Choose the procedure
In the Complex samples group, pick Complex Samples Ordinal Regression (CSORDINAL).
- 03
Check the saved sampling plan
The panel opens with a Sampling plan line showing the weight, strata, clusters and estimation. If no plan is saved for this dataset, open Sampling plan (CSPLAN) first. Plan variables are left out of the variable pickers, and the workspace weight is ignored: Complex Samples always use the plan's weight.
- 04
Choose the outcome and link
Pick the Dependent variable (ordinal); categories are ordered by value. Under Link function choose Logit (SPSS default), Probit, Complementary log-log, Negative log-log or Cauchit.
- 05
Add predictors and run
Tick Factors (categorical) and Covariates (numeric), set the Confidence level and run. A warning appears if the estimation did not converge.
Worked example
Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.
Data
A synthetic household survey of 120 respondents: three strata (Metro, Town, Rural), four primary sampling units (PSUs) per stratum and ten respondents per PSU, with a sampling weight that rises from about 35 in Metro to about 110 in Rural. Each PSU shares a random effect, so respondents in the same cluster resemble each other. The plan is weight + strata + clusters, with-replacement (WR) estimation; all values come from a fixed seed.
| Source | Wald F | df1 | df2 | Sig. | Adjusted F | Sig. (Adjusted F) |
|---|---|---|---|---|---|---|
| sex | 9.986 | 1 | 9 | .012 | 9.986 | .012 |
| age | 8.545 | 1 | 9 | .017 | 8.545 | .017 |
Wald F is Fellegi's adjusted Wald F with (r, ν − r + 1) df; Adjusted F is the Rao–Scott second-order correction against the SRS covariance.
| Item | Parameter | B | Std. Error | t | Sig. | Design Effect |
|---|---|---|---|---|---|---|
| Threshold | [satisfaction=1] | −0.097 | 0.803 | −0.121 | .907 | 2.406 |
| Threshold | [satisfaction=2] | 1.107 | 0.664 | 1.668 | .130 | 1.781 |
| Threshold | [satisfaction=3] | 2.248 | 0.543 | 4.136 | .003 | 1.141 |
| Threshold | [satisfaction=4] | 3.494 | 0.737 | 4.742 | .001 | 1.627 |
| Location | [sex=Female] | 0.741 | 0.235 | 3.160 | .012 | 0.408 |
| Location | [sex=Male]ᵃ | 0 | ||||
| Location | age | 0.034 | 0.012 | 2.923 | .017 | 1.124 |
a. Set to zero because this parameter is redundant (the last category is the reference). Link function: Logit.
How to read it
Under the cumulative logit model P(Y ≤ k) = F(threshold_k − xβ), a positive coefficient moves people towards higher satisfaction. Women's location coefficient is 0.741 (p = .012), so their odds of being in a higher category are about 2.10 times men's; each year of age adds 0.034 (p = .017). The four thresholds are the cut points between the five categories. Standard errors come from the design-based sandwich, and the Nagelkerke R² is 0.125.
Output tables explained
- Model Summary
- Pseudo −2 log likelihood for the thresholds-only and final models, Cox and Snell, Nagelkerke and McFadden R², unweighted cases used and the estimated population size.
- Tests of Model Effects
- Wald F, Wald chi-square and Rao–Scott Adjusted F for each predictor, on the design degrees of freedom.
- Parameter Estimates
- Threshold rows (one fewer than the categories) and Location rows for the predictors, each with B, standard error, interval, t, df, significance and design effects; the footnote names the link function.
Assumptions and notes
- The saved plan describes how the sample was actually drawn: the right sampling weight, the stage-1 strata and the primary sampling units (PSUs). A wrong plan gives wrong standard errors, however good the model.
- Models contain main effects only (no interaction terms). Factors use SPSS-style coding with the last category as the redundant reference; cases missing any model variable are dropped listwise but stay in the design with zero contribution.
- Each predictor has the same effect at every threshold (parallel lines / proportional odds under the logit link). The model is P(Y ≤ k) = F(threshold_k − xβ).
- Inference uses t and F distributions on the design degrees of freedom (PSUs minus strata). With few PSUs per stratum the df are small and intervals are wide; a stratum with a single PSU contributes no variance.
How the results are validated
On a synthetic two-stage stratified survey (235 cases) under three designs, all five links are checked against an independent full-precision NumPy/SciPy cumulative link fit with sandwich variance: coefficients to a relative 1e-7, standard errors and design effects to 1e-6, −2 log likelihoods to 1e-10. Three links are also compared with the R survey package's svyolr: estimates agree to 1e-7 and standard errors to 2e-3, because svyolr uses a numerical Hessian. Validation evidence
Questions
How do I read the sign of a coefficient?
The model is P(Y ≤ k) = F(threshold_k − xβ), so a positive coefficient lowers the chance of being at or below each category — it moves cases towards higher categories. Under the logit link, Exp(B) is the cumulative odds ratio for being in a higher category.
Which link function should I choose?
Logit is the default and gives odds-ratio interpretations. Probit assumes a normal latent variable; complementary log-log suits outcomes concentrated in higher categories, negative log-log those concentrated in lower ones, and Cauchit tolerates extreme values. Compare the pseudo R² across links if unsure.
Why is there no intercept row?
In a cumulative link model the thresholds play the role of the intercept, one per cut point. That is why every factor keeps its last level as the redundant reference.
Is there a test of parallel lines?
No. The panel fits the proportional (parallel-lines) model only. If you suspect the effect differs across thresholds, fit a multinomial Complex Samples Logistic Regression and compare the category-specific coefficients.
Is my survey file uploaded?
No. The workspace reads the file and runs CSORDINAL in your browser, and the sampling plan is stored in this browser only. Nothing is sent to Crosstabs servers, and there is no account to create.
Related procedures
- Complex Samples PlanCSPLAN
- Complex Samples Logistic RegressionCSLOGISTIC
- Complex Samples General Linear ModelCSGLM
- Ordinal RegressionPLUM
- Free SPSS alternative: full coverage list
Run Complex Samples Ordinal Regression 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.