Zurich Tram Flow

Verspätungsvorhersage im Zürcher Tramnetz
Datengetriebenes Analyse- und ML-Projekt | 2023–2025

Basic Information

Ergebnisse & Handlungsempfehlungen für Stakeholder. Fokus auf Business-Impact und konkrete Massnahmen.

94,4 M
Halt-Ereignisse 2023–2025
87 %
OTP · Ziel: 95 %
71,3 %
Haltestellen ohne Puffer
18,56 s
Vorhersage-MAE LightGBM v2
Agenda

Inhaltsübersicht

Die wichtigsten Informationen mit Fokus auf Business-Impact

1Ausgangssituation
2Exploration / EDA
3Data Preprocessing
4Analyse & Erkenntnisse
5Machine Learning
6Praxisanwendung
7Empfehlungen
8Technische Umsetzung
9Ausblick
Ausgangssituation

Strukturelle Lücke im Netz

87 % OTP seit drei Jahren — dauerhaft unter dem VBZ-Ziel von 95 %

87 %
OTP 2023–2025 (netzweit)
Ist-Zustand 2023–2025: 87 % netzweit. Konstant unter dem VBZ-Zielwert, über alle drei Betriebsjahre ohne erkennbaren Aufwärtstrend.
95 %
VBZ-Ziel bis 2028
VBZ-Zielwert: 95 % OTP (On-Time Performance, Ankunft ≤ 2 Minuten Verspätung)
−8 %
Strukturelle Lücke
Der Rückstand ist systemisch, nicht episodisch — er taucht in jedem Jahr, auf jeder Linie auf.
56,3 s
Ø Ankunfts- verspätung
Jede achte Tramfahrt überschreitet den 2-Minuten-Schwellwert. Stabil über alle drei Betriebsjahre.
Ausgangssituation

Vorgehen in zwei Schritten

Von der Ursachenanalyse zur Vorhersage

Analyse

Identifikation der Entstehungsmuster und Einflussfaktoren. Analyse in 6 Dimensionen: Temporal · Räumlich · Netzwerk · Meteorologie · Events · Zieldefinition.

Vorhersage

Machine-Learning Modelling für die Verspätungsvorhersage. Folgen sie Mustern, die ein Modell lernen kann? — LightGBM, MAE 18,56 s (arrival_delay in Sekunden), −63 % vs. Baseline.

Ausgangssituation

Alle Linien nicht im Soll

Keine einzige Linie erreicht dauerhaft das Ziel
Die Lücke zieht sich durch das gesamte Netz

OTP nach Tramlinien
OTP nach Tramlinien, 2023–2025. Alle 16 Linien liegen unter dem 95 %-Ziel.
Ausgangssituation

Kein Aufwärtstrend erkennbar

OTP schwankt saisonal, aber der Mittelwert bewegt sich seit 2023 nicht

OTP Jahresverlauf
OTP-Jahresverlauf netzweit. Die Lücke zum VBZ-Ziel ist konstant und zeigt keinen Aufwärtstrend.
Exploration / EDA

Widerlegte Annahmen

Drei initiale Annahmen wurden mit Befunden aus den Daten klar widerlegt

Annahme: Stadtzentrum
Die Innenstadt ist der Verspätungs-Hotspot
Befund: Stadtzentrum
Central (48,3 s) und Paradeplatz (48,2 s) liegen unter dem Netzschnitt. Hotspots: Enzenbühl 93,8 s, Balgrist 85,2 s — periphere Aussenkorridore
Annahme: Berufsverkehr
Der Morgenrush ist das grösste Zeitproblem
Befund: Berufsverkehr
7h liegt mit 48,9 s unter Netzschnitt. Echter Peak: 21h (67,9 s) durch Abreisewellen nach Veranstaltungen. Donnerstag ist der schlechteste Wochentag
Annahme: Wettereinfluss
Schlechtes Wetter ist die Hauptursache
Befund: Wettereinfluss
Schnee ist ein Verstärker (+54 s), Regen +23,3 s. Geografisch trennbar: Schnee trifft Höhenlagen (K10/K12), Regen Flusstäler (K5). Grundrauschen bleibt wetterunabhängig
Exploration / EDA

Innenstadt ist pünktlicher

Räumlich: Verspätungs-Hotspots liegen an der Peripherie, nicht im Stadtzentrum

