How To Perform Moderation Analysis in SPSS [2 Methods]

In this statistics lesson, we will learn how to perform moderation analysis in SPSS using two easy-to-learn methods. 

The first method involves more steps but can be done without any additional SPSS extensions. The second method is simpler, faster, and provides more details on the moderation analysis but requires the PROCESS macro extension installed in SPSS. Don’t worry, I will walk you step by step on how to get everything set up.

Lesson Outcomes

Upon completing this statistics lesson, you will learn how to:

  • create standardized values (centering) for variables in SPSS.
  • calculate the intercept for interaction term in SPSS.
  • conduct moderation analysis in SPSS.
  • use PROCESS macro to perform moderation analysis in SPSS including conditional effects of the focal predictor.
  • interpret PROCESS macro moderation analysis results in SPSS.

Without further ado, let’s learn something new!

What is Moderation in Research?

A moderator variable is a third variable used to investigate the strength of the relationship between an independent and dependent variable. 

In other words, a moderator describes the level of change between independent and dependent variables quantified by the linear regression coefficient of the product term.

What is Moderation in Research. Source:
Moderation in research

The product term, also known as an interaction term, refers to the observed effect of the moderator on the relationship between independent and dependent variables. If this sounds confusing right now, it will get fairly clear in a moment when we conduct a step-by-step moderation analysis in SPSS.

In moderation analysis, it is essential that the moderator variable does not have a causal relationship with the independent variable. Therefore when asking does the independent variable influence the moderator variable in our study, the answer should be no.

Moderators are often confused with mediator variables. Though both terms might sound approximately similar, their use in statistics is completely different. Understanding the difference between moderators vs. mediators variables is critical before deciding if moderation analysis is suitable for your study.

Example of Moderation Analysis

Let’s assume we investigate if age moderates the relationship between customer relationship management and consumer loyalty for a supermarket. In this example, the customer relationship is the independent variable, consumer loyalty is the dependent variable, and age is a moderator variable.

Here’s a summary of the variable names and types used in this case study:

Variable nameVariable type
RelationshipIndependent variable (X)
LoyaltyDependent variable (Y)
AgeModerator (M)
Example of moderation analysis

We know that age is a moderator in this case because age has no cause and effect relationship with the independent variable customer relationship. For instance, is we ask the question can customer relationship change someone’s age? Obviously not therefore age must be a moderator variable. 

Now, let’s take this example further and conduct a moderation analysis in SPSS. If you wish to practice along, go ahead and download the SPSS data file used in this case study below. This data set contains dummy values therefore should be used for educational purposes only.

Method 1: How To Run Moderation Analysis in SPSS

Alright. Now that we know what moderation is and when to use it as well as have an example to practice along, let’s go ahead and learn how to perform moderation analysis in SPSS for the above example. 

  1. Import the sample data set in SPSS

Assuming you already downloaded the sample SPSS data file from the link above, extract the .sav file and double click on it to import it into SPSS. The sample data set should look like in the following picture on your computer.

Moderation analysis sample data set. Source:
Moderation analysis sample data set
  1. Create standardized values as variables 

This is an important step often overlooked by students when learning how to perform moderation analysis in SPSS or another statistical tool. 

Standardizing (centering) variables in regression analysis is recommended when one or more variables in the moderation analysis are continuous variables (e.g.,  age, height, temperature, distance, etc.) in order to avoid possible multicollinearity issues down the road. In our case, age is a continuous variable.

To standardize the variables in our dataset, navigate to Analyze → Descriptive Statistics → Descriptives in the SPSS top menu. 

Center variables in SPSS. Source:
Center variables in SPSS

On the Descriptive window, move the independent (relationship), and moderator variable (age), from the box on the left to the right using the arrow button in between. Make sure the “save standardized values as variable” checkbox is selected. Click OK.

Center variables in SPSS Descriptives. Source:
Center variables in SPSS [Descriptives]

You should see the newly created standardized variable in your SPSS data set now (variables starting with the letter “Z”).

Standardized values in SPSS. Source:
  1. Calculate the Interaction Term

Next, we need to calculate the interaction effect (intercept) by computing the product between the independent and moderator variables.

In SPSS, go to Transform → Compute Variable 

On the Compute Variable window, (1) give a name to the target variable, e.g., INT from “intercept.” On the Numeric Expression box, add the standardized independent variable (ZRelationship), click the multiply button (*) on the calculator section then add the standardized moderator variable (ZAge).

Calculate intercept in SPSS. Source:
Calculate intercept in SPSS

Click the OK button to calculate the product between the two variables.

The interaction term (INT) should appear now on your Variable View tab in SPSS as seen below.

The interaction term in SPSS. Source:
The interaction term in SPSS
  1. Perform Moderation Analysis in SPSS

Finally, we need to conduct a linear regression analysis to test the interaction effect. In SPSS, go to Analyze → Regression → Linear to open the Linear Regression window.

