Regression

Ordinal Logistic Regression

Models an ordered outcome from numeric predictors and reports, as an odds ratio, how strongly each predictor pushes the outcome towards higher categories.

Method summary

Ordinal logistic regression suits outcomes whose categories follow a natural order without being equally spaced: a five-point satisfaction grade, or a three-step low, medium, high classification. Treating such a variable as a score to be averaged asserts that the gaps between steps are identical, while collapsing it to two categories throws the ordering away. The model takes a middle path, cutting the outcome at each boundary in turn and expressing the odds of falling above a given category as a function of the predictors. One set of coefficients is taken to hold at every cut, and the cuts themselves, reported as thresholds, locate the category boundaries along the latent scale. YouReply Analyze fits this with the OrderedModel class from statsmodels, using a logit link by default and offering probit as the alternative. The outcome column is expected to hold between three and twenty categories; with only two, the engine declines to run and points to logistic regression instead. Each predictor comes back with a coefficient, a standard error, a z value, a p value, an odds ratio and a significance marker, alongside the threshold estimates, the log likelihood, a pseudo R squared and the information criteria.

Which research questions does it answer?

  • Which way does a service satisfaction grade move as waiting time and time spent with staff increase?
  • Do income bracket and age predict the five-point grade of purchase intention?
  • How much does the odds of moving up one step on a recommendation scale change as brand awareness rises?
  • Does hours of training explain the shift between low, medium and high bands of exam performance?

When should you use it?

  • When the outcome consists of ordered categories and equal spacing between steps cannot be defended.
  • When a single Likert-type item is the thing being predicted; once several items are summed into a continuous score, a linear model fits better.
  • When reducing the ordered outcome to two categories would cost the study information it needs.
  • When every category, and particularly the extreme ones, holds enough cases to support estimation.

Required variable types

  • Dependent variable: an ordered column. It must carry at least three categories and no more than twenty, and what matters is the rank order of the codes rather than their numeric size.
  • Predictors: numeric columns, and several may be ticked together in the parameter form.
  • Value labels on the Variable tab name the codes of the ordered outcome, and setting its measurement level to ordinal makes the method picker state its suitability reason correctly.
  • A categorical predictor has to be converted into dummy columns before it can be used.

Key assumptions

A genuinely ordered outcome
The categories must line up in a single direction. Forcing an unordered outcome into this model leaves the thresholds arranged meaninglessly and the coefficients uninterpretable.
Proportional odds (parallel lines)
The defining condition is that a predictor acts with the same strength at every cut: the coefficient governing the step from the second category to the third is assumed to govern the step from the fourth to the fifth as well. Where that breaks down, a single odds ratio becomes an average of genuinely different effects and misleads.
Independent observations
Each row must belong to a different respondent. Grades collected from the same person at several points, or answers clustered within a classroom, shrink the standard errors below where they belong.
Predictors that do not duplicate one another
Two predictors carrying nearly the same information destabilise the estimates; odds ratios inflate and their signs can flip unexpectedly.
Enough cases per category
Thresholds are estimated from the boundaries between neighbouring categories. A step ticked only a handful of times yields a threshold with enormous uncertainty and unsettles the whole model.

How YouReply checks these assumptions

  • A genuinely ordered outcome: The engine requires between three and twenty categories and halts outside that range; with two it returns a message sending you to logistic regression. Whether the ordering is theoretically right is never examined, since only the numeric rank of the codes is used.
  • Proportional odds (parallel lines): Nothing tests this condition: no Brant test, no comparison model estimating separate coefficients per cut, and no warning when parallelism fails. Inside the panel the workaround is to cut the outcome in two at each boundary, run logistic regression on each cut, and compare the coefficients yourself to see whether they stay close.
  • Independent observations: The panel does not check this assumption automatically; the researcher evaluates it.
  • Predictors that do not duplicate one another: No diagnostic of any sort is computed for this method: no VIF or tolerance for collinearity, no inspection of residuals, no influence measures. Screening the overlap among predictors with the correlation methods beforehand is left to the researcher.
  • Enough cases per category: Category frequencies are never weighed against any adequacy rule and no notice appears for sparse steps. Look at the distribution of the outcome on the Data tab and decide for yourself whether a very thin step should be merged with its neighbour.

How the analysis is run

  1. 1Drag your data file onto the panel; CSV and XLSX are both read.
  2. 2Set the ordered outcome up on the Variable tab: choose the ordinal measurement level, label the codes, and confirm that the order of the steps matches the numeric order of the codes.
  3. 3If the outcome column holds a code that sits outside the ordering, such as 'no opinion', declare it missing, since otherwise it inflates the category count and corrupts the sequence.
  4. 4Select the method on the Analysis tab. With 'Only ones that fit my data' switched on, a dataset without a column of three to twenty categories leaves the method dimmed and its reason readable.
  5. 5Tick the outcome and the predictors in the parameter form, then either keep the logit link or switch to probit.
  6. 6Run the analysis. The result opens as collapsible sections: the predictor table, the thresholds and the fit measures. This method produces no chart, so export the tables to Excel and reopen the run later from the History tab.