Ø Ankunftsverspätung pro Haltestelle. Hotspots ausschliesslich in peripheren Stadtkreisen 7, 11, 12.

Verspätungshotspots nach Haltestelle
Exploration / EDA

Peak am Abend

Temporal: Um 21 Uhr entstehen die höchsten Verspätungen — nicht im Morgenrush
Der Peak um 2 Uhr ist ein Artefakt des Nachtbetriebs — bei minimaler Fahrtenzahl wirkt jede einzelne Verspätung überproportional gross

Delay nach Tageszeit
Ø Delay nach Tageszeit (0–23h). Peak 21h, nicht 7h. Abend-Effekt durch Veranstaltungs-Abreisewellen.
Data Preprocessing

Master-Datensatz und GTFS-Fahrplandaten

Data Refinement als Fundament mit initialen Master-Datensatz und GTFS Fahrplandaten

VBZ IST-Daten (Primärquelle)
  • Reale Ankunfts- und Abfahrtszeiten aller Tramhalte 2023–2025
  • Granularität: Fahrt × Haltestelle × Timestamp
  • Enthält canceled = True Fahrten — bewusst behalten (relevante Extremfälle)
GTFS (Fahrplandaten)
  • Geplante Ankunfts-/Abfahrtszeiten, dwell_time, stop_sequence
  • Liniengeometrien und Haltestellen-Koordinaten (lat/lon)
  • Join-Key: trip_id × stop_id × service_date

Master-Datensatz

Der Master-Datensatz entsteht in zh-tram-data aus den VBZ IST-Daten, angereichert um GTFS, Meteo Schweiz und Event-Kalender — 94,4 Mio. Zeilen, 26 Features. Er liefert die Basis für alle Analysen in diesem Projekt.

GTFS (Fahrplandaten)

Für Karten, Geo-Visualisierungen und Tramlinien-Darstellungen wurde GTFS zusätzlich gesondert geladen — der Master-Datensatz allein liefert keine Liniengeometrien und Streckenverläufe.

Data Preprocessing

Kontextquellen der Dimensionen

Für jede Analysedimension wurden die Datenquellen im Vorfeld im Master-Datensatz schon kontextuell angereichert

Meteo Schweiz
  • Stündliche Messwerte: Temperatur, Niederschlag, Windgeschwindigkeit
  • Join über Zeitstempel (hour-level) auf IST-Daten
  • Abgeleitete Flags: has_rain, has_snow, has_heavy_rain, is_hot
Event-Kalender
  • Grossveranstaltungen Zürich 2023–2025: Konzerte, Messen, Sport
  • Kategorisierung: event_type, event_size, event_weight
  • Ergebnis: 94,4 Mio. Zeilen · 26 Features · 541 MB Parquet
Network
  • Linientopologie: 16 Linien, ca. 190 Haltestellen
  • Kontext-Features: n_lines_at_stop, n_stops_line
  • Basis für linienübergreifendes Lernen (stop_sequence_pct)
Target
  • arrival_delay in Sekunden, aus IST- vs. Soll-Zeit berechnet
  • OTP-Schwellwert: Ankunft ≤ 2 Minuten Verspätung
  • canceled = True bewusst als Extremfall im Target erhalten
Analyse & Erkenntnisse

Kaskade der Verspätungen

Ohne Puffer im Fahrplan überträgt sich jede Verspätung auf die Folgefahrten — in Zahlen

71,5 %
Halte akkumulieren Delay
L11
68,7 s · OTP 82 % — stärkste Akkumulation
71,3 %
Haltestellen ohne Standzeit (0 s)
r ≥ 0,85
Kaskadenkorrelation alle 16 Linien

Was an einem Halt beginnt, endet nicht dort:

Ohne Standzeit-Puffer überträgt sich jede Verspätung strukturell auf die Folgefahrt — messbar auf allen 16 Linien, am stärksten auf L11.

Analyse & Erkenntnisse

Aufbau der Kaskade

Vier Schritte, vom ersten Anzeichen bis zum netzweiten Beweis

1

Anomalie

Hotspots an Endstationen, nicht an zentralen Knotenpunkten. Null Überschneidung mit den dichtest bedienten Haltestellen.

2

Gradient

