Path Analysis Tutorial: Direct, Indirect and Total Effects with a Free Calculator
Path analysis estimates a system of regression equations among observed variables and splits each relationship into direct, indirect and total effects. This tutorial walks through the StatFas path analysis calculator exactly as it works: load data, write the equations, run bootstrap confidence intervals, read the tables and path diagram, and report the result in APA 7.
Do path analysis free hereOpen the StatFas Path Analysis CalculatorWhat the calculator gives you
- Direct, indirect and total effects with bootstrap percentile intervals (1,000, 2,000, 5,000 or 10,000 resamples; seed and 90%, 95% or 99% confidence are adjustable).
- Standardized path coefficients (β), explained variance for each endogenous variable and model fit statistics when the model is over-identified.
- A path analysis diagram you can restyle (font, size, colours, horizontal or vertical layout, A4 landscape or portrait) and download as SVG or 300 dpi PNG.
- An editable APA 7 results paragraph and interpretation.
Before you start
- Prepare a CSV, TSV or Excel file (.csv, .tsv, .xlsx, .xls) with one row per case and one numeric column per variable. Short column names without spaces (for example
Sleep_Quality) are easiest, because you type them exactly as shown. - Decide the causal order from theory or time ordering before you look at the output. The calculator fits recursive models only (no feedback loops).
- Rows with missing or invalid values are dropped listwise, and the diagnostics tell you how many. Aim for at least 10 to 20 cases per estimated parameter; the calculator warns you when N is too small for the number of parameters.
Step 1: Upload your data
In 1. Upload data, choose your file, or press Load example data to practise. The example is simulated (not real) with N = 500 and five columns: Academic_Stress, Social_Support, Sleep_Quality, Wellbeing and Academic_Performance. Reset analysis clears everything so you can start again.
Step 2: Write the path model as equations
Section 2. Specify the path model takes one equation per line in the form Outcome ~ Predictor1 + Predictor2. Every variable that appears as an outcome is endogenous; variables that are never an outcome are exogenous and are allowed to correlate automatically. The example model is:
Sleep_Quality ~ Academic_Stress + Social_Support
Wellbeing ~ Academic_Stress + Social_Support + Sleep_Quality
Academic_Performance ~ Academic_Stress + Social_Support + Sleep_Quality + Wellbeing
Read it as a causal chain: stress and support affect sleep; stress, support and sleep affect wellbeing; and all four affect academic performance. Choose the bootstrap resamples (5,000 is the default), the seed (12345 by default, so results can be reproduced) and the confidence level, then press Run path analysis.
Identification note: when every possible arrow among the predictors is included, as above, the model is just-identified (df = 0) and fits perfectly by construction, so fit statistics are not shown. Leave out an arrow you have a theoretical reason to omit and the model becomes testable (df > 0), and chi-square, CFI, TLI, RMSEA and SRMR appear as Table 6.
Step 3: Read the results
The results section starts with Diagnostics (dropped rows, cases per parameter, warnings), followed by APA 7 tables:
| Table | What it shows | What to check |
|---|---|---|
| 1. Descriptive Statistics | Mean, SD and distribution of each variable | Sensible ranges, no data-entry errors |
| 2. Correlations Among Study Variables | Zero-order correlations | Very high values (multicollinearity) |
| 3. Path Coefficients | B, SE, β and p for every arrow | Sign and size of each direct path |
| 4. Explained Variance | R² of each endogenous variable | How much each outcome is explained |
| 5. Direct, Indirect, and Total Effects | B and β with intervals and a significance flag | Whether indirect intervals exclude zero |
| 6. Model Fit Statistics | χ²(df), CFI, TLI, RMSEA, SRMR, AIC | Only when df > 0 |
Direct effects use t-based intervals; indirect and total effects use bootstrap percentile intervals. An indirect effect is the product of the coefficients along a route (for example stress → sleep → wellbeing), the total effect is the direct effect plus all indirect effects, and an indirect effect whose interval excludes zero is statistically supported. A standardized β is the change in the outcome, in SD units, for a one-SD increase in the predictor with the other predictors in that equation held constant.
Step 4: Customize and download the path diagram
Section 4. Path diagram draws rectangles for variables, single-headed arrows for directed paths and curved double-headed arrows for covariances among exogenous variables. Solid lines mark p < .05 and dashed lines mark non-significant paths. Use the controls for font, size, layout, page orientation and colours (node, border, positive, negative, non-significant), then choose Download SVG or Download PNG (300 dpi).
Step 5: Edit the APA 7 report
Section 5. APA 7 report gives an editable results paragraph and interpretation. Check every number against the tables, then adapt the wording to your study. A complete report names the software and estimator, N and missing-data handling, the model, fit statistics with df (if available), coefficients with intervals, the bootstrap details and the diagram.
Assumptions and limits
Path analysis cannot prove causation; it tests whether your data are consistent with the causal model you specified. It assumes linear relationships, correct causal order, no important omitted common causes, independent observations and reasonably well-behaved residuals. Measurement error in observed variables biases estimates, so use SEM when constructs are latent.
Related tutorials and tools
- Mediation tutorial and the Mediation Analysis calculator for a single mediator.
- Moderation tutorial and the Moderation Analysis calculator.
- SEM tutorial and the SEM calculator.
- Multiple linear regression and correlation calculators.
Background reading: Path Analysis Explained (blog).
Ready? Do path analysis free hereRun your own model in the calculator