How to report multiple regression in APA style (7th ed.)

A regression produces more numbers than any other result, so the reporting choice is what to leave out. Here is what the sentence needs, when a table is better, a worked example, and six mistakes reviewers flag.

What the sentence must contain

**Two layers.** The **model layer** — R², adjusted R², F with both degrees of freedom, and p. The **variable layer** — for each predictor the unstandardized coefficient B, its standard error SE, the standardized coefficient β, t, and p. Say what was predicted from what first; "a regression was performed" names nothing.

There are **two** degrees of freedom — F(number of predictors, N − predictors − 1). The first is the model, the second the residual.

The pattern

A regression predicting performance from satisfaction and tenure was significant, R² = .34, adjusted R² = .32, F(2, 97) = 24.85, p < .001. Satisfaction significantly predicted performance, B = 0.41, SE = 0.09, β = .45, t(97) = 4.55, p < .001. Tenure did not, β = .08, p = .37.

Numbers in the pattern are placeholders.

Drop the leading zero for β and R² — neither can exceed 1. **Keep it for B and SE**, which are unbounded. The two conventions sit in the same sentence.

When a table is better

Past three predictors the prose stops working. Put the coefficients in a table — predictors down the side, B, SE, β, t and p in the columns, and R², adjusted R², F and its degrees of freedom in a note below. **With more than one model** (stepwise entry) give each model a column and report ΔR². Let the text point to the table and say only the largest effect in words.

A worked example

On a synthetic sample of 60 respondents, the two predictors together accounted for most of the variance in score, R² = .77, adjusted R² = .76, F(2, 57) = 93.64, p < .001. The model was carried by satisfaction, B = 0.72, SE = 0.06, β = .85, t(57) = 13.05, p < .001; age did not reach significance, β = .11, p = .083. The highest variance inflation factor was 1.03 (satisfaction), so collinearity is not a concern here. This sample was built so that satisfaction and score move together, which is why the model looks this strong — a large R² can be a feature of how the data were made, not a discovery.

These numbers were produced by the engine that computed the coefficient table; the same sample is in the six-step walkthrough.

Before you trust the model

Check four things. **Linearity** — a residual plot that fans out or curves means the model has the wrong shape. **Normality of residuals** — only a problem in small samples. **Homoscedasticity.** And **multicollinearity**, which happens when the predictors are too much alike: the coefficients swing while R² stays comfortable, so R² alone will not warn you.

For multicollinearity, **report the variance inflation factor as a number and say which cutoff you used** — fields use 5 or 10. "There was no problem" invites the question back. With a small sample, cutting predictors comes first; ten to twenty cases per predictor is a common recommendation.

Six mistakes reviewers flag

  1. β without B — β has no units, so it cannot say "one point more gives you this much." Report both.
  2. One degree of freedom — F(2, 97) needs both numbers.
  3. Leaving out adjusted R² — R² rises on its own as predictors are added; adjusted R² takes that back out.
  4. Causal verbs — "satisfaction raises performance." A regression supports "predicted" or "was associated with."
  5. Quietly dropping a predictor that was not significant — if it was in the model, it belongs in the report.
  6. Ranking "the most important variable" by β — the size of β moves with the sample and the scales.

Where the numbers come from

In Statory the sentence is generated from the same computation that produced the coefficient table, so the two cannot disagree. Every engine is checked line by line against established statistics software and the comparison is published — see the accuracy page.

The same engine runs inside ChatGPT and Claude when you paste a table there.