A moderation analysis tests whether the effect of a predictor on an outcome depends on a third variable, the moderator. In regression terms, it tests the interaction between the predictor and the moderator. A significant interaction is then explained with simple slopes: the predictor's effect at low, average and high levels of the moderator.
What you need before you write a single word
- Whether the predictor and moderator were mean-centred (recommended).
- The interaction term: b, SE, t with its df, p and 95% CI.
- The ΔR² the interaction added beyond the main effects.
- Simple slopes: the predictor's effect at the moderator's mean − 1 SD, mean and mean + 1 SD.
The APA 7 format template
[Predictor] and [moderator] were mean-centred before computing their interaction. The interaction was significant, b = X.XX, SE = X.XX, t(df) = X.XX, p = .XXX, 95% CI [X.XX, X.XX], and explained an additional [X]% of the variance in [outcome], ΔR² = .XX. Simple slopes showed that [predictor] was [more strongly] related to [outcome] at low [moderator] (−1 SD), b = X.XX, p = .XXX, than at high [moderator] (+1 SD), b = X.XX, p = .XXX.
All 53 templates, ready to paste with the italics set: the Rescue Vault, $27 →
Formatting rules reviewers actually check:
- Say whether the variables were centred; the main effects mean different things if not.
- Report the interaction's test in full and the ΔR² it added.
- Always follow a significant interaction with simple slopes, ideally with a plot.
A worked example
For 200 nurses, you tested whether social support moderates the effect of work stress on burnout. Both were mean-centred.
- Stress: b = 0.86, SE = 0.06, p < .001
- Support: b = −0.26, SE = 0.04, p < .001
- Stress × support: b = −0.04, SE = 0.01, t(196) = −4.23, p < .001, 95% CI [−0.05, −0.02]
- R² rose from .58 to .62, ΔR² = .04; overall F(3, 196) = 104.19, p < .001
- Simple slopes of stress: low support (−1 SD) b = 1.09, mean support b = 0.86, high support (+1 SD) b = 0.63, all p < .001
Written up in APA 7:
Work stress and social support were mean-centred before computing their interaction. The model explained 62% of the variance in burnout, F(3, 196) = 104.19, p < .001. The stress × support interaction was significant, b = −0.04, SE = 0.01, t(196) = −4.23, p < .001, 95% CI [−0.05, −0.02], adding 4% of explained variance, ΔR² = .04. Simple slopes showed that stress was more strongly related to burnout when support was low (−1 SD), b = 1.09, p < .001, than when it was high (+1 SD), b = 0.63, p < .001: support buffered, but did not remove, the effect of stress.
Mistakes reviewers catch
- No simple slopes. A significant interaction coefficient alone does not say how the effect changes.
- Interpreting main effects as overall effects. With centring, the stress coefficient is its effect at average support; without centring, at support = 0.
- Confusing moderation with mediation. Moderation asks when an effect holds; mediation asks how it works.
Let KyroStat do the write-up for you
KyroStat centres the variables, tests the interaction, computes the simple slopes, and writes the paragraph with a simple-slopes plot from your data.
Frequently asked questions
Do I have to centre the variables? It is not required for the interaction test, but it makes the main effects interpretable and is standard practice. Say whether you did.
What about a categorical moderator? Report the predictor's slope in each group instead of at ±1 SD.
Can I use PROCESS for this? Yes; Hayes' PROCESS Model 1 gives the same results. Name the tool and the model number in your Method.
How do I report the regression itself? See how to report a multiple regression.