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.
Your data never leaves your computer. Estimation, every bootstrap resample and every cross-validation fold run in your browser, on your own processor. No upload, no server, no account, no logging.
What the page can and cannot send
Apart from loading its own code from this site, the page makes two kinds of request, and only when you ask for them: the bundled demo dataset, when you press a demo button, and the optional Gemini review, which receives aggregate statistics and column names, never rows (the exact text is under “What leaves the browser” once you have run a model). Nothing you paste is sent anywhere else. Disconnect from the internet after the page has loaded and the analysis still works.
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 Gemini to review this model
A Gemini model reads the aggregate results of this run, 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; the model 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.
- Free to use. The review runs on this site's own Gemini key, on Google's free tier, so it costs you nothing. Your browser sends each request to a small relay on this site, which adds the key and passes the request straight on to Google; the relay stores nothing and the key never reaches your browser. The free tier lets Google use what is sent (the aggregate digest, never your data) to improve its products.
- Or your own key. If the shared free-tier limit is busy, or you would rather the digest went through your own Google account, paste a Gemini API key of your own below. It is kept in this tab unless you tick “remember on this device”. On a billed project a full review costs a few cents at Google's list prices, and Google does not use the content.
Use your own Gemini API key instead
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 a Gemini model (free on this site's key, or with your own) that sees aggregate results only and tests its suggestions by re-running models here
How closely it matches R
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().