Boulderwelt Traffic-Monitor

Mit dem Boulderwelt-Traffic-Monitor kann man den Besucherverauf der Vergangenheit sehen und Voraussagen für die Zukunft machen.

Boulderwelt-Traffic-Monitor öffnen

In 4 Stunden zum ersten Ergebnis

Die erste Version dieses Projekts entstand am 09.06.2020 und war nach ca. vier Stunden fertig.

Am 09.06.2020 öffneten die Boulderwelten wieder ihre Tore, nachdem sie monatelang aufgrund der COVID-19-Beschränkungen geschlossen hatten. An diesem Tag aktualisierten sie auch die Besucher-Ampel auf den Webseiten ihrer Filialen in Deutschland. Dieser Ampeln zeigen an, wie voll eine Boulderwelt gerade ist und wo das Corona-Maximum liegt.

Screenshot der Besucher-Ampel der Webseite der Boulderwelt München Ost

Doch nur diesen aktuellen Stand sehen zu können war mir zu wenig. Ich wollte wissen, wie voll meine Boulderwelt in der Regel zu der Zeit ist, zu der ich mit meinen Freunden dort hingehe. Dafür muss ich jedoch die Daten der Vergangenheit kennen. Also einmal kräftig in die Tasten gehauen und nach ca. vier Stunden stand folgende Version:

Die Basisfunktionalitäten waren vorhanden und das Tool konnte beginnen, Daten zu sammeln, während ich mich darum kümmerte, die Oberfläche schöner zu machen. Das Minimal Viable Product für die erste Version war kurz gesagt:

  1. Hole regelmäßig die Daten von einer Boulderwelt-Webseite.
  2. Speichere diese Daten in eine Datenbank
  3. Zeichne ein Diagramm, das alle Daten aus der Datenbank darstellt.
Screenshot der esten Version des Boulderwelt-Traffic-Monitor
Ein Screenshot der Version 1 des Boulderwelt-Traffic-Monitors

Als Version 1 ein paar Tage stabil lief, startete ich mit Version 2 und expandierte vor allem:

  1. Hole regelmäßig die Besucherdaten von allen Boulderwelt-Webseiten
  2. Speichere diese nun deutlich größeren Datenmengen performant ab.
  3. Stelle eine Standort-Auswahl auf der Webseite zur Verfügung.
Screenshot der zweiten Version des Boulderwelt-Traffic-Monitor
Ein Screenshot der Version 2 des Boulderwelt-Traffic-Monitors

Dadurch dass ich jetzt die Daten aller Boulderwelt-Standorte abspeicherte, wurde natürlich auch die Datenmenge deutlich größer, die jeden Tag erfasst wurde. Zusätzlich wurde die Datenbank mit jedem Tag immer größer und größer. Bald waren es also zu viele Daten, um sie alle im Graphen darzustellen. (Das sehen Sie auch bereits am Screenshot oben.)
Also wurde es Zeit für Version 3:

  1. Beschränke die Menge der abrufbaren Daten auf maximal 1 Woche.
  2. Füge eine Zeit-Auswahl in auf der Webseite hinzu.
Screenshot der dritten Version des Boulderwelt-Traffic-Monitor
Ein Screenshot der Version 3 des Boulderwelt-Traffic-Monitors

Dieses Projekt ist ein sehr einfaches und anschauliches Beispiel für agile Software-Entwicklung:

  1. In die Vogelperspektive aufsteigen: Was brauche ich wirklich? Was brauche ich jetzt? Ziel anvisieren.
  2. Sturzflug / Sprint: Fokussiert im Sprint-Sturzflug das anvisierte Ziel erreichen.
  3. Wieder aufsteigen, durchatmen, neu sortieren, neu priorisieren und dann: Neues Ziel auswählen.
Mehr über Digital-Sprints erfahren

Update 31.07.2020: Schlechtes Wetter

