seminrExtras
Advanced modeling and analysis tools that extend SEMinR.
seminrExtras is a supplementary package for SEMinR — not a standalone package. It adds advanced tools for evaluating and validating PLS-SEM models estimated with SEMinR. Every function accepts an estimated seminr model object and returns results with print, summary, and plot methods.
It is also the home of the example models used in the Partial Least Squares Structural Equation Modeling (PLS-SEM) using R workbook (Hair et al., 2026).
What it provides
seminrExtras implements a range of methods for advanced PLS-SEM assessment:
- Composite Overfit Analysis (COA) — detect observation-level overfitting via predictive deviance trees and parameter instability analysis (Danks, Ray, & Shmueli, 2024).
- Congruence testing — bootstrapped congruence coefficient testing for construct validity (Franke, Sarstedt, & Danks, 2021).
- Cross-Validated Predictive Ability Test (CVPAT) — compare a model’s predictive performance against benchmarks or alternative models (Liengaard et al., 2021; Sharma et al., 2023).
- Predictive Contribution of the Mediator (PCM) — test whether a mediating construct improves out-of-sample predictive accuracy (Danks, 2021).
- Importance-Performance Map Analysis (IPMA & cIPMA) — identify constructs that are both important and, via Necessary Condition Analysis integration, necessary (Ringle & Sarstedt, 2016; Hauff et al., 2024).
- Necessary Condition Analysis (NCA & NCA-ESSE) — test whether predictors are necessary conditions for an outcome, complementing PLS-SEM’s sufficiency logic, with an effect-size sensitivity extension (Dul, 2016; Becker et al., 2026).
- Confirmatory Tetrad Analysis (CTA-PLS) — empirically test whether a construct’s measurement model is reflective or formative (Gudergan et al., 2008).
- Unobserved heterogeneity — detect latent classes via FIMIX-PLS (EM-based probabilistic segmentation) and PLS-POS (deterministic prediction-oriented segmentation).
Installation
Like SEMinR itself, seminrExtras is R-first: the R package is the authoritative implementation, and the Python and JavaScript/TypeScript ports maintain numerical parity with it (validated against R-generated golden fixtures). Each port consumes an already-estimated model from the matching-language SEMinR port, so it comes in the same three variants:
R — the authoritative package (on CRAN)
Python — a port on PyPI (experimental)
JavaScript / TypeScript — a port on npm (experimental)
Please note: The Python and JavaScript/TypeScript ports are experimental for now. The R package remains the authoritative implementation; if you run into a problem with a port, please report it on that port’s repository.
Select a tab below for installation instructions:
Install the released version from CRAN:
install.packages("seminrExtras")Or install the development version from GitHub:
# install.packages("remotes")
remotes::install_github("sem-in-r/seminrExtras")Then load it alongside SEMinR:
library(seminr)
library(seminrExtras)A Python port with numerical parity to the R package, built on the seminr estimation engine. Requires Python 3.11+.
Experimental. Please report any issues on its GitHub repository.
Install from PyPI (pulls in seminr automatically):
pip install seminrExtrasOptional extras — matplotlib plots and pandas-friendly input:
pip install "seminrExtras[plot]"
pip install "seminrExtras[pandas]"Then evaluate an already-estimated seminr model:
from seminrExtras import assess_cvpat
result = assess_cvpat(model, nboot=200, seed=123)
print(result)A from-scratch TypeScript port that consumes an already-estimated model from @seminr/core, the TypeScript SEMinR estimation engine. Pure ESM, targeting Node 18+ / Bun.
Experimental.
@seminr/extrasis in early development (0.x) — please report any issues on its GitHub repository.
Install from npm (alongside the core estimation engine):
npm install @seminr/core @seminr/extrasThen assess an estimated SEMinR model:
import { assessCvpat } from "@seminr/extras";
const result = assessCvpat(model, { nboot: 2000, seed: 123 })!;
console.log(String(result));Function reference
| Function | Description |
|---|---|
assess_cvpat() |
CVPAT against LM and IA benchmarks |
assess_cvpat_compare() |
Compare predictive loss of two PLS models |
assess_pcm() |
Predictive Contribution of the Mediator |
assess_ipma() |
Importance-Performance Map Analysis (IPMA) |
assess_cipma() |
Combined IPMA with Necessary Condition Analysis |
assess_coa() |
Composite Overfit Analysis (full pipeline) |
predictive_deviance() |
Compute predictive deviance scores |
deviance_tree() |
Identify deviant case groups via decision tree |
unstable_params() |
Parameter instability analysis |
group_rules() |
Extract decision rules for deviant groups |
competes() |
Show competing splits at tree nodes |
assess_nca() |
Necessary Condition Analysis for PLS-SEM |
assess_nca_esse() |
NCA with Effect Size Sensitivity Extension |
assess_cta() |
Confirmatory Tetrad Analysis (CTA-PLS) |
assess_fimix() |
FIMIX-PLS latent class segmentation |
assess_fimix_compare() |
Compare FIMIX solutions across K values |
assess_pos() |
PLS-POS prediction-oriented segmentation |
assess_pos_compare() |
Compare PLS-POS solutions across K values |
pos_segments() |
Extract segment-specific re-estimated PLS models |
congruence_test() |
Bootstrapped congruence coefficient testing |
Textbook demos
seminrExtras bundles the demo files for the PLS-SEM using R workbook (Hair et al., 2026). After loading the package, list and run them with demo():
demo("seminr-pls-cvpat", package = "seminrExtras")Available demos include method walkthroughs (seminr-pls-cvpat, seminr-pls-pcm, seminr-pls-cipma, seminr-pls-coa, seminr-pls-nca, seminr-pls-fimix, seminr-pls-cta, seminr-pls-pos, seminr-pls-congruence) and per-chapter primers (seminr-primer-v2-chap2 through seminr-primer-v2-chap8).
Links
References
Becker, J.-M., Richter, N. F., Ringle, C. M., & Sarstedt, M. (2026). Must-have, or maybe not? A sensitivity-based extension to necessary condition analysis. Journal of Business Research, 206, 115920. https://doi.org/10.1016/j.jbusres.2025.115920
Danks, N. P. (2021). The piggy in the middle: The role of mediators in PLS-SEM-based prediction. ACM SIGMIS Database: The DATABASE for Advances in Information Systems, 52(SI), 24–42. https://doi.org/10.1145/3505639.3505644
Danks, N. P., Ray, S., & Shmueli, G. (2024). The composite overfit analysis framework: Assessing the out-of-sample generalizability of construct-based models using predictive deviance, deviance trees, and unstable paths. Management Science, 70(1), 647–669. https://doi.org/10.1287/mnsc.2023.4705
Dul, J. (2016). Necessary condition analysis (NCA): Logic and methodology of “necessary but not sufficient” causality. Organizational Research Methods, 19(1), 10–52. https://doi.org/10.1177/1094428115584005
Franke, G. R., Sarstedt, M., & Danks, N. P. (2021). Assessing measure congruence in nomological networks. Journal of Business Research, 130, 318–334. https://doi.org/10.1016/j.jbusres.2021.03.003
Gudergan, S. P., Ringle, C. M., Wende, S., & Will, A. (2008). Confirmatory tetrad analysis in PLS path modeling. Journal of Business Research, 61(12), 1238–1249. https://doi.org/10.1016/j.jbusres.2008.01.012
Hair, J. F., Hult, G. T. M., Ringle, C. M., Sarstedt, M., Danks, N. P., & Ray, S. (2026). Partial least squares structural equation modeling (PLS-SEM) using R: A workbook (2nd ed.). Springer.
Hauff, S., Richter, N. F., Sarstedt, M., & Ringle, C. M. (2024). Importance and performance in PLS-SEM and NCA: Introducing the combined importance-performance map analysis (cIPMA). Journal of Retailing and Consumer Services, 78, 103723. https://doi.org/10.1016/j.jretconser.2024.103723
Liengaard, B. D., Sharma, P. N., Hult, G. T. M., Jensen, M. B., Sarstedt, M., Hair, J. F., & Ringle, C. M. (2021). Prediction: Coveted, yet forsaken? Introducing a cross-validated predictive ability test in partial least squares path modeling. Decision Sciences, 52(2), 362–392. https://doi.org/10.1111/deci.12445
Ringle, C. M., & Sarstedt, M. (2016). Gain more insight from your PLS-SEM results: The importance-performance map analysis. Industrial Management & Data Systems, 116(9), 1865–1886. https://doi.org/10.1108/IMDS-10-2015-0449
Sharma, P. N., Liengaard, B. D., Hair, J. F., Sarstedt, M., & Ringle, C. M. (2023). Predictive model assessment and selection in composite-based modeling using PLS-SEM: Extensions and guidelines for using CVPAT. European Journal of Marketing, 57(6), 1662–1677. https://doi.org/10.1108/EJM-08-2020-0636