Add the dependent variable (Loyalty) to the Dependent box. Add the interaction term (INT) and independent variable (Relationship) to the Independent(s) box. Note that we are not adding the standardized independent variable here. 

Moderation analysis in SPSS example. Source:
Moderation analysis in SPSS example

Click the OK button to proceed with the moderation analysis in SPSS.

  1. Interpret Moderation Analysis in SPSS

The results for our example should look like in the capture below. The last step in this method is to learn how to interpret moderation analysis results in SPSS. 

By default, the linear regression analysis results will display three tables: Model Summary, ANOVA, and Coefficients. To see if Age has any effect on the relationship between Relationship and Loyalty, check the Sig. column in the Coefficients table. 

First, let’s check the R Square value in the Model Summary table. Here we can see that R Square is 0.542 meaning that the independent variable explains 54 percent of the variation in the dependent variable.

Linear regression model summary SPSS. Source:
Linear regression model summary SPSS

The one-way ANOVA examines the means of the groups in question and evaluates whether any of them are statistically significantly different from one another. In this case, the one-way ANOVA shows significance (Sig. = 0.000).

One-way ANOVA test SPSS example. Source:
One-way ANOVA test

Next, we can observe that there is a strong causal effect between the independent variable Relationship and the dependent variable Loyalty (P-value = 0.000). Since the P-value is P-value ≤ 0.05, the relationship between Relationship and Loyalty variables is significant. 

Regression coefficients in moderation analysis SPSS. Source:
Regression coefficients in moderation analysis SPSS

Finally, let’s check the moderation effect results. We can see that the interaction term (INT) has a P-value of 0.037. Since the P-value is lower than 0.05, we can consider that the moderator variable Age has an effect on the relationship between independent variable Relationship and dependent variable Loyalty

However, the conditional effects of the focal predictor at values of the moderator are not produced by default in SPSS. Here’s where the second method using PROCESS macro discussed below can come to the rescue.

Method 2: How to Calculate Moderation in SPSS using PROCESS Macro

PROCESS macro is an incredibly useful SPSS extension (also available for SAS and R) used for logistic regression path analysis modeling and observed variable OLS. Among many other features, PROCESS makes moderation and mediation analysis in SPSS a breeze. 

PROCESS macro installation process for SPSS is simple and does not require more than a few minutes of your time. Here is a step-by-step guide on how to install PROCESS macro in SPSS for both Windows and macOS.

Once installed, you can find the PROCESS macro in SPSS under Analyze → Regression → PROCESS by Andrew F. Hayes.

Launch PROCESS macro in SPSS. Source:
Launch PROCESS macro in SPSS

To calculate the moderation effect in SPSS with PROCESS macro extension, simply populate the fields as explained below.

Moderation analysis using PROCESS macro in SPSS. Source:


  1. Model number 1 is the default model in PROCESS and doesn’t have to be changed for moderation analysis.
  2. Y variable is your dependent variable. In our example, the dependent variable is Loyalty.
  3. X variable is the independent variable. In our case that is the Relationship variable.
  4. Moderator variable W is the moderator variable Age
  5. Click Options

In the PROCESS Options window, select “Only continuous variables that define products” to mean center the continuous variables (Age and Relationship), and “-SD, Mean, +SD” to generate simple slopes and test them for statistical significance. 

By default, PROCESS only shows conditional effects of the focal predictor at values of the moderator(s). if the P-value is lower than 0.10. To change that, in the Probe interactions dropdown menu, select “always.” This is important because if your focal predictor value is higher than 0.10, it will not produce results for nonsignificant interactions.

In addition, you can select “Generate code for visualizing interactions” in the case you need a visual representation of the interactions between variables.

Process macro options for moderation analysis. Source:

Press Continue than OK to proceed with the moderation analysis.

Wait a few seconds for PROCESS to generate the moderation analysis results. Next, let’s quickly go through the most significant indices and matrics for moderation analysis using PROCESS macro.

First, let’s look at the Model Summary. We can see that the R-sq is 0.5426 meaning that the independent variable explains 54 percent of the variation in the dependent variable. 

Next, all P-values for Relationship (Rel), Age, and Intercept (Int_1) are significant (P-value ≤ 0.05).

PROCESS moderation analysis model summary. Source:

Finally, we can see that the conditional effects of the independent variable Relationship at values of the moderator Age are significant (P-value ≤ 0.05) at levels -.7257, 0.0000, and 0.7257 (SD, Mean, +SD).

PROCESS macro moderation analysis model summary. Source:

This is by no means an exhaustive interpretation of moderation analysis results using PROCESS macro but for most cases enough to draw some essential conclusions.

Wrapping Up

Hopefully, by now you become fairly familiar with how to perform moderation analysis in SPSS as well as the key parameters and values you need to pay attention to in your analysis. I would highly suggest you use PROCESS macro for moderation analysis in SPSS. it is easier, faster and provides you with all the necessary options to conduct a detailed analysis.

Next, let’s have a look at how to conduct a moderation analysis in AMOS using a different example.

Cite this article in your research paper: