top of page

SPSS and SAS Macros

Below are some tools I have created to make analyses easier in SPSS and SAS. Please read the associated documentation and  contact me if you have any questions. All of my tools are also stored on git hub.


My adviser, Andrew Hayes, and lab mate, Nick Rockwood, also have a number of macros available for SPSS and SAS. If you do not see a tool you need here check out Andrew's website and Nick's Website.





MEMORE (Mediation and Moderation for Repeated Measures )

Current Version: 2.1.2

Sign-up for email updates about MEMORE

MEMORE is a macro for SPSS and SAS that estimates mediation and moderation models for two-instance within-subjects/repeated measures designs. The macro will estimate interactions and conditional effects for moderation models and the total, direct, and indirect effects of X on Y through one or more mediators M for mediation models. In a path-analytic form using OLS regression as illustrated in Montoya and Hayes (2017), it implements the method described by Judd, Kenny, and McClelland (2001, Psychological Methods) and extended by Montoya and Hayes (2017) to multiple mediators.  Along with an estimate of the indirect effect(s), MEMORE generates confidence intervals for inference about the indirect effect(s) using bootstrapping, Monte Carlo, or normal theory approaches. MEMORE also provides an option that conducts pairwise contrasts between specific indirect effects in models with multiple mediators. Moderation models follow the procedures outlined by Judd, Kenny, and McClelland (2001, Psychological Methods) for testing interactions and Montoya (in press, Behavior Research Methods) for probing interactions. 

UPDATES with Version 2.1

  • Small bug fixes with .spd file where comments were causing errors

  • New error messages to improve user experience

  • Total Effect Dialogue Box Error: There was an issue with MEMORE V2.0 calculating the standard error of the total effect incorrectly in the SPSS dialogue box. If you have used MEMORE V2.0 SPSS dialogue box to calculate and report statistics on the total effect, I recommend that you rerun the analyses using the newest version. Note that this issue was not present in earlier versions (Version 1.1 or prior) or in other implementations (SPSS syntax or SAS).

NEW FEATURES with Version 2.0 (See documentation for more detail)

  • Moderation Models: The new model number argument allows researcher to selection mediation (Model 1) or moderation (Models 2 and 3) to estimate the model of choice. Along with these models come a variety of new options including the Johnson-Neyman procedure, plotting options, centering, and probing at specific values of the moderators or at quantiles of the moderators. 

  • Serial mediation with up to five mediators. Previous versions only allowed two mediators in serial. 

  • For model 1, there is a new option XMINT. The default is to allow the relationship between M and Y to be the same in each repeated-measures instance, using the option XMINT = 0 will assume these relationships are equal.

If you ever encounter errors in using MEMORE, please double check the documentation and make sure you've specified everything correctly, including the spelling of your variables. If you persist to have errors, please email me with a description of your analysis and a screenshot or attachment of your output. 

Development for MEMORE version 3.0 is underway. This version will introduce moderated mediation models. Contact me if you are interested in Beta testing.

Montoya, A. K., & Hayes, A. F. (2017). Two condition within-participant statistical mediation analysis: A path-analytic framework.  Psychological Methods, 22(1), 6 - 27.
Montoya, A. K. (in press). Moderation Analysis in Two-Instance Repeated-Measures Designs: Probing Methods and Multiple Moderator Models. Behavior Research Methods. 

OGRS (Omnibus Groups Regions of Significance)

Current Version: 1.2

OGRS is a macro for SPSS and SAS used for probing interactions between a multicategorical independent variable (X) and a continuous moderator (M) in predicting a continuous outcome variable (Y). OGRS provides an omnibus test of interaction between X and M, regression results for when X is coded as dummy variables, and Johnson-Neyman boundaries of significance for the omnibus effect of X on Y along M. The Johnson-Neyman boundaries are found using a modified bi-section search algorithm. Examples of OGRS code and output are available in Hayes and Montoya (2017).

Hayes, A. F., & Montoya, A. K. (2017). A tutorial on testing, visualizing, and probing an interaction involving a multicategorical variable in linear regression analysis.  Communication Methods and Measurements, 11(1), 1 - 30.
Montoya, A. K. (2016). Extending the Johnson-Neyman Procedure to categorical independent variables: Mathematical derivations and computational tools [Masters Thesis]. 
bottom of page