Der Delay wächst entlang der Strecke. L11: Verspätung am Streckenende doppelt so hoch wie am Anfang.

3

Mechanismus

71,3 % aller Haltestellen haben 0 Sekunden eingeplante Standzeit. Kein Puffer, keine Erholung möglich.

4

Kaskade

Pearson r ≥ 0,85 zwischen aufeinanderfolgenden Halts auf allen 16 Linien. Systematisch, kein Einzelfall.

Analyse & Erkenntnisse

Fahrplan-Design-Thema

Die Verspätungen sind durch die Fahrplangestaltung strukturell angelegt

Das ist kein Betriebsversagen.

Es ist ein Fahrplan-Design-Thema.
Was im Fahrplan nicht vorgesehen ist, kann im Betrieb nicht ausgeglichen werden.
Analyse & Erkenntnisse

Einfluss externer Faktoren

Wetter und Grossevents wirken, das Grundproblem bleibt strukturell

Wetter & Events

Zwei externe Einflussfaktoren sind messbar und erheblich: Schnee (+54 s) und Grossevents (bis +66 s bei Fachmessen). Doch das Grundniveau der Verspätung bleibt auch bei optimalen Bedingungen konstant hoch. Externe Faktoren verstärken, was intern bereits strukturell angelegt ist.

Betriebsbedingte Faktoren

Trotz Bauphasen, Streckensperrungen und Fahrplanumstellungen hält die VBZ das System bemerkenswert stabil. Die Verspätungslevel schwanken durch diese Eingriffe kaum. Die Ursache liegt nicht in externen Störungen, sondern im Fahrplan-Design selbst.

Machine Learning

Dynamische Modelle statt starrer Regeln

Herkömmliche Systeme scheitern an nichtlinearen Daten

Die Struktur der Daten ist nicht linear.

Linie × Haltestelle × Tageszeit × Wetter × Event interagieren auf eine Weise, die kein handcodiertes Modell erfassen kann — und prev_trip_delay liefert ein Echtzeit-Signal für einen Feedback-Loop im Modell.

Machine Learning

Drei Iterationen der Modellierung

Von der Baseline über Feature Engineering zum finalen Ensemble-Modell

AnsatzFeaturesMAE (Test)Verbesserung
Baseline (Stop Mean)50,0 sAusgangspunkt
LightGBM v1 — Zeit · Wetter · Netz-Features · kein Live-Signal · MBE +8,3 s3245,7 s−4,3 s
LightGBM v2 — +prev_trip_delay · +stop_sequence_pct · Isotonic-Kalibrierung · MBE −0,69 s3418,56 s−31,4 s (−63 %)

Feature Engineering schlägt Hyperparameter-Tuning.

Der Sprung von v1 auf v2 kam nicht durch einen besseren Algorithmus. Das richtige Signal aus der Analyse wurde mit dem Kaskadenindikator (prev_trip_delay) sichtbar gemacht.

Machine Learning

18,56 Sekunden MAE

Mittlerer Vorhersagefehler auf einem vollständigen, ungesehenen Testjahr — 63 % unter der Baseline

41 Mio.
Trainings-Fahrten 2023 bis Mitte 2024
~29 Mio.
Test-Fahrten, vollständiges Jahr 2025
−63 %
Verbesserung vs. Baseline (Stop Mean)

Kalibrierter Bias

−0,69 Sekunden Mean Bias Error nach Isotonic-Regression-Kalibrierung — das Modell ist nahezu verzerrungsfrei. Trainiert auf Consumer-Hardware in ca. 18 Minuten, reproduzierbar ohne Spezial-Infrastruktur.

Praxisanwendung

Konkreter Nutzen in der Praxis

Konkrete Vorhersagen für reale Betriebssituationen zeigen die operative Relevanz

Das Modell kombiniert Tageszeit, Linie, Haltestelle, Wetterlage und den Verspätungsstatus des Vorgänger-Trips zu einer konkreten Sekundenvorhersage. So lassen sich kritische Situationen identifizieren, bevor die Kaskade einsetzt.
74 s
Prognose
Donnerstag · 21h · Linie 11 · Schnee
Frühwarnung aktiv, bevor die Kaskade einsetzt
48 s
Prognose
Dienstag · 17h · Paradeplatz · leichter Regen
Verspätung im Akzeptanzbereich
22 s
Prognose
Sonntag · 10h · Linie 6 · trocken
Normalbetrieb, kein Handlungsbedarf
Empfehlungen