Statistics and tables produced

Coefficients and standard errors
Raw coefficients on the logit scale together with the standard errors that express their precision. A positive sign means the outcome shifts towards higher categories as the predictor grows.
z value and p value
For each predictor, the coefficient divided by its standard error and the significance attached to it. This p value tests the claim that the odds ratio differs from one.
Odds ratio
The exponentiated coefficient. It gives the factor by which a one-unit rise in the predictor multiplies the odds of landing above any given cut, a factor taken to be identical across all cuts.
Significance marker
A flag set against the 0.05 level for each predictor. The level is fixed, so working to a stricter criterion means reading the p value itself.
Threshold estimates
The cut points separating neighbouring categories. Thresholds arriving in ascending order indicate a coherent fit, while two thresholds sitting almost on top of each other suggest respondents did not distinguish those two steps.
Pseudo R squared
A McFadden-style fit index built on the gain in log likelihood. It is not read on the scale of R squared from a linear model, and modest values are normal in survey data because of the noise between response grades.
Log likelihood, AIC and BIC
The likelihood reached by the fit plus two criteria for weighing competing predictor sets on the same data. The smaller figure marks the more economical model.
Number of observations
How many rows entered the model. Rows carrying missing answers are excluded, so this can fall short of the row count in your file.

Effect size and confidence intervals

Odds ratio
Here the odds ratio states what the odds of sitting above a cut get multiplied by. A value of 1.40 means those odds grow by two fifths, 0.70 that they shrink by roughly a third. Remember that the figure is claimed for every cut at once: if proportional odds fails, this single number papers over effects that actually differ from one boundary to the next.
Pseudo R squared
A summary of how much the fit improves on the likelihood of an empty model. With ordered outcomes even values around 0.10 are consistent with a usable model, and passing this figure off as a percentage of explained variance is a common error.

This method returns no confidence interval for the coefficients, the odds ratios or the thresholds; the table holds point estimates, standard errors, z values and p values. The pseudo R squared arrives without an interval too. Where a publication requires a 95% interval it has to be derived from the coefficient and its standard error outside the panel, with the interval for an odds ratio built on the coefficient scale first and exponentiated afterwards. The practical cost is that two similar odds ratios cannot be shown from the output alone to be genuinely different.

Example research question and example result

The numbers below are a representative example, not data from a real study or a real user.

Research question
In an illustrative customer experience study, how do waiting time and time spent with staff shape a five-point service satisfaction grade?
Variables
Dependent variable: service satisfaction (1 = not at all satisfied, 5 = very satisfied) · Predictor 1: minutes spent waiting in the queue · Predictor 2: minutes spent with a member of staff
Example result
With n = 612 respondents, the logit fit gave waiting time a coefficient of -0.09 (standard error 0.02, z = -4.50, p < .001, odds ratio 0.91) and time with staff 0.14 (standard error 0.04, z = 3.50, p < .001, odds ratio 1.15). The thresholds were estimated at -2.31, -0.84, 0.62 and 2.07. Pseudo R squared was 0.11, log likelihood -812.4, AIC 1636.8 and BIC 1663.3.
Interpretation
Every extra minute in the queue multiplies the odds of a higher satisfaction grade by 0.91, while every extra minute with a member of staff multiplies them by 1.15. The two effects run in the expected opposite directions and both clear the .001 level. The thresholds come out in order with comparable gaps between them, which suggests respondents really did separate the five steps. At 0.11 the pseudo R squared is low: these two timings account for only part of what drives satisfaction. The output is no evidence that proportional odds holds, because the panel never tests it, and with no intervals reported the precision of 0.91 and 1.15 is known only through their standard errors.

Real output on a sample dataset

The results below were produced by the analysis engine from this data file. Changing the variable changes the research question as well; every run was computed in advance, so the page sends no request to the engine.

General customer survey (synthetic)

A wide survey of three hundred respondents: two and three category grouping variables, continuous measures, a five point ordinal scale, a binary purchase outcome, a four category brand choice, three repeated measurements, paired binary questions, three raters, four price questions and deliberately empty cells.

Rows
300
Columns
respondent_id, gender, education, region, age, income, satisfaction, service_score, price_score, quality_score, loyalty, nps_score, purchased, brand_choice, satisfaction_level, pre_score, post_score, measure_1, measure_2, measure_3, use_before, use_after, use_followup, rater_1, rater_2, rater_3, price_too_cheap, price_cheap, price_expensive, price_too_expensive, feedback_score, followup_rating
Download the dataset as CSV

The data is synthetic: it comes from a fixed random seed, not from a real study. The values below were produced by the analysis engine from this file, so uploading the same file to the panel gives the same results.

