Pierre Laub endurance × creativity

Zeitraum-Vergleich: Wie gut war deine Marathon-Vorbereitung wirklich?

Von der Einheit zum großen Bild

Im letzten Update ging es um Ghost-Tracking – den Vergleich einzelner Sessions. Das ist mächtig für Detailanalyse: „Warum war ich bei Kilometer 8 heute langsamer als letzte Woche?”

Aber eine Frage blieb offen:
War mein gesamter Trainingsblock besser als der letzte?

Wer sich auf einen Marathon vorbereitet, trainiert über Wochen und Monate. Einzelne Läufe zu vergleichen greift zu kurz. Man braucht den Blick auf den gesamten Zeitraum – und genau das kann das Dashboard jetzt.


Das neue Feature: Zeitraum-Vergleich

Unter /dashboard/compare gibt es jetzt eine eigene Seite, auf der man 2 bis 6 beliebige Zeiträume nebeneinanderstellen kann.

So funktioniert’s:

  1. Zeiträume definieren – Start- und Enddatum pro Period wählen.
  2. Daten laden – Ein Klick und die API liefert alle Sessions im Zeitraum.
  3. Vergleichen – Sofort sieht man die Unterschiede als Balkendiagramm und in einer Vergleichstabelle.

Jeder Zeitraum bekommt eine Farbe und einen frei editierbaren Namen. Statt „Period A” steht da dann „Marathon Berlin 2024” oder „Aufbau nach Verletzung”.


Anwendungsbeispiel: Zwei Marathon-Vorbereitungen

Konkret sieht das so aus: Ich vergleiche meine Marathon-Vorbereitung 2024 (August bis Oktober) mit der Vorbereitung 2023 (Mai bis Oktober).

Auf einen Blick sehe ich:

  • Einheiten: War ich 2024 konstanter im Training?
  • Gesamt-Distanz: Mehr Kilometer in der Vorbereitung = bessere Grundlage?
  • Durchschnittspuls: War ich 2024 bei gleicher Belastung effizienter?
  • Höhenmeter: Wie viel Profil-Training steckte drin?
  • Gesamt-Kalorien: Wie hoch war der Energie-Umsatz im Vergleich?

Der Balkendiagramm-Vergleich macht Unterschiede sofort visuell greifbar. Die Vergleichstabelle liefert dazu die exakten Zahlen.


Technisch: Ein API-Call statt Seiten-Schleife

Wer meine API kennt: Der neue all-Parameter macht den Unterschied.

Bisher musste das Frontend Sessions seitenweise (10 pro Seite) laden und zusammenbauen. Bei einer 6-monatigen Vorbereitung mit 80+ Sessions = 8+ API-Calls pro Zeitraum. 🐌

Mit dem neuen all-Parameter reicht ein einziger Request:

GET /api/sessions?start_date=2024-08-01&end_date=2024-10-27&all=true

Die Aggregation (Summe Distanz, Durchschnitt Puls, etc.) passiert client-seitig im usePeriodComparison-Composable.


Weitere Use Cases

Der Zeitraum-Vergleich ist nicht auf Marathon beschränkt:

  • Saison vs. Saison: Radsaison 2024 vs. 2025 – bin ich stärker geworden?
  • Vor/nach Verletzung: 3 Monate vor dem Ausfall vs. 3 Monate Comeback.
  • Trainingsblöcke: Grundlagen-Phase vs. Spezifisches Training vs. Tapering.
  • Jahresvergleich: Ganzes Jahr 2024 vs. 2025 – der große Überblick.

Nächste Schritte

Das Feature ist bewusst schlank gestartet. Ideen für die Zukunft:

  • Sport-Filter pro Zeitraum – Nur Lauf-Sessions in der Marathon-Vorbereitung.
  • Wochen-Durchschnitte – „Ø Kilometer pro Woche” als Metrik.

Fazit

Mit dem Ghost-Tracking analysiere ich einzelne Einheiten. Mit dem Zeitraum-Vergleich bewerte ich ganze Trainingsblöcke. Zusammen ergibt das ein Tool, das vom Logbuch zum echten Trainings-Analysewerkzeug gewachsen ist.

Und wie immer gilt: Das Fundament (BigQuery + Python ETL + Python API) macht es möglich. Wenn die Daten sauber sind, sind dem Frontend keine Grenzen gesetzt.