Your dependent variable has two possible values: graduated or dropped out, diagnosed or healthy, purchased or did not purchase. You run a linear regression anyway, because that is the method you learned first. SPSS returns predicted values of 1.3 and −0.2, numbers that make no sense for a variable coded 0 and 1. This is exactly the problem logistic regression was built to solve, and it is the method we use in roughly one out of every five client projects at StudentStats.

When Linear Regression Fails

Linear regression predicts continuous outcomes. It produces a straight line, and that line can extend infinitely in both directions. When your outcome is binary (coded 0 and 1), fitting a straight line through those two values causes three problems. First, the predicted values are not bounded between 0 and 1, so you get impossible probabilities. Second, the residuals cannot be normally distributed because the outcome only takes two values. Third, the variance of errors is not constant across the range of the predictor, violating the homoscedasticity assumption. In a dataset of 200 students where the outcome is "graduated" (1) or "dropped out" (0), linear regression might predict that a student with a GPA of 3.9 has a 1.15 probability of graduating. That number is meaningless.

Logistic regression fixes all three problems at once. Instead of predicting the raw outcome, it predicts the log-odds (also called the logit) of the outcome occurring. The logistic function then transforms those log-odds into a probability between 0 and 1. No impossible values. No violated assumptions about residuals, because logistic regression uses maximum likelihood estimation instead of ordinary least squares (OLS). If you are coming from linear regression and want to see how the two methods differ in their output tables, our guide to reading regression output covers the linear side in detail.

How Logistic Regression Works

The model estimates the probability of the outcome being 1 (the "event") given a set of predictors. The equation looks like this: log(p / (1 − p)) = b0 + b1X1 + b2X2. The left side is the natural logarithm of the odds. The right side looks identical to a linear regression equation. The difference is what happens to the output: the predicted value is a log-odds, which gets converted to a probability through the logistic function.

Maximum likelihood estimation replaces OLS. Instead of minimizing the sum of squared residuals (as linear regression does), logistic regression finds the set of coefficients that makes the observed data most probable. The algorithm iterates until it converges on the best-fitting values. In practice, SPSS handles this automatically. You will see an "Iteration History" table in the output showing how the log-likelihood changed at each step, typically converging in 4 to 7 iterations for most student-sized datasets.

Logistic regression does not assume normally distributed residuals, does not assume a linear relationship between predictors and the outcome, and does not assume homoscedasticity. It does assume a linear relationship between each predictor and the log-odds of the outcome, independence of observations, and no severe multicollinearity among predictors. For a discussion of how correlation and regression relate and why multicollinearity matters, see our separate article on that topic.

Reading the SPSS Output

SPSS produces several tables when you run binary logistic regression. Each one answers a different question about your model. Here is what to look for in each.

The Omnibus Test of Model Coefficients tells you whether your model, with its predictors, fits better than a model with no predictors at all (the null model). It reports a chi-square value with degrees of freedom and a p-value. If χ²(2) = 34.17, p < .001, your model with two predictors is significantly better than chance alone. This is roughly analogous to the overall F-test in linear regression.

The Hosmer-Lemeshow Test checks whether the model fits the data well. Unlike most statistical tests, you want a non-significant result here. A p-value above .05 means the model's predicted probabilities match the observed frequencies. If χ²(8) = 6.42, p = .601, the model fits acceptably. A significant result (say p = .018) suggests the model is not capturing the data's pattern and may need additional predictors or transformations.

Nagelkerke R² appears in the "Model Summary" table alongside Cox & Snell R². Both are pseudo R-squared values. They are not identical to R² in linear regression. Nagelkerke R² adjusts the Cox & Snell value so it can reach a theoretical maximum of 1.0, making it easier to interpret. A Nagelkerke R² of .41 does not mean "the model explains 41% of the variance" in the same way linear R² does. It means the model accounts for about 41% of the variation in the log-likelihood compared to the null model. Values between .20 and .40 are common in social science research, and values above .50 are rare.

The Classification Table shows how many cases the model correctly and incorrectly predicted. A model predicting graduation might correctly classify 156 out of 200 students (78.0% overall accuracy). The table breaks this down by group: perhaps 89.2% of graduates were correctly predicted, but only 58.3% of dropouts were identified. This asymmetry is common when the groups are unbalanced, and it matters because a model that predicts "graduated" for everyone could still achieve 70% accuracy if 70% of the sample graduated.

The Variables in the Equation table contains the coefficients. Each predictor gets a B value, a standard error, a Wald statistic, degrees of freedom, a p-value, and Exp(B). The B coefficient is in log-odds units, which are hard to interpret directly. Exp(B) is the odds ratio, and it is the number most readers and supervisors will focus on.

Understanding Odds Ratios (Exp(B))

The odds ratio is the single most important number in logistic regression output. An odds ratio of 1.00 means the predictor has no effect on the odds of the outcome. An odds ratio greater than 1.00 means increased odds. An odds ratio below 1.00 means decreased odds.