Nach einigen Wochen des sauberen Dahinschnurrens des Boulderwelt-Traffic-Monitors hatte ich am 23.07. spontan Lust, zusätzlich zu den Daten der Boulderwelten auch noch die lokalen Wetterdaten abzuspeichern. Meine steile These: "Vielleicht kann man über den Wetterbericht ja voraussagen, wie voll es sein wird."
Also: Eingebaut, getestet und hochgeladen. Nachdem der Prozess zwei Tage auch auf dem Live-System stabil lief, vergaß ich den Boulderwelt-Monitor auch wieder ein bisschen - bis zum 31.07.2020. Und da kam dann das ziemlich bescheidene Erwachen. Offenbar hatte die neu angebundene Wetter-Schnittstelle angefangen, irgendwelche Fehler zu werfen:
HTTP error 429 von Wetter-Schnittstelle Und weil ich meinen Code auf diese Fehler leider nicht ausreichend vorbereitet hatte, fiel der gesamte Crawling-Prozess aus:

Screenshot des Boulderwelt-Traffic-Monitors am 31.07.2020 - Keine Daten mehr
Screenshot des Boulderwelt-Traffic-Monitors am 31.07.2020 - Keine Daten mehr

Eigentlich lernt man diese Lektion als Programmierer schon sehr früh: Man muss seinen Code auf unvorhergesehene Fehler vorbereiten - vor allem wenn man mit dritten Systemen arbeitet, die vielleicht unvorhergesehene Dinge machen. Bei diesem Hobby-Projekt bin ich dahingehend nachlässig geworden ich bekam direkt die Quittung dafür! :)
Also baute ich schnell eine Routine ein, die den Boulderwelt-Traffic-Monitor beim Sammeln seiner Daten deutlich resistenter gegen unerwartete Fehler macht. Außerdem warnt mich das System jetzt automatisch, sobald eben diese Ausnahmefehler auftreten, damit ich für die Zukunft ausschließen kann, dass nochmal mehrere Tage lang keine Daten gesammelt werden und ich es nicht mitbekomme.
Happy End:

Screenshot des Boulderwelt-Traffic-Monitors am 31.07.2020 - Nach der Reparatur
Screenshot des Boulderwelt-Traffic-Monitors am 31.07.2020 - Nach der Reparatur

Update 11.08.2020: Wettergötter-Update

Nachdem der Boulderwelt-Traffic-Monitor mittlerweile ein paar Wochen Wetterdaten gesammelt hatte, konnte ich jetzt endlich dazu übergehen, meine steile These zu überprüfen: Bouldern die Leute tatsächlich mehr bei schlechtem Wetter?
Und die Antwort ist ganz klar: Ja!

Screenshot des Boulderwelt-Traffic-Monitors vom 11.08.2020
Screenshot des Boulderwelt-Traffic-Monitors vom 11.08.2020

Man sieht wunderbar, wie wenig am ersten Tag los war. Bei 33°C im Schatten will einfach fast niemand bouldern - verständlich.
Interessant ist, wie stark die folgenden drei Tage sind, die stark verregnet waren.
Sehr interessant ist außerdem der allabendliche Spitzen-Besucherstand, der bis zu einem gewissen Grad auch besserem Wetter standhält. Das sind vermutlich die Feierabend-Sportler, für die Bouldern zu ihrer Abendroutine gehört, die sie nur dann zu durchbrechen scheinen, wenn einfach zu gutes Biergarten-Wetter ist.

Vermutlich könnte man noch deutlich mehr aus diesen Daten lesen. Beispielsweise könnte man sich die Trägheit bestimmter Werte und Korrelationen ansehen, aber für den Moment belasse ich es dabei und freue mir darüber, wie gut das hier alles funktioniert! :)

Boulderwelt-Traffic-Monitor öffnen
Los geht's!

Fragen kostet nichts

Alles beginnt mit einer ersten Nachricht, einem ersten Treffen und gemeinsam entstehen tolle Erfolgsgeschichten daraus.

Ich schreibe dir jetzt einfach mal