openpls.app · Engine: github.com/jojacobsen/openpls-engine
Was es ist
OpenPLS ist eine Web-App für Partial Least Squares Structural Equation Modeling (PLS-SEM), eine Methode, die in BWL, Marketing und den Sozialwissenschaften breit eingesetzt wird. Im Zentrum steht ein visueller Path-Diagramm-Editor mit Live-Berechnung, dahinter eine offene Compute-Engine, die Forschende selbst auditieren und hosten können.
Zwei Komponenten
OpenPLS gibt es als gehostete Web-App und als eigenständige Open-Source-Engine, die jeder via PyPI installieren oder auf eigener Infrastruktur betreiben kann.
openpls-engine ist der Compute-Kern, eine Python-Bibliothek für PLS-SEM. Ein gepflegter Fork von plspm-python, der den ursprünglichen Algorithmus unangetastet lässt und genau die Metriken hinzufügt, die modernes PLS-SEM-Reporting verlangt: HTMT, SRMR, d_ULS, adjusted R², BIC, Stone-Geisser Q², Cronbach α, Dijkstra-Henseler ρ, Multi-Group-Analyse und ein streamendes Long-Bootstrap mit BCa-Konfidenzintervallen. Dazu kommen Advanced-Analysen jenseits des Upstreams: PLSpredict für Out-of-Sample-Validierung, IPMA, Two-Stage-Moderation, FIMIX-PLS Finite-Mixture-Segmentierung und zwei zusätzliche Inner-Weighting-Schemata (Quasi-Newton BFGS und Lohmöller PCA). Stabil seit 1.0.0, auf PyPI, mit Zenodo-DOI für die Zitation.
openpls.app ist das gehostete Produkt: Eine Nuxt-3- und Vuetify-3-Web-App mit Vue-Flow-Editor für Path-Diagramme, Projektspeicher, validierter Berechnung gegen die Engine und Exporten als PDF, XLSX, LaTeX und SmartPLS-Swap-Format.
Features
Modellierung
- Interaktiver Path-Diagramm-Editor mit Live-Berechnung
- Reflektive und formative Messmodelle (Mode A / Mode B)
- Fünf Inner-Weighting-Schemata: Centroid, Factorial, Path, BFGS, Lohmöller PCA
- Bootstrapping mit BCa-Konfidenzintervallen
- Multi-Group-Analyse und Permutationstests
- Moderation (Two-Stage), IPMA, PLSpredict, FIMIX-PLS-Segmentierung
Plattform
- Free-Tier in der Cloud, Login und Projektspeicher
- Self-Host via Docker für sensible Daten
- Validiert gegen SmartPLS-Referenzergebnisse
- Team-Modus, geteilte Projekte, Versionsvergleich (geplant)
- Mehrsprachige Landingpage (8 Sprachen, u.a. Deutsch, Englisch, Spanisch, Französisch, Italienisch, Portugiesisch, Japanisch, Chinesisch)
Architektur
- App: Nuxt 3 + Vuetify 3 + Pinia
- Landing: Astro 5 + React + Tailwind 4
- Backend: Firebase Functions (Python) + Firestore + Auth + Storage
- Engine:
openpls-engine(Python, GPL-3.0-or-later, PyPI) - Diagramm: Vue Flow
- Mail: Resend; Monitoring: Sentry
Tech-Highlights
app | Nuxt 3 (Vue, TypeScript), Vuetify 3 |
engine | Python 3.10+, pandas, numpy, scipy |
data | Firestore, Firebase Auth, Firebase Storage |
landing | Astro 5, React, Tailwind 4 |
... | u.v.m. |
Meine Rolle
Full-Stack und Produkt: Fork und Pflege der Engine (HTMT, SRMR, Advanced-Analysen, zwei neue Schemata), Validierung gegen SmartPLS, App-Architektur, Path-Diagramm-Editor, Firebase-Backend, mehrsprachige Landingpage, Open-Source-Release auf PyPI mit Zenodo-DOI.