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:

seminrExtras on CRAN

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)

seminrExtras on PyPI

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 seminrExtras

Optional 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)

@seminr/extras on npm

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/extras is 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/extras

Then 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).

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