FreeStatisticalTools.com
Correlation and regression

Ordinal Logistic Regression (Proportional Odds Model)

Model an outcome with ordered categories, such as satisfaction from “very dissatisfied” to “very satisfied” or a 1–5 purchase intent. The proportional odds model gives one odds ratio per predictor, the category thresholds and a test of its key assumption.

Free · No sign-upReplaces SPSS PLUM · Stata ologit · R polrWorks with your data
Updated · By Bibin Xavier

Data 360 × 7

Paste from Excel, or drop a CSV, TSV or Excel file here.
Example data 360 rows, 7 variables. Data stays in this browser tab.
Customertext · 360 levelsSatisfactiontext · 4 levelsSatisfaction_Codenumeric · codedTenure_YearsnumericPrice_Fairnessnumeric · codedPlantext · 3 levelsSupport_Ticketsnumeric · coded
C001Neutral22.64Plus1
C002Very satisfied42.75Premium0
C003Neutral27.43Plus2
C004Neutral27.44Plus1
C005Very satisfied43.74Plus0
C006Dissatisfied13.94Plus3
C007Very satisfied44.53Plus1
C008Satisfied35.54Premium0

Variables and options

Predictors 4 selected · min 1
Results update automatically when you change an option.

Results

360 rows · example data
LR χ²(5)37.69p < .001
Nagelkerke R².106
McFadden R².038
Cases360
AIC960.2
Table 1

Coefficients

PredictorBSEzpOdds ratio95% CI for OR
Tenure_Years0.0630.0401.56.1191.065[0.984, 1.152]
Price_Fairness0.4280.0924.65< .0011.535[1.281, 1.839]
Plan [Plus]0.1300.2400.54.5861.139[0.712, 1.822]
Plan [Premium]0.5480.2282.41.0161.729[1.107, 2.701]
Support_Tickets-0.2310.078-2.98.0030.794[0.682, 0.924]

Note. Model: logit[P(Y ≤ j)] = θj − Xβ. A positive B means higher values of the predictor make higher outcome categories more likely; the odds ratio is the multiplicative change in the odds of being in a higher category for a one-unit increase. Text predictors are dummy coded against their first category.

Table 2

Thresholds (cut-points)

ThresholdEstimateSE95% CI
Dissatisfied | Neutral-0.3030.385[-1.058, 0.452]
Neutral | Satisfied1.2860.390[0.523, 2.050]
Satisfied | Very satisfied2.6200.407[1.822, 3.419]
Table 3

Model fit

StatisticValue
−2 log-likelihood (model)944.18
−2 log-likelihood (thresholds only)981.87
Likelihood ratio χ²(5)37.69, p < .001
Cox and Snell R².099
Nagelkerke R².106
McFadden R².038
AIC / BIC960.2 / 991.3
Table 4

Test of parallel lines (Brant test)

Termχ²dfp
Omnibus15.5310.114
Tenure_Years3.692.158
Price_Fairness4.882.087
Plan [Plus]1.902.387
Plan [Premium]2.382.304
Support_Tickets1.472.480

Note. H₀: each predictor has the same effect at every threshold (proportional odds). A significant result (red) means the assumption is violated for that term; consider a partial proportional odds or multinomial model.

Predicted probabilities by Tenure_Years

Interpretation

The model is statistically significant, χ²(5) = 37.69, p < .001, Nagelkerke R² = .106. Each unit of Price_Fairness multiplies the odds of a higher Satisfaction category by 1.53; each unit of Plan [Premium] multiplies the odds of a higher Satisfaction category by 1.73; each unit of Support_Tickets multiplies the odds of a higher Satisfaction category by 0.79. The Brant test supports the proportional odds assumption (p = .114).

An ordinal logistic regression (N = 360) predicting Satisfaction was significant, χ²(5) = 37.69, p < .001, Nagelkerke R² = .106. Price_Fairness: OR = 1.53, p < .001; Plan [Premium]: OR = 1.73, p = .016; Support_Tickets: OR = 0.79, p = .003.

How to cite this tool

Using these results in a thesis, journal article, report or class assignment? Please cite this free tool so others can find it. It keeps the site free.

APA 7

Xavier, B. (2026). Ordinal Logistic Regression (Proportional Odds Model) [Web application]. FreeStatisticalTools.com. https://freestatisticaltools.com/ordinal-logistic-regression/

BibTeX

