SEMinR in the browser
Paste the SEMinR model you would run in R and your indicator data. The page estimates the PLS-SEM model, bootstraps it, runs PLSpredict, CVPAT and the congruence test, checks every result against the textbook thresholds, draws the path diagram, and gives you a report, the numbers, and the R script to reproduce it all. No R, no install. Try the two textbook demos below, or paste your own model.
Your data never leaves your computer
Everything — estimation, every bootstrap resample, every cross-validation fold — runs inside your browser on your own machine, spread across your processor's cores. There is no upload, no server, no account, and no logging. Nothing you paste is ever transmitted anywhere. Once the page has loaded, the only request it can make is for the bundled demo dataset, and only if you press “Load demo”. Disconnect from the internet and it still works.
The engine is the open-source TypeScript port of SEMinR and seminrExtras.
Point estimates, the summary tables and PLSpredict reproduce R exactly
(PLSpredict includes R's fold shuffle for a given seed). The bootstrap uses
R's random number generator too, but seminr draws its resamples on a
parallel stream, so intervals agree with R to Monte Carlo error, not digit
for digit. The congruence test with rhoC is bit-identical to
seminrExtras::congruence_test().
1. Indicator data
One column per item with a header row of item names, one row per case. Comma-, semicolon- or tab-separated, so pasting from Excel, SPSS or SmartPLS works. Extra columns are ignored.
2. SEMinR model
The same code you would run in R: constructs() with
composite(), reflective(),
higher_composite(), interaction_term() and
quadratic_term(); relationships() with
paths(). Assignments, comments and other lines are ignored.
3. Options change
Percentile intervals for paths, loadings, weights, HTMT, total and indirect effects. Runs on all your cores; the congruence test reuses these resamples. Use 10,000 for the numbers you publish.
Ask Claude to review this model
Claude reads the aggregate results above, assesses them against the PLS-SEM literature, and tests the improvements it proposes by asking this page to re-estimate alternative specifications. Those runs happen here, in your browser, on your data; Claude only ever receives aggregate statistics.
- Your data never leaves your computer. What is sent is the digest under “What leaves the browser”: reliability, loadings, paths, intervals, verdicts and column names. No rows, scores or residuals exist in it.
- Your key, your account. Requests go from this page straight to
api.anthropic.comwith your own API key; there is no server in between and no key of ours. The key is kept in this tab unless you tick “remember on this device”. - Model: Claude Opus 5. A full review with a few alternative runs typically costs a few tens of cents at Anthropic's list prices; the token count is shown as you go.
What is computed
- PLS path modeling with mode A, mode B, unit-weight and PLSc (reflective) constructs, two-stage higher-order composites, interaction and quadratic terms
- Outer loadings and weights, Cronbach's alpha, rhoA, rhoC, AVE, indicator and antecedent VIFs
- HTMT with bootstrap intervals, Fornell–Larcker, cross-loadings
- Path coefficients, R², f², total, total indirect and specific indirect effects with percentile bootstrap intervals
- PLSpredict (k-fold, DA/EA) against the linear-model benchmark, Q²predict, and CVPAT
- The bootstrapped congruence-coefficient test (Franke, Sarstedt & Danks, 2021)
- Threshold assessment following PLS-SEM Using R, with every rule and source stated
- Path diagrams as seminr's
plot(), a standalone HTML report, all results as JSON, and the R script - An optional review by Claude, with your own API key, that sees aggregate results only and tests its suggestions by re-running models here