Research question: Do the service and price scores predict moving up a step on the five level satisfaction scale?

Dependent variable
satisfaction_level
Independent variables
service_score,price_score
dependent_var
satisfaction_level
Link function
logit
Log likelihood
-359.07
Pseudo R squared (McFadden)
0.070
Akaike information criterion (AIC)
730.14
Bayesian information criterion (BIC)
752.37
Valid observations
300

Coefficient table

Coefficient table
RowCoefficient (B)Standard errorz statisticp valueOdds ratioSignificant
service_score0.7920.1156.90< 0.0012.21Yes
price_score0.1750.0911.920.0551.19No

Category thresholds

1 | 2
-1.62
2 | 3
1.31
3 | 4
0.716
4 | 5
0.763

Computation credits: scipy 1.18.0 · statsmodels 0.14.6 · scikit-learn 1.9.0 · numpy 2.5.1 · pandas 3.0.5 · semopy 2.3.11 · 89fc29a · Data seed: 20260914

How to report the result

In an ordinal logistic regression, satisfaction grade was predicted by waiting time (OR = 0.91, p < .001) and by time spent with staff (OR = 1.15, p < .001), with pseudo R squared = .11 (n = 612).

An example sentence close to APA style; the numbers are representative.

When you should not use it

  • Because no test of proportional odds is returned, the output cannot tell you whether reporting a single odds ratio is justified at all.
  • Coefficients, odds ratios and thresholds come without intervals, so the 95% bounds expected in publication have to be built elsewhere.
  • Regression diagnostics are absent: there is no collinearity measure, no residual examination and no influence statistic.
  • An outcome collapsed to two categories cannot be fitted here, and columns carrying more than twenty categories are refused as well.
  • Thinly populated steps destabilise the threshold estimates, and no warning accompanies such a distribution.
  • Categorical predictors are never dummy-coded for you, so selecting one untouched produces numeric effects that cannot be read sensibly.

What to use when the assumptions are not met

  • Logistic RegressionWhy: When the outcome can fairly be reduced to two steps, or when proportional odds plainly fails, fitting each cut separately becomes the honest route.
  • Multinomial Logistic RegressionWhy: When the ordering itself is questionable, it drops the rank assumption and contrasts each category against a baseline instead.
  • Linear Regression (OLS)Why: When several ordered items have been summed into a continuous scale score, the coefficients read directly in the units of that score.
  • Spearman Rank CorrelationWhy: When the question is simply how strongly two ordered variables move together rather than one predicting the other.

Frequently asked questions

I doubt the proportional odds assumption, what can I do inside the panel?
Since nothing here tests it, the check has to be done by hand. A workable route is to build dummy columns that split the ordered outcome at each boundary in turn, fit a logistic regression on each split, and line up the coefficients of the same predictor across those splits. Where they stay close in size and share a sign, reporting one odds ratio is defensible. Where one boundary diverges clearly, two options remain: cut the outcome at a theoretically meaningful point and proceed with logistic regression, or abandon the ordering and move to the multinomial model. Whichever you choose, the write-up should say how parallelism was judged.
How do I read the thresholds, and why are there so many?
There is always one fewer threshold than there are categories, because each one marks the boundary between a neighbouring pair: a five-step outcome yields four. They behave like cut points on a latent continuum measured in logits, and interpreting any single one on its own is not customary. Two things about them are useful. First their order, which must ascend; a broken sequence means the fit cannot be trusted. Second the spacing between them, since two thresholds almost touching suggest that respondents treated those two steps as the same thing, which is an argument for shortening the scale.
Can I treat a five-point Likert item as continuous and use linear regression?
The literature is divided, and the answer depends on how many items you have. For one Likert item, equal spacing between steps is hard to defend, the distribution is usually skewed, and a linear fit can predict values off the end of the scale, all of which favour the ordered model. Once six or eight items measuring the same construct are summed into a single score, however, the resulting variable behaves much like a continuous one, and linear regression becomes easier to interpret and easier to diagnose. Step count matters too: at seven points and above, the bias from the linear approach falls away noticeably.
My odds ratio came out at 0.91, how do I phrase that as a percentage?
For a ratio below one, subtract from one and multiply by a hundred: 0.91 amounts to roughly a 9% reduction in the odds. Be explicit that the reduction applies to odds rather than to probability, and note that the figure covers a one-unit change, so with a unit as small as a minute it reads better to describe the effect over ten minutes, which means raising the odds ratio to the tenth power. State in the sentence which direction you are reading, since what the model describes is the odds of sitting in the higher categories.

References

  • Agresti, A. (2013). Categorical Data Analysis
  • Field, A. (2018). Discovering Statistics Using IBM SPSS Statistics
  • Tabachnick, B. G., & Fidell, L. S. (2019). Using Multivariate Statistics
  • statsmodels OrderedModel documentation

Try it with your own data

The free plan includes 50 analysis runs a month and needs no card.