Acceptable Formats: Excel (.xlsx, .xls), CSV (.csv), SPSS (.sav), Stata (.dta), or SAS (.sas7bdat)
Select PROCESS Model.
If necessary, change the bootstrap parameters.












Instructions for Usage

  1. Upload your data set to the app. The file must be in one of the following formats: Excel (.xls, .xlsx), Text (.csv), SPSS (.sav), Stata (.dta), and SAS (.sas7bdat). Once you upload the file, “Setup” window on right shows first 6 observations from your data set.
  2. Choose your PROCESS model from the dropdown list.
  3. Select your indepedent variable (X-variable).
  4. Select your mediating variable.
  5. Select your dependent variable (Y-variable).
  6. Choose covariates foe the mediating variable.
  7. If you chose Model 4, skip to step 10.
  8. If you chose Model 6, select a second mediating variable.
  9. If you chose Model 8, select a moderating variable.
  10. Optionally, Mediate App lets you adjust the following 3 bootstarp parameters:
    • Random number generator seed (default is 123456)
    • Number of bootstrap samples (default is 1000)
    • Confidence level (default is 95%)
  11. All the model setup inputs are visible in the Setup tab. Once you are satisfied with your these inputs, click “Run Mediation”.
  12. The tab automatically switches from Setup to “Results”. Depending on the number of bootstrap samples you requested, the app will take some time to show results. Please be patient.
  13. In the results tab you will have 3 to 4 tables.

Results structure

  1. All the 3 models will have the first table for mediating variable regression.
  2. For Model 6, the second table will be for 2nd mediating variable regression.
  3. For Model 4 and Model 8, the second table will be for dependent variable regression. For Model 6, dependent variable regression will be in Table 3.
  4. Finally, the last table will show the mediation effects and their bootstrap confidence intervals.

Important notes about Model 8

  1. Model 8 requires a binary moderator. It can have any numeric values. Mediate App will internally convert moderating variable to a dummy variable with values equaling 0 and 1. Mediate App will print a message showing which levels it converted to 0 and 1.
  2. Model 8 will have 2 indirect effects and two total effects corresponding to two values of the dummy moderating variable.

Download Reports

  1. Mediate App allows you to download the model setup and the results as PDF and Word documents. Formatting for PDF is much more refined compared to Word document due to the way Pandoc handles documents. However, if you plan to copy and paste the tables in other documents, Word format will give you better flexibility.

A Simple Example

I have created a toy data set in Excel format for you to try out the app. There are 100 observations and a few variables. The variable names make it easy for you to identify what their purpose is.

Data set description

The data has following variables:

  • x - The independent variable
  • y - The dependent variable
  • med1 and med2 - The mediating variables. For Model 4 and 8 you need to use only one mediating variable.
  • covar1-covar3 - Optional covariates. The covariates are only for the mediating variable regressions and not for the dependent variable.
  • mod1-mod3 - Moderating variables. You will use only one of these for Model 8. However, there is a reason for including 3 of them. mod1 is binary and uses dummy coding: 0 and 1. mod2 is not binary and has 3 levels. If you use this, the app should give you an error. Finally, mod3 is binary but its coding is 1 and 2 instead of 0 and 1. The app will still use it but internally convert the levels to 0 and 1. In the output, this is specified at the bottom of Table 3.

Download the data in Excel format.

Mediate Shiny Dashboard

Mediate is an experimental web-based application, or app, for doing mediation analysis and obtaining bootstrap confidence intervals. I, Ashwin Malshe, am the sole developer of the app. For any suggestions, comments, concerns, etc., please contact me on

Why use Mediate?

  • As Mediate is web-based, all it requires is a computer with Internet connection and a modern browser (e.g., Safari, Chrome, Firefox).
  • Mediate is free. It uses the open-source R software to perform mediation analysis. (It requires some funds to host the app on the web but I can afford to pay for it.)
  • Mediate has a functional graphic user interface (GUI), which gives you granular control over your analysis without writing any code.
  • Mediate shows you all the parameters you used for the analysis including the file name, variable names, random number seed, number of bootstrap samples, and confidence interval. You can simply copy this in a text file for easy replicability.
  • Mediate makes mediation plots.
  • Mediate allows you to export tables and plots in PDF and Word formats.
  • Mediate is secure because it doesn't store your data. After every session, your data is purged from the servers. Mediate currently allows log-in free operation. (I may add the ability to create accounts in future.)
  • Mediate can read data files in various formats including Comma-Separated Values (.csv), Microsoft Excel (.xls, .xlsx), Stata (.dta), SAS (.sas7bdat), and SPSS (.sav). This makes Mediate software-agnostic.

Limitations (as of 2018-03-26)

  • It can handle only 3 models from PROCESS (4, 6, and 8). However, these are the 3 most often used models in consumer research. I did a quick check of all the Journal of Consumer Research articles mentioning using PROCESS macro published since 2010 and found that almost all the articles used one of the above 3 models. I will add more models as we go forward.
  • Model 4 and 8 can handle only 1 mediator at this point. Model 6 can handle 2 mediators in sequence.
  • Model 8 can handle only 1 moderator at this point. It has to be a binary variable (having only 2 levels).

Future plans

  • More mediators in existing models
  • More models
  • Handle multiple levels in a moderator
  • Include the “Floodlight Analysis” for continuous moderators


I thanks Arash Talebi and Yuan Li for their help.

Arash Talebi, a marketing PhD student at ESSEC Business School, helped me extensively in testing the app and comparing it with PROCESS macro.

Yuan (Susan) Li, a marketing PhD student at UTSA, helped me in initial testing of the app.