Structural equation modeling

Structural equation modeling you draw, not script

Structural equation modeling usually means lavaan syntax, an SEM diagram drawn somewhere else, and a morning spent matching the two. Magic Stat lets you draw the model on a canvas, choose the estimator and run it — the coefficients, the fit indices and the report come out of the same dialog.

The honest part

What SEM does, and when a regression is enough

SEM estimates a system of relationships at once — measurement (which observed items belong to which latent construct) and structure (which constructs predict which) — instead of fitting one equation at a time. That is what lets it separate measurement error from the relationship you care about, and what makes it appropriate when a construct is measured by several items and you want the construct, not the sum score, in the model.

It is not automatically better than regression. If you have one outcome, observed variables and no latent constructs, an ordinary regression is simpler, more transparent and easier for a reviewer to check. SEM earns its place when there are latent variables, several dependent relationships, mediators or moderators, or when you want a global fit statistic for the whole theory.

The two estimators answer different questions. PLS-SEM is variance-based and oriented to prediction with composite constructs; CB-SEM is covariance-based and gives fit indices you can compare against a hypothesised model. Magic Stat runs both, and states which one produced each number.

What it does

What Magic Stat gives you for SEM

How it works

From a drawing to an estimated model

  1. Load your data. the indicators as columns — the same spreadsheet you would use anywhere else in the app.
  2. Draw the model. place the latent constructs and their indicators, then draw the structural paths. Ready-made examples (direct, mediation, moderation) can be opened and adapted.
  3. Choose the estimator. PLS-SEM for prediction-oriented, composite models; CB-SEM when you want covariance-based fit indices.
  4. Run it. coefficients, fit, reliability and validity tables are computed and written into the Analysis Report; figures export as PNG, SVG, PDF, JPEG or TIFF.
  5. Report it. the report carries the model, the estimator, the settings and the interpretation, and exports to .docx, .html or .md.
Options

The choices, in the dialog

Estimator: PLS-SEM · CB-SEM.

Inference: Analytic · Bootstrap (iterations and confidence level set in the dialog).

Group variable: a categorical column for multi-group analysis.

Canvas: save the model as .sem.json, save the diagram as an image, reopen and re-run.

Frequently asked

SEM questions, answered honestly

Should I use PLS-SEM or CB-SEM?

PLS-SEM suits prediction-oriented, exploratory models with composite constructs and modest samples; CB-SEM suits confirmatory testing of a hypothesised model, because it reports fit indices you can judge. If the reviewer expects fit statistics, use CB-SEM; if they expect composite reliability and HTMT, use PLS-SEM.

Is this a replacement for lavaan?

No. lavaan in R remains the reference for complex CB-SEM — equality constraints, non-standard models, multilevel structures. Magic Stat covers the common reflective model you can draw and gives you the report; if your model needs lavaan's full syntax, use lavaan.

Do I need to install R?

No. The estimators run inside the app. If you already use R comfortably and it serves you, keep it — the point here is the drawing-to-report workflow, not replacing your scripts.

How many groups can multi-group analysis handle?

A small number of groups, as in SmartPLS — each group is a full model estimation, so grouping by a near-continuous column is not allowed, and the dialog only lists columns with few levels.

Is my data uploaded somewhere?

No. The model is estimated on your computer. The only signal the app sends automatically is an anonymous installation counter — no data, no names, no e-mail.

Psychometrics → R alternative →