In einem Satz.
Ich mache Daten vertrauenswürdig, dann mache ich sie vorhersagefähig. Diese Dissertation ist der Beleg.
Das Problem.
Standardmäßige ELT-Werkzeuge und klassisches ETL setzen stabile Schemata und gut funktionierende APIs voraus. In einer realen B2B-SaaS-Umgebung trifft das nicht zu: Schema-Drift, leere Primary-Keys, HTTP-429-Ratelimits, Mid-Pagination-500s, verspätete SFTP-Dateien. Gleichzeitig dominiert in der Churn-Forschung B2C-Telekommunikation. B2B-SaaS (weniger Accounts, höherer Umsatz pro Account, mehrstufige Kündigungspfade) wird kaum erforscht. Beide Lücken habe ich in einem einzigen Live-Deployment in vollständiger Eigenverantwortung adressiert.
Was ich gebaut habe.
1. JSONB-first ELT-Pipeline (eigenentwickelt).
Ingestion (Python 3.11). Eigenentwickelte Extraktoren pro Vendor, jeder mit eigener Auth, Paginierung und Fehlerbehandlung. Per-Account-Isolation, sodass ein Mid-Pagination-500 in einem Account keine Kaskade auslöst. Multi-Stage-Backoff mit Retry-After-Beachtung. Deterministische _ingestion_id via SHA-256-Content-Hashing für leere Primary-Keys. SFTP-File-Level-Cursors mit Lookback für verspätete Dateien. 82 pytest-Tests über Cursor-Persistenz, Hashing und Retry-Logik.
Orchestrierung. Dagster Software-Defined Assets, sodass ein Vendor-Fehler nicht zu den anderen kaskadiert. Geplante tägliche Ingestion, nachgelagerte dbt-Transformation und wöchentliches ML-Scoring.
Raw-Layer. Append-only PostgreSQL 16 mit JSONB-Spalten und GIN-Indizes. 19 Tabellen, über 1 Million ingestierte Datensätze, volle Quelltreue, deterministisches Replay. GIN-indizierte Lookups auf der größten Tabelle unter 200 ms.
Transformation. dbt Core 1.9, 48 Modelle über Staging (20 Views), Intermediate (7 Tabellen inklusive MDM-artigem Cross-Source-Account-Spine, rekursiver Kundenhierarchie und Gaps-and-Islands-Engagement-Streaks), Star-Schema-Marts (5) und ML-Feature-Layer (3). Automatisierte Tests fingen 14 Datenqualitätsprobleme ab, einschließlich UUID-Casing-Konflikten, die bis zu 100 % der Cross-Source-Matches betroffen hätten.
2. Drei-Modell-Churn-Intelligence-Stack.
Jedes Modell beantwortet eine andere operative Frage:
- Survival-Modell:
GradientBoostingSurvivalAnalysis(scikit-survival). Wann wird ein Account abwandern? Kreuzvalidierter C-Index 0,9449. - Health-Score: XGBoost via PostgresML (in-Database-Training). Wie wahrscheinlich ist Churn? Kreuzvalidierter AUC 0,950 gegenüber 0,888 Logistic-Baseline. SHAP-Attributionen pro Vorhersage.
- Causal-Modell: DR-Learner (econml). Würde CSM-Outreach diesem Account tatsächlich helfen? Die naive Korrelation zwischen CSM-Zuweisung und Retention war durch reaktive Zuweisungs-Selektionsbias erheblich überschätzt, da CSMs Accounts zugewiesen wurden, die bereits in Schwierigkeiten waren. Die DR-Learner-Korrektur legte den ehrlichen Behandlungseffekt offen, deutlich kleiner als die naive Schätzung, aber belastbar positiv.
Mit strikter prospektiver Kohorte (84-Tage-Beobachtungsfenster gefolgt von 90-Tage-Outcome-Fenster) zur Leakage-Vermeidung. 29 Features in 8 thematischen Gruppen.
3. Serving und Agentic-Schnittstelle.
FastAPI-Service mit JWT-Auth und PostgreSQL Row-Level Security für CSM-spezifisches Scoping.
Angular 21-Dashboard mit SHAP-Erklärungen für das Customer-Success-Team.
Model-Context-Protocol-(MCP)-Endpoint, sodass ein LLM-Agent Account-Risiko, Treiber und Interventionsempfehlungen direkt abfragen kann. Das ist der Differenzierungsfaktor: agentische Workflows über der Customer-Intelligence-Schicht.
4. Priorisierungs-Framework.
Zeitliche Dringlichkeit (Survival), Risikoklassifikation (Health-Score) und Interventions-Responsiveness (CATE aus dem Causal-Modell) in eine Tier-Rangfolge kombiniert. Ergebnis: eine belastbare, erklärbare Priorisierungsliste für CSM-Aktionen, jede Empfehlung rückführbar auf das zugrunde liegende Modell-Evidence.
Architektonische Entscheidungen.
JSONB-first Raw-Layer. Schema-Drift in Vendor-APIs ist Realität. Rohpayloads als JSONB mit GIN-Indizes ermöglichen jederzeit Replay, vollständigen Audit zurück zur Quelle und Schema-Anpassungen ohne Pipeline-Rebuild.
Drei Modelle, drei Fragen. Survival, Klassifikation und Causal Inference beantworten jeweils etwas anderes. Die meisten "Churn-Modelle" liefern nur Klassifikation und behandeln sie, als beantworte sie alle drei.
Ehrliche kausale Korrektur statt naiver Korrelation. Die meisten Churn-Interventionssysteme berichten die rohe Korrelation zwischen Treatment und Outcome und behandeln sie wie einen Treatment-Effekt. Das verwechselt Korrelation mit Kausalität bei vorliegendem Selektionsbias. Die DR-Learner-Korrektur legt die ehrliche Zahl offen, deutlich positiv, aber wesentlich kleiner als die naive Schätzung. Enterprise-Risikomodellierungs-Teams prüfen genau darauf.
MCP als nächste Schnittstellengeneration. Dashboards informieren, Agenten handeln. Die Customer-Intelligence-Schicht über MCP zugänglich zu machen, eröffnet agentische Arbeitsabläufe für CSMs. In Produktion ist dieses Muster heute selten umgesetzt. Das ist die Arbeit, die ich im industriellen Maßstab weitertragen will.
Bemerkenswerte Ergebnisse.
- Über 1 Million Datensätze aus mehreren Vendor-APIs ingestiert, ohne stillen Verlust
- 48 dbt-Modelle, 14 Datenqualitätsprobleme abgefangen und vor Produktion gelöst
- C-Index 0,9449 (Survival), AUC 0,950 (Health-Score), messbare kausale Korrektur, die reaktive Zuweisungs-Selektionsbias offenlegt
- Cursor-sichere Neustarts: vollständiger Vendor-Lauf mid-flight in unter 5 Minuten wiederaufnehmbar
- DSGVO-konforme Pseudonymisierung unter NDA durchgängig
Was diese Dissertation belegt.
End-to-End-Verantwortung: API-Extraktoren, Warehouse-Modellierung, Multi-Modell-ML, Causal Inference, REST- und MCP-Serving und ein Analytics-Dashboard, alles von mir entworfen, gebaut und getestet, in der akademischen Betreuung verteidigt und gegen eine reale Produktionsumgebung deployt. Konzipiert für tatsächliche API-Fehlerszenarien, nicht für idealisierte. Produktionsorientiert: Tests, RLS, JWT, deterministische IDs, Append-only-Audit-Trail, DSGVO-konforme Pseudonymisierung unter NDA.
Stack.
Python 3.11 · PostgreSQL 16 (JSONB + GIN) · Dagster · dbt Core 1.9 · PostgresML · XGBoost · scikit-survival · econml (DR-Learner) · SHAP · FastAPI · Angular 21 · Model Context Protocol (MCP) · pytest
Repository: privat (akademisches NDA)