openpls.app · Engine: github.com/jojacobsen/openpls-engine
Was es ist
OpenPLS ist eine moderne Alternative zu SmartPLS für Partial Least Squares Structural Equation Modeling, eine Methode, die in BWL, Marketing und den Sozialwissenschaften breit eingesetzt wird. SmartPLS ist der Standard, aber kostenpflichtig, optisch veraltet und schwer kollaborativ nutzbar. OpenPLS denkt den Workflow rund um einen visuellen Path-Diagramm-Editor mit Live-Berechnung neu und kombiniert das mit einer offenen 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.