Projekte

OpenPLS

Web
Full-Stack
Open Source

Moderne PLS-SEM-Plattform mit visuellem Path-Diagramm-Editor und Open-Source-Engine. Kostenlos in der Cloud, selbst-hostbar für sensible Daten.

Strukturgleichungsmodell mit vier latenten Variablen auf dunkelblauem Hintergrund, OpenPLS-Wortmarke in der Ecke

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

appNuxt 3 (Vue, TypeScript), Vuetify 3
enginePython 3.10+, pandas, numpy, scipy
dataFirestore, Firebase Auth, Firebase Storage
landingAstro 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.