SPSS command: SPSS PROCESS-style

Mediation and moderation analysis in your browser

Mediation asks whether X affects Y through an intermediate variable M; moderation asks whether the effect of X depends on a third variable W.

Free · No account · Files stay on your device · Updated 18 October 2026

What it tells you

Crosstabs fits the regression-based models psychologists usually run with Hayes' PROCESS macro (models 4, 1, 6, 7 and 14) on your device, with seeded percentile bootstrap intervals for indirect effects. It is an independent implementation, not affiliated with Andrew F. Hayes or PROCESS.

  • How much of the effect of X on Y runs through each mediator (indirect effects a × b with 95% bootstrap intervals) and how much remains direct (c′).
  • Whether two parallel indirect effects differ (pairwise contrasts) and how large they are on a standardized scale (completely standardized indirect effects).
  • Whether the effect of X on Y changes with a moderator (interaction test with R² change), the conditional effect at chosen moderator values and the Johnson–Neyman region where it is significant.
  • Whether an indirect effect depends on a moderator (index of moderated mediation with a bootstrap interval, plus conditional indirect effects).

When to use it

Use it when

  • Testing a theorised mechanism, for example whether service quality raises loyalty by building trust.
  • Checking for whom or under which conditions an effect holds, such as a training effect that grows with prior experience.
  • Replacing a Baron and Kenny causal-steps analysis with a direct test of the indirect effect.

Use something else when

  • A binary or count outcome: this panel fits linear (OLS) equations only; logistic-outcome PROCESS models are not offered.
  • Latent variables measured by several items, or models with feedback loops: use structural equation modeling software.
  • Cross-sectional data offered as proof of causation: mediation estimates rest on causal assumptions that the data alone cannot verify.
  • Survey data with a sampling weight or a complex design: sampling weights are blocked here; use Complex Samples procedures.

How to run it in Crosstabs

  1. 01

    Choose the procedure and model

    In Statistics mode open Regression → Mediation and moderation (PROCESS-style), then pick a Model: 4 parallel mediation, 1 simple moderation, 6 serial mediation, 7 or 14 moderated mediation.

  2. 02

    Assign the variables

    Choose the Independent variable (X) and Outcome (Y), use Add mediator (M) for each mediator (two, in causal order, for model 6), and pick the Moderator (W) for models 1, 7 and 14. Add covariate enters a control in every equation.

  3. 03

    Set the options

    Under Options keep Bootstrap samples at 5000 or change it, note the Random seed, set the Confidence level, and tick HC3 standard errors, the Sobel test or mean-centering if you need them. For moderation choose where to probe W: mean and ±1 SD, the 16th, 50th and 84th percentiles, or custom values.

  4. 04

    Declare the weight and run

    If the workspace has a weight, choose Frequency weight or Run unweighted (a sampling weight is blocked with an explanation), then click Run analysis. The bootstrap runs in a background worker.

  5. 05

    Report the results

    Copy sentences from the APA-style summary, export any table as CSV, and report the seed and number of resamples so the intervals can be reproduced.

Worked example

Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.

Try with example data

Data

200 synthetic customers with service quality (X), trust and perceived value (two parallel mediators) and loyalty (Y), generated so that quality raises both mediators and trust drives loyalty. Model 4 with 5,000 percentile bootstrap resamples, seed 2000000.

Coefficients — Outcome: loyalty
TermCoefficientSEtpLLCIULCI
constant0.2290.3510.65.515−0.4630.921
quality0.1040.0711.48.141−0.0350.244
trust0.5090.0667.70<.0010.3780.639
value0.1500.0851.77.078−0.0170.317
Total, direct and indirect effects of quality on loyalty
EffectEstimateSE / Boot SELLCIULCI
Total (c)0.3990.0670.2660.532
Direct (c′)0.1040.071−0.0350.244
quality → trust → loyalty0.2550.0470.1660.351
quality → value → loyalty0.0400.024−0.0060.089
Contrast: trust − value0.2150.0550.1080.324

Indirect-effect and contrast intervals are 95% percentile bootstrap intervals.

How to read it

The total effect of quality on loyalty is 0.399 (p < .001); with both mediators in the model the direct effect is 0.104 (p = .141). The indirect effect through trust = 0.255, 95% CI [0.166, 0.351], which excludes zero; through value = 0.040, 95% CI [−0.006, 0.089], which includes zero.

Output tables explained

Model Summary and Coefficients (one per outcome)
R, R², MSE and F for every equation, and each path coefficient with its SE, t, p and confidence interval (LLCI, ULCI). With a moderator, the Test of Highest-Order Unconditional Interaction gives the R² change and its F test.
Total, direct and indirect effects of X on Y
The total effect c, the direct effect c′ and each indirect effect with its bootstrap SE and percentile interval (BootLLCI, BootULCI); an interval that excludes zero indicates mediation. Completely standardized effects and pairwise contrasts follow.
Conditional effects and Johnson–Neyman significance region
The effect of the focal predictor at each probed moderator value, the moderator values where significance changes (with the share of cases below and above), a table across the moderator's range and a simple-slopes plot.
Index of moderated mediation
For models 7 and 14: the index (a₃ × b or a × b₃) with its bootstrap interval, and the conditional indirect effect at each moderator value. An index interval excluding zero means the indirect effect depends on W.

Assumptions and notes

  • Each equation is a linear regression: check linearity, outliers and, if variances differ across X, use HC3 standard errors.
  • The causal order X → M → Y is assumed, and no unmeasured variable confounds the M–Y relation; covariates can adjust for measured confounders.
  • Missing values are removed listwise across all model variables. Frequency weights must be whole numbers and replicate cases; sampling weights are not supported.
  • Bootstrap intervals vary slightly with the seed; with 5,000 resamples the variation is usually in the third decimal.

How the results are validated

The engine is tested against an independent Python reference (Python 3.13.13, statsmodels 0.15.0, SciPy 1.18.1, NumPy 2.5.4) and an R reference (R 4.6.1 with lm, sandwich 3.1.3, lmtest, car 3.1.5, lavaan 0.7.3 and interactions 1.2.0) on ten scenarios covering models 1, 4, 6, 7 and 14, HC3, centering, covariates, user-missing codes and frequency weights. Coefficients, SEs, t, p, intervals, F and R² change agree within 1e-9; Johnson–Neyman boundaries match SciPy root finding within 1e-9 and interactions::johnson_neyman within 1e-6; lavaan reproduces the indirect and total effects. Both references redraw the bootstrap with identical resample indices from an independent port of the seeded generator, and the bootstrap SEs and percentile limits agree within 1e-8. Validation evidence

Questions

Is this the PROCESS macro?

No. It is an independent implementation of the same regression-based models, numbered as in Hayes' book so you can find the model you need. It is not affiliated with or endorsed by Andrew F. Hayes. Bootstrap intervals will differ slightly from PROCESS because the random number streams differ.

How do I know whether mediation is significant?

Look at the bootstrap interval of the indirect effect: if it excludes zero, the indirect effect is statistically different from zero at that confidence level. A significant total effect is not required.

Should I use the Sobel test?

It is offered for comparison with older papers, but the product a × b is rarely normal, so the percentile bootstrap interval is the better test.

What does the Johnson–Neyman region show?

It finds the moderator values where the conditional effect of X crosses the significance threshold, so you can say for which range of W the effect is significant instead of checking only three probe values.

Can I use survey weights?

Frequency weights that count identical cases are supported. Sampling weights are blocked because OLS standard errors and a simple case bootstrap ignore the survey design.

Run Mediation and Moderation (PROCESS-style) on your own data

Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.

Open the workspace

SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.