Konkrete Handlungsempfehlungen

Jede Empfehlung ist direkt durch einen Befund aus der Analyse gedeckt

R1 · Fahrplan-Design
Standzeit-Puffer L11 an Koppelstellen
  • dwell_time = 0 s an 71,3 % aller Haltestellen ist das Root-Cause-Feature
  • +10 s Puffer an 3–5 kritischen Koppelstellen unterbricht den Kaskadeneffekt
R2 · Real-Time Dispatch
prev_trip_delay als Echtzeit-Signal im Dispatching
  • prev_trip_delay ist das stärkste Feature — und in Echtzeit aus VBZ-System verfügbar
  • MAE 18,56 s auf Test 2025: Produktionsreife bereits nachgewiesen
R3 · Kapazitätsplanung
Taktanpassung 20–22h auf L11 und L8
  • Peak 21h: 67,9 s — nicht der Morgen (7h: 48,9 s unter Netzschnitt)
  • Spitzenlastmomente sind kalendarisch planbar
R4 · Monitoring
Stadtkreise 11 und 12 als strukturelle Prioritätszonen
  • Kreis 11: OTP 83 %, Ø 68,3 s — strukturell benachteiligt, nicht situativ
  • district_nr gehört zu den Top-Features im Modell
Technische Umsetzung

Datenbasis & TechStack

Umfang der Datenbasis und eingesetzte Technologie

Datenbasis und Umfang
  • VBZ IST-Daten · GTFS · Meteo Schweiz · Event-Kalender
  • 94,4 Mio. Zeilen · 26 Features · 541 MB Parquet
  • 3 vollständige Betriebsjahre · 16 Linien · ca. 190 Haltestellen
  • 66 dokumentierte Befunde in 12 Jupyter-Notebooks
Technologie-Stack
  • Python · Polars (85 Mio. Zeilen, lazy evaluation) · Jupyter · uv
  • LightGBM (Modellierung) · Plotly (Visualisierung) · Streamlit (Dashboard)
  • Trainingszeit LightGBM v2: ca. 18 Minuten auf Consumer-Hardware
Technische Umsetzung

AI Workflow & Pipeline

Open Data, AI-Workflow, vollständig reproduzierbar

AI-Workflow als Differenziator
  • Claude Code für iterative Analyse, Code-Refactoring, Dokumentation
  • Promptbasiertes Scaffolding: von der Idee zur Notebook-Struktur in Minuten
  • Menschliche Entscheidungsverantwortung bleibt bei allen Finding-Interpretationen
Reproduzierbarkeit
  • Vollständiger Code auf GitHub, alle Datenquellen öffentlich
  • Data Engineering vollständig reproduzierbar via Polars-Pipeline
  • Alle Befunde rückverfolgbar auf Finding-IDs in den Notebooks
Ausblick

Was noch zu erforschen ist

Dashboard-Exploration offenbarte 7 systematische Forschungsmöglichkeiten

Warum sind Fahrtrichtungen asymmetrisch?
Welche Linien dämpfen Delays, welche verstärken sie?

Beim interaktiven Erkunden der 16 Linien entstehen neue Fragen. Diese Ad-hoc-Entdeckungen sind Signale für strukturelle Potenziale und wurden bereits in 7 Opportunities formuliert.

3 von 7 der Opportunities

OP-1
  • Direction-Asymmetrie (~10 s Delta zwischen Richtung A/B)
OP-2
  • Stop-Variabilität (Puffer-Stops vs. zeitkritische Stops)
OP-7
  • Kaskaden-Verstärker vs. -Dämpfer pro Linie

Zurich Tram Flow

Verspätungsvorhersage im Zürcher Tramnetz
Datengetriebenes Analyse- und ML-Projekt | 2023–2025

Was vorhersagbar ist, ist steuerbar.

Dieses Projekt zeigt: Datenanalyse ist kein akademisches Artefakt, sondern das Fundament für operative Entscheidungen. Das interaktive Dashboard macht diese Erkenntnisse direkt steuerbar — Szenarien lassen sich simulieren, um Entscheidungen fundiert zu begründen.

Linien erkunden · Linien vergleichen · Verspätungen vorhersagen