Ordinal logistic regression produces coefficients that represent the change in log-odds of being in a lower (or higher) category of your outcome for each one-unit increase in a predictor. To make sense of the output, you exponentiate those coefficients to get odds ratios, check that the model’s key assumption holds, and optionally convert everything into predicted probabilities. The process is straightforward once you understand a few core pieces.
What the Model Actually Does
An ordinal outcome has categories with a meaningful order but no guaranteed equal spacing between them. Think of a survey response like “unlikely,” “somewhat likely,” and “very likely.” Ordinal logistic regression (most commonly the proportional odds model) works by splitting this outcome into a series of cumulative comparisons: category 1 versus categories 2 and above, then categories 1 and 2 versus category 3 and above, and so on. For an outcome with J categories, the model creates J minus 1 of these binary splits.
At each split, the model estimates the log-odds of being at or below a given category versus above it:
log[P(Y ≤ j) / P(Y > j)] = threshold_j + β × predictor
The critical feature is that β, the coefficient for each predictor, is the same across all of those splits. Only the threshold (intercept) changes. This single-coefficient structure is what makes the model efficient and interpretable, but it rests on an assumption you need to verify.
Interpreting Coefficients and Odds Ratios
Each coefficient (β) represents the change in the log cumulative odds for a one-unit increase in that predictor. On its own, a log-odds value is hard to intuit. The standard move is to exponentiate it: exp(β) gives you a cumulative odds ratio.
An odds ratio of 1.0 means no effect. Above 1.0, higher values of the predictor are associated with higher odds of being in a higher outcome category. Below 1.0, higher values of the predictor are associated with lower odds of moving up. For example, if your predictor is “years of education” and exp(β) = 1.45, then each additional year of education multiplies the odds of being in a higher outcome category by 1.45, or increases them by 45%.
For a categorical predictor, the interpretation compares groups directly. In a UCLA example about college applications, students whose parents attended college had 3.09 times the odds of being in a higher application-likelihood category compared to students whose parents did not attend college.
Because this is a cumulative odds ratio, it applies identically at every split point in your outcome. The odds ratio for “very likely versus everything below” is the same as for “somewhat likely or above versus unlikely.” That uniformity is the whole point of the proportional odds model.
Watch for Flipped Signs in Different Software
This is one of the most common sources of confusion. R’s polr function and Stata parameterize the model with a negative sign in front of the predictor coefficients. The equation they fit looks like this:
log[P(Y ≤ j) / P(Y > j)] = threshold_j − η × predictor
So the coefficient η that R or Stata prints is actually the negative of β. If you see a positive η in R’s polr output, the effect on being in a lower category is negative, meaning the predictor is associated with higher outcome categories. SPSS and SAS typically use the more intuitive parameterization where a positive coefficient means higher odds of being in a higher category.
The simplest approach in R or Stata: exponentiate the coefficient as printed (exp(η)), and interpret it as the odds of being in a higher category for the comparison group. In the UCLA example, exp(1.127) = 3.09, interpreted as “students whose parents attended college have 3.09 times the odds of being more likely to apply.” This avoids the double-negative confusion that comes from trying to interpret the odds of being in a lower category for the reference group.
What Thresholds (Cutpoints) Mean
Your output will include a set of intercept-like values, one for each split in the outcome. These are called thresholds or cutpoints. For a three-category outcome, you get two thresholds. For five categories, four thresholds.
Conceptually, they mark the points on a hidden continuous scale where the outcome shifts from one category to the next. If you imagine that your ordered categories are really just bins carved from a continuous spectrum, the thresholds define where the cuts fall. In practice, you rarely interpret these directly. They matter for computing predicted probabilities, but they don’t tell you anything about the effect of your predictors.
The Proportional Odds Assumption
The model assumes that each predictor’s effect is consistent across all the cumulative splits. If education increases the odds of “very likely” versus everything below by a factor of 1.45, it should also increase the odds of “somewhat likely or above” versus “unlikely” by the same factor. This is the proportional odds assumption.
If this assumption fails, it means the effect of a predictor differs depending on where you split the outcome. Education might strongly predict moving from “unlikely” to “somewhat likely” but barely predict the jump from “somewhat likely” to “very likely.” In that case, the single odds ratio the model gives you is misleading.
Several tests can check this assumption. The Brant test is the most widely used. It estimates separate coefficients for each binary split and then tests whether they differ significantly. The score test (sometimes called the test of parallel lines in SPSS) and the likelihood ratio test serve the same purpose. A significant result (typically p < 0.05) suggests the assumption is violated.
A few practical notes: the Brant test and score test can be overly sensitive with large samples, flagging violations that are trivially small. If the test is significant, compare the split-specific coefficients. If they point in the same direction and are roughly similar in magnitude, the proportional odds model may still be a reasonable summary. If they diverge substantially or flip direction, you may need a different model, such as a multinomial logistic regression that estimates separate effects for each category.
Converting to Predicted Probabilities
Odds ratios are the standard output, but predicted probabilities are often easier for audiences (and for you) to grasp. You can compute the probability of being in each outcome category for any combination of predictor values.
The formulas work from the top category down. For a three-category outcome:
- P(Y = 3) = 1 / (1 + exp(−(threshold_2 + β₁x₁ + β₂x₂ + …)))
- P(Y ≤ 2) = 1 / (1 + exp(−(threshold_1 + β₁x₁ + β₂x₂ + …))). Then P(Y = 2) = P(Y ≤ 2) − P(Y = 3).
- P(Y = 1) = 1 − P(Y = 2) − P(Y = 3)
Note that some software packages define the thresholds as the negative of the intercepts, so check your documentation. In the UCLA example on college applications, the predicted probability of being in the lowest application category was 0.59 when neither parent had graduate education, dropping to 0.34 when a parent did. For the highest category, probabilities shifted from 0.078 to 0.196. These concrete numbers communicate results far more effectively than saying “the odds ratio was 3.09.”
Assessing Model Fit
Ordinal logistic regression doesn’t produce a traditional R-squared. Instead, you get pseudo R-squared measures that approximate the same idea but behave differently.
McFadden’s pseudo R-squared compares the fit of your model to an intercept-only model. Higher values mean better fit, but the scale is compressed: values between 0.2 and 0.4 often indicate a well-fitting model, unlike linear regression where you might expect 0.7 or higher. Cox and Snell’s pseudo R-squared has a known limitation: its maximum possible value is less than 1.0 even with a perfect model. Nagelkerke’s version corrects for this by rescaling so the range extends from 0 to 1, making it easier to compare across studies.
None of these pseudo R-squared values should be interpreted as “percent of variance explained” the way you would with linear regression. They’re useful for comparing competing models on the same dataset (a higher value means a better fit), but the absolute number doesn’t carry the same intuitive meaning.
A Step-by-Step Interpretation Checklist
When you sit down with your output, work through these steps in order:
- Check the proportional odds assumption using the Brant test or score test. If it holds, proceed. If not, inspect how badly it’s violated before deciding whether to stick with the model.
- Identify the sign convention your software uses. R’s
polrand Stata flip the sign. SPSS and SAS typically do not. - Exponentiate coefficients to get cumulative odds ratios. An odds ratio above 1.0 means higher predictor values are associated with higher outcome categories (after accounting for sign convention).
- Check significance using confidence intervals or p-values for each predictor. A 95% confidence interval for the odds ratio that includes 1.0 means the effect is not statistically significant.
- Compute predicted probabilities for key predictor profiles to communicate results in practical terms.
- Report pseudo R-squared for context on overall model fit, but don’t over-interpret the absolute value.
The thresholds can be safely ignored for interpretation purposes. They’re structural parameters the model needs to function, not quantities that tell you anything about your predictors’ effects.

