Statistical Methods Atlas
Atlas › Predict & Explain › Binary Logistic Regression

Binary Logistic Regression

Models the probability of a binary outcome from one or more predictors — e.g., predicting whether an employee quits within a year.

Predict & ExplainMultivariate also known as: Logit model, Logistic model

✓ When to use

  • Outcome is dichotomous: quit/stayed, purchased/not, promoted/not.
  • You want odds ratios per predictor and predicted probabilities per case.
  • Classification with interpretable coefficients (screening models, churn, adoption).

✗ When NOT to use

  • Continuous outcomes — linear regression; don't dichotomize a continuous DV.
  • 3+ unordered outcome categories — multinomial; ordered categories — ordinal logistic.
  • Rare events with few cases in the smaller class (< ~10 events per predictor) — penalized (Firth) logistic.
  • Perfectly separable data — coefficients explode; use penalization.

Data requirements

Dependent / outcome variableOne binary variable (coded 0/1; model the '1').
Independent / grouping variableContinuous and/or dummy-coded categorical predictors.
DesignIndependent observations.
Sample size guidanceRule of thumb: ≥ 10 events (cases in the rarer category) per predictor; total n often 200+.

Assumptions

Hypotheses

H₀ — A predictor's coefficient is zero (OR = 1): it does not change the odds of the outcome.
H₁ — The coefficient differs from zero (OR ≠ 1).

The concept

The model fits log(p/(1−p)) = b₀ + b₁X₁ + … — a straight line in log-odds that becomes an S-shaped curve in probability. Exponentiating a coefficient gives the odds ratio: e^b is the multiplicative change in the odds of the outcome per unit of the predictor. OR > 1 raises the odds; OR < 1 lowers them; OR = 1 is no effect.

Fit is judged by the likelihood-ratio χ² against the null model, pseudo-R² (Nagelkerke, McFadden — report which; they are not OLS R²), and classification-independent discrimination via the ROC curve's AUC (.5 = chance, .7+ acceptable, .8+ good). Odds are not probabilities: an OR of 2 does not mean 'twice as likely' unless the base rate is small.

Worked example

Predicting one-year turnover (18% left) from job satisfaction, salary grade, and commute time (N = 420).

Result: model χ²(3) = 48.2, p < .001, Nagelkerke R² = .18, AUC = .74. Satisfaction OR = 0.55 (each satisfaction point nearly halves quit odds); commute OR = 1.03 per minute (p = .01).

How to run it

model <- glm(quit ~ satisfaction + salary_grade + commute,
             data = df, family = binomial)
summary(model)
exp(cbind(OR = coef(model), confint(model)))   # ORs with CIs

# fit and discrimination
anova(model, test = "Chisq")
library(pROC); auc(roc(df$quit, fitted(model)))

Interpreting the output

APA-style reporting

Binary logistic regression significantly predicted turnover, χ²(3, N = 420) = 48.2, p < .001, Nagelkerke R² = .18. Job satisfaction reduced the odds of quitting, OR = 0.55, 95% CI [0.42, 0.71], p < .001, while longer commutes increased them, OR = 1.03 per minute, 95% CI [1.01, 1.05], p = .010.

Common mistakes

Related methods

Multiple Linear RegressionContinuous outcomeMultinomial Logistic Regression3+ unordered categoriesOrdinal Logistic RegressionOrdered categoriesDiscriminant Analysis (LDA)Alternative classifierChi-Square Test of IndependenceUnadjusted association
← Mediation AnalysisOrdinal Logistic Regression →