Zurück zu den Projekten

Studium

Bachelorarbeit: Graph Neural Networks für Kundenprofilierung

Welche Produktkategorie kauft ein Kunde als Nächstes? In meiner Bachelorarbeit habe ich Kunden und Produkte als Graphen betrachtet, der mit jedem Kauf wächst – und ein Temporal Graph Neural Network trainiert, das neue Verbindungen in diesem Graphen vorhersagt.

  • Python
  • PyTorch Geometric
  • Temporal GNN
  • Graph Attention

Vorgehen nach CRISP-DM

  1. Business Understanding: Marketing gezielter machen – passende Angebote statt Streuwerbung
  2. Data Understanding: verfügbare Daten sichten, rechtliche und ethische Rahmenbedingungen klären
  3. Data Preparation: Kaufdaten aus zwei Jahren, unvollständige Zeilen entfernt, seltene Kategorien aussortiert, neues Merkmal „Stammkundengrad“, Zeit als Unix-Zeitstempel
  4. Modeling: Temporal Graph Network mit Expander-Graph-Rewiring, Training in Google Colab
  5. Evaluation: Rangliste der vorhergesagten Kategorien, bewertet mit dem Mean Reciprocal Rank

Warum ein zeitlicher Graph?

  • Jeder Kauf ist eine Kante zwischen Kunde und Produktkategorie – mit Zeitstempel
  • Ein Temporal Graph Network (TGN) merkt sich für jeden Knoten einen Zustand („Memory“) und aktualisiert ihn mit jedem neuen Ereignis
  • Trainiert wird in Paketen (Batches) in zeitlicher Reihenfolge – das Modell sieht nie die Zukunft

Rewiring mit Expander-Graphen (TGR)

  • Typische Probleme: weit entfernte Knoten tauschen keine Informationen aus (Under-Reaching), Informationen stauen sich an wenigen Kanten (Over-Squashing), selten aktive Knoten veralten (Memory Staleness)
  • Lösung nach Petrović et al. (2024): ein zusätzlicher, künstlicher Expander-Graph mit gut verteilten Abkürzungen
  • Beide Darstellungen – echter und künstlicher Graph – werden kombiniert; so bleiben alle Knoten aktuell

Ergebnis und Ausblick

  • Mean Reciprocal Rank: Wie weit oben landet die richtige Kategorie? Das Modell war schon nach wenigen Epochen sehr treffsicher – ganz ohne Hyperparameter-Optimierung
  • Ein Prototyp: Für den Einsatz bräuchte es Infrastruktur, Skalierung und Monitoring
  • Weitere Ideen: mehr Kundenmerkmale, längere Zeiträume, Übertragung auf Cross-Selling und Neukunden

Technik

  • Python, pandas, PyTorch, PyTorch Geometric (TemporalData)
  • Temporal Graph Network, Graph Attention, Link Prediction
  • Google Colab (GPU)