2,58 Millionen Rennergebnisse als Statistik nach Altersklassen

Triathleten stellen eine einfache Frage: Mit welcher Zielzeit wäre ich bei diesem Rennen unter den besten 20, 10, 5 oder 1 Prozent meiner Altersklasse? Für die Antwort braucht man Millionen von Ergebnissen und etwas Sorgfalt bei den Perzentilen.

Zuerst klären, was man verwenden darf

Die naheliegenden Datenquellen waren die Ergebnisseiten des Veranstalters. Wir haben zuerst die Nutzungsbedingungen gelesen. Sie verbieten das automatisierte Sammeln und das Speichern der Ergebnisse in einer Datenbank, also haben wir es nicht getan. Stattdessen haben wir einen offenen Forschungsdatensatz unter CC-BY-4.0-Lizenz gefunden: rund 2,7 Millionen anonymisierte Ergebnisse von 2002 bis 2026. Keine Namen von Athleten, und das Produkt brauchte auch keine.

Dieser Schritt kostet einen Tag und erspart einen Anwaltsbrief. Wir machen ihn bei jedem Datenprojekt.

Was wir gemacht haben

Den gesamten Datensatz in einem Durchgang geladen. 2,58 Millionen Ergebnisse aus 250 Rennen und rund 1.500 Austragungen, per Bulk-Load mit PostgreSQL COPY eingespielt und in SQL gerankt. Der komplette Ladevorgang dauert etwa 25 Minuten und lässt sich jederzeit von Grund auf wiederholen.

Die unsauberen Stellen bereinigt. Dasselbe Rennen taucht über die Jahre unter verschiedenen Namen auf, manche Veranstaltungen verteilen Männer- und Frauenrennen auf verschiedene Tage, und die Distanzen variieren. Ein kleines Regelwerk bildet all das auf eine konsistente Liste von Rennen und Serien ab, dokumentiert direkt neben dem Code.

Die Kennzahl präzise definiert. Eine “Top-10-%-Zeit” ist die Zielzeit des Athleten auf Position ceil(n x 0,10) unter den Finishern dieser Altersklasse. Das ist einmal schriftlich festgelegt, damit jede Seite dasselbe meint.

Schnell gemacht. Perzentile live über eine ganze Rennserie zu berechnen dauerte 25 Sekunden. Die Schwellenwerte werden jetzt nach jedem Datenimport vorberechnet, die Seiten laden sofort.

Was das zeigt

Datenbeschaffung mit geprüfter Lizenz, eine reproduzierbare Pipeline, eine Kennzahl, die einmal definiert und überall gleich verwendet wird, und die Performance-Arbeit, die das Ganze benutzbar macht.

Sagen Sie uns, was nicht funktioniert.

Ein paar Sätze reichen. Wir antworten innerhalb eines Werktags, und das erste Gespräch ist kostenlos.