Exp(B) Value Meaning Example
1.00 No effect on odds Gender has no association with graduation
1.50 50% increase in odds Each additional GPA point increases odds of graduation by 50%
2.34 134% increase in odds Students who attend tutoring have 2.34 times the odds of passing
0.72 28% decrease in odds Each additional missed class reduces odds of passing by 28%
0.45 55% decrease in odds Students working full-time have 0.45 times the odds of graduating

A frequent source of confusion: odds are not probabilities. If 80 out of 100 students graduate, the probability is .80, but the odds are 80/20 = 4.0. An odds ratio of 2.0 means the odds double, which does not mean the probability doubles. When the base rate is low (say 5%), odds and probabilities are close. When the base rate is high, they diverge sharply. Always report odds ratios as odds ratios, never as "twice as likely" unless you have calculated the actual probability change.

Worked Example: Predicting Graduation

Suppose you have data from 200 university students. The outcome is graduation status (1 = graduated, 0 = dropped out). Your predictors are cumulative GPA (continuous, range 1.0 to 4.0) and weekly study hours (continuous, range 2 to 35). You run the analysis in SPSS via Analyze → Regression → Binary Logistic, placing graduation as the dependent variable and GPA and study hours as covariates.

The Omnibus Test returns χ²(2) = 34.17, p < .001. Good. The model beats the null. Hosmer-Lemeshow gives χ²(8) = 6.42, p = .601. The model fits the data. Nagelkerke R² = .284, meaning the model captures roughly 28% of the variation in the log-likelihood. The classification table shows 78.0% overall accuracy (89.2% for graduates, 58.3% for dropouts).

The Variables in the Equation table shows: GPA has B = 1.63, Wald = 18.72, p < .001, Exp(B) = 5.10. Study hours has B = 0.08, Wald = 5.94, p = .015, Exp(B) = 1.08. The constant is B = −6.21. Both predictors are significant. For GPA, the odds ratio of 5.10 means that for each one-point increase in GPA, the odds of graduating increase by a factor of 5.10, controlling for study hours. For study hours, each additional hour per week increases the odds by a factor of 1.08, or about 8%, controlling for GPA.

In APA-7 format, you would report this as follows: A binary logistic regression was performed to examine the effects of GPA and weekly study hours on the likelihood of graduation. The model was statistically significant, χ²(2) = 34.17, p < .001, Nagelkerke R² = .28. The model correctly classified 78.0% of cases. GPA was a significant predictor of graduation, b = 1.63, Wald χ²(1) = 18.72, p < .001, OR = 5.10, 95% CI [2.47, 10.53]. Weekly study hours also significantly predicted graduation, b = 0.08, Wald χ²(1) = 5.94, p = .015, OR = 1.08, 95% CI [1.02, 1.15]. If you want Academic Stats Agent to generate this write-up from your data automatically, upload your dataset and select logistic regression.

Common Mistakes to Avoid

The most damaging mistake is running linear regression on a binary outcome. We see this in roughly 1 in 10 draft theses that come to us for review. A student regresses a 0/1 variable on three predictors using the standard linear regression menu and reports R² = .31, F(3, 196) = 29.41, p < .001. The numbers look clean. The committee may not catch it. But the model is fundamentally wrong: it assumes a continuous outcome, produces unbounded predictions, and violates every distributional assumption. The fix is simple. If your dependent variable has exactly two categories, use binary logistic regression.

Ignoring multicollinearity is the second major problem. If two predictors correlate at r = .85 or higher, the standard errors of the B coefficients inflate, and the Wald test becomes unreliable. A predictor that genuinely matters might show p = .22 simply because it shares too much variance with another predictor. Before running logistic regression, check a correlation matrix of all predictors. If any pair exceeds r = .80, consider removing one or combining them into a composite score.

Over-interpreting Nagelkerke R² is the third trap. Students who are used to linear regression expect R² = .70 or higher to count as a good model. In logistic regression, Nagelkerke R² values above .40 are uncommon in behavioral research. A value of .25 does not mean the model is weak. It means the predictors account for a meaningful share of the variation in the log-likelihood, and the classification accuracy and odds ratios may still tell a strong story. Judge the model by the full picture: significance of the omnibus test, adequate Hosmer-Lemeshow fit, reasonable classification accuracy, and meaningful odds ratios with tight confidence intervals.

Key takeaway: When your outcome variable is binary, logistic regression replaces linear regression. Focus on three outputs: the Omnibus Test (is the model significant?), the classification table (how accurately does it predict?), and the odds ratios (how much does each predictor shift the odds?). Report the Wald statistic, odds ratio, and 95% confidence interval for each predictor in APA format. Treat Nagelkerke R² as a rough guide, not a strict benchmark.

SS
StudentStats.net Team

We have completed over 300 statistical analysis projects for students and researchers across Europe. We built Academic Stats Agent to make the same statistical methods accessible to everyone.