blog title img

World Snowboard Points List (WSPL)

Published: Jan 25, 2024

Since the end of season 2022/23 we (Wyldata) have the pleasure to host the World Snowboard Points List (WSPL). In this post, we will give an overview of how such a global action sports ranking system at large works.

Generally, the WSPL is trying to be as automatized and autonomous as possible. That means that there are integrations with other systems in the ecosystem that are automatically handling a range of different tasks. The following graphic depicts a high level view of the tech stack and the interactions with the involved third party systems. For non-technical readers, the colorful logos just indicate which programming languages and frameworks certain components are running with.

The important point to recognize is that there is the FIS and the LiveHeats (LH) system which are communicating with the Wyldata server to supply all the initial data the WSLP ranking is running on. This happens automatically through something called webhook. Think of a webhook as a phone number like 911. If you call it, it triggers a certain emergency response protocol within the emergency service. Depending on what you say to the emergency service, the actions taken may differ.

Similarly FIS and LH both have received a “phone number” from us where they can call our system to trigger a response. The webhook is automatically called if certain conditions and events occur, for example, in LH when an event is created or its status is changed. Then the message sent to us is something like “Hey, event updated with ID xyz". The event ID would obviously change from case to case.

Based on this event ID our system in response fetches the full event data from their database. This exchange happens through so called application programming interfaces (APIs) There is puplic documentation on what is availble from FIS and LiveHeats.

But it's not as simple as that because there are many different cases which can occur when the webhook is called. The WSPL also needs additional information like the WSPL event category, which are not generally collected data points in LH. Furthermore, there is a big difference between the two data sources. FIS results only ever contain FIS licensed athletes, while LH results can contain any competitor. Worst of all, an event can be double sanctioned (World Snowboard Federation (WSF) and FIS endorsed). In that case, we need to figure out which results are supposed to be accepted to count towards the WSPL. And finally, another difference that makes things tricky on the LH side is that the athletes in that system don’t have a unique identifier, whereas FIS athletes have a FIS license code, something similar to a passport number. The following graphic explains the logic that runs in response to the webhook being called to handle these circumstances.

Lots of stuff going on here but all pretty straightforward, the main point is to always check for double sanctioned events via the FIS codex and give priority to the ones from LH as we want to include non licences athletes. Another quirk about the results is that we have to temporarily saves results from LH. Because of the mentioned issue with the missing unique athlete identifier, a Wyldata admin has to manually look over the results to make sure the scores are assigned to the correct athlete in our system (at least for now). That is also why Wyldata always needs at least the athlete nationality and birthday infos, otherwise there are too many athletes with similar names and assigning the scores to the wrong athlete would be likely.

Ok, at this point the event and result data is in our system, now how does the ranking get created? Logically, the ranking is just an ordered list of athletes based on their average collected ranking points in a respective freestyle discipline (Half Pipe, Big Air, Slopestyle). Whenever a new result enters the Wyldata database the according ranking points have to be determined case by case for each result. There are 10 ranking point levels (100, 200… to max 1000). How many points are awarded depends on the following factors:


  1. Quality of participating athletes, measured by the average WSPL rank (r value) and the average WSPL points (p value) of the top 5 (womens) or 8 (mens) WSPL ranked athletes in the competition at that point in time. Every season, the thresholds for the points level based on these p and r values is adjusted. the graphic below depicts the thresholds from the 23/24 season. For example, if the r value is above 25 and the p value for a mens slopestyle result is 500, then it would be a 600 points level category since the lower bound is at 437.65 and the upper bound is at 525.17. If a mens result has a r value below 25 we would be placed somewhere in the top range of 700-1000.