@software{xavier_ordinallogisticregression_2026,
  author = {Xavier, Bibin},
  title = {Ordinal Logistic Regression (Proportional Odds Model)},
  publisher = {FreeStatisticalTools.com},
  year = {2026},
  url = {https://freestatisticaltools.com/ordinal-logistic-regression/},
  note = {Web application}
}
Download citation:

Suggested sentence for your methods section: “The analysis was carried out with the free Ordinal Logistic Regression (Proportional Odds Model) tool on FreeStatisticalTools.com (Xavier, 2026).”

What is ordinal logistic regression?

Ordinal logistic regression predicts an outcome with ordered categories, such as a Likert rating or satisfaction level. The proportional odds model estimates one odds ratio per predictor and a threshold between each pair of categories. The tool reports coefficients, odds ratios with confidence intervals, model fit, predicted probabilities and the Brant test of the proportional odds assumption.

When to use ordinal logistic regression

Use ordinal logistic regression when the outcome has three or more ordered categories, such as Likert ratings, satisfaction levels, education levels or disease severity, and treating it as continuous or as unordered would lose information.

Assumptions

  • Proportional odds (parallel lines): each predictor has the same effect at every cut-point; the Brant test checks this.
  • Independent observations and no severe multicollinearity among predictors.
  • Enough cases in every outcome category (a rule of thumb is at least 10 per predictor in the smallest category).

How to set up your data

One row per case with the ordered outcome (numbers such as 1–5, or text categories with their order given in the order box) and one or more predictors; text predictors are dummy coded automatically.

When the outcome is ordered

Many outcomes in survey and marketing research are ordered categories: satisfaction from “very dissatisfied” to “very satisfied”, purchase intent from “definitely not” to “definitely”, a 1–5 Likert rating, education level, or the severity of a condition. Treating such outcomes as continuous with linear regression assumes equal distances between categories, which is rarely justified, and predictions can fall outside the scale. Treating them as unordered with multinomial regression throws away the ordering and needs many more parameters. Ordinal logistic regression, also called the proportional odds model, ordered logit or cumulative logit model, is designed exactly for this case.

The proportional odds model

With J ordered categories, the model describes the cumulative probabilities of being at or below each category j:

logit[P(Y ≤ j)] = θj − (β1x1 + β2x2 + …), j = 1, …, J − 1

There are J − 1 thresholds (cut-points) θj, one between each pair of adjacent categories, and one coefficient β per predictor that applies to all thresholds. This is the parameterisation used by SPSS PLUM, R’s MASS::polr and Stata’s ologit, so results match those programs. A positive β means that higher values of the predictor shift people towards higher outcome categories.

The exponentiated coefficient eβ is a cumulative odds ratio: the factor by which the odds of being in a higher category (rather than at or below any given category) multiply for a one-unit increase in the predictor. An odds ratio of 1.5 for price fairness means each extra scale point multiplies the odds of being more satisfied by 1.5, whichever threshold you look at. The probit link replaces the logistic distribution with the normal distribution; coefficients are then on a latent standard-normal scale and have no odds-ratio interpretation, but substantive conclusions are usually the same.

The proportional odds assumption and the Brant test

The model’s key assumption is that each predictor has the same effect at every threshold, so the J − 1 cumulative logit curves are parallel (hence “test of parallel lines” in SPSS). The Brant test (Brant, 1990) checks this. It fits a separate binary logistic regression for each threshold (Y > 1, Y > 2, …), estimates the covariance of the coefficients across these models, and tests with a Wald χ² whether the coefficients are equal. The tool reports an omnibus test and a test for each predictor. A non-significant result supports the model. A significant result for a specific predictor means its effect differs between thresholds: consider a partial proportional odds model, a generalised ordered logit, or a multinomial model. With large samples the test can flag small, practically unimportant departures, so compare the binary coefficients before abandoning the model.

Worked example with the built-in data

The example contains 360 subscribers whose satisfaction is recorded in four ordered categories, from dissatisfied to very satisfied, with tenure, perceived price fairness, plan type and number of support tickets as predictors. The model is significant, χ²(5) = 37.69, p < .001, Nagelkerke R² = .106. Each extra point of price fairness multiplies the odds of a higher satisfaction category by 1.53 (95% CI 1.28 to 1.84). Premium plan customers have 1.73 times the odds of the Basic plan, and each support ticket reduces the odds by about 21% (OR = 0.79). Tenure is not significant. The Brant test supports proportional odds (omnibus χ²(10) = 15.53, p = .114). These estimates agree with statsmodels’ OrderedModel and R’s polr to three decimals.

Preparing your data

  • Outcome: numeric codes (1–5) are ordered numerically. For text categories, type the order from lowest to highest in the category order box, for example Dissatisfied, Neutral, Satisfied, Very satisfied; otherwise text is ordered alphabetically, which is rarely what you want.
  • Predictors: numeric variables enter as they are. Text predictors are dummy coded automatically, with the first category (alphabetically) as the reference.
  • Sample size: as a rule of thumb, have at least 10 cases per predictor in the smallest outcome category. Merge very sparse categories (for example combine 1 and 2 on a five-point scale when only a handful of people chose 1).

Interpreting the output

  • Model fit: the likelihood ratio χ² compares the model with a thresholds-only model. Pseudo R² values (Cox and Snell, Nagelkerke, McFadden) are typically much lower than OLS R² and should not be read as “variance explained”; McFadden values of .2 to .4 already indicate an excellent fit.
  • Coefficients and odds ratios: use the Wald z-test and the confidence interval for each predictor.
  • Thresholds: usually not of substantive interest, but they show where the cut-points between categories lie on the latent scale; widely spaced thresholds indicate categories that are clearly distinct.
  • Predicted probabilities: the chart shows how the probability of each category changes across a numeric predictor, holding the others at their means. This is often the clearest way to communicate results.

Ordinal vs other regression models

Use binary logistic regression when the outcome has two categories. Use multinomial logistic regression when categories are unordered or when proportional odds clearly fails. Linear regression on a Likert outcome is a common approximation with seven or more categories and roughly symmetric distributions, but ordinal regression is more defensible, especially with skewed responses or few categories. For count outcomes, use the Poisson and negative binomial tool.

Reporting in APA style

Report the model test, a pseudo R², the odds ratios with 95% confidence intervals, and the test of parallel lines. Example: “An ordinal logistic regression showed that price fairness (OR = 1.53, 95% CI [1.28, 1.84], p < .001) and support tickets (OR = 0.79, 95% CI [0.68, 0.92], p = .003) predicted satisfaction, χ²(5) = 37.69, p < .001, Nagelkerke R² = .106. The Brant test indicated that the proportional odds assumption was met, χ²(10) = 15.53, p = .114.”

Checklist before you report

  • State the outcome order: list the categories from lowest to highest so readers know what “higher” means.
  • Check sparse categories: merge outcome categories with very few observations before fitting.
  • Report the model test and a pseudo R²: the likelihood ratio χ² with its degrees of freedom and, for example, Nagelkerke R².
  • Report odds ratios with 95% CIs: they are easier to interpret than log-odds coefficients.
  • Report the test of parallel lines: give the Brant omnibus test and mention any predictor that violates the assumption.
  • Show predicted probabilities: a chart of category probabilities across a key predictor makes the effect tangible.
  • Mention the software and link function: for example “proportional odds model with logit link, FreeStatisticalTools.com”.

Key references: McCullagh (1980), Journal of the Royal Statistical Society B; Brant (1990), Biometrics; Agresti (2010), Analysis of Ordinal Categorical Data; Long and Freese (2014), Regression Models for Categorical Dependent Variables Using Stata.

How to use this tool

  1. Enter your data. Paste columns from Excel, Google Sheets or SPSS with variable names in the first row, or upload a CSV or Excel file. The example data shows the expected layout.
  2. Choose the variables. Select the ordered outcome and predictors.
  3. Set the options. Fill in category order, lowest first (optional) and link function.
  4. Read the results. Results update automatically. Read the plain-English interpretation, then use Copy table to paste APA-style tables into Word and Copy for the results sentence.

How to report ordinal logistic regression in APA style

Report the likelihood ratio test, a pseudo R², the odds ratios with 95% confidence intervals and the test of parallel lines.

Frequently asked questions

When should I use ordinal logistic regression?

When the outcome has three or more ordered categories, such as Likert ratings, satisfaction levels or severity grades.

How do I interpret the odds ratio?

It is the factor by which the odds of being in a higher outcome category multiply for a one-unit increase in the predictor, at every threshold.

What is the proportional odds assumption?

Each predictor has the same effect across all thresholds. The Brant test checks it for the model and for each predictor.

What if the Brant test is significant?

Inspect which predictor violates it. Consider a partial proportional odds model, a generalised ordered logit, or multinomial logistic regression.

How do I set the order of text categories?

Type the categories from lowest to highest in the category order box, separated by commas.

Does this match SPSS and R?

Yes. It uses the same parameterisation as SPSS PLUM, R’s MASS::polr and Stata ologit: logit P(Y ≤ j) = θj − Xβ.

Related tools

See also

Browse all categories