Challenge Description
We need your help! Swiss short-track speed skaters don’t yet have what it takes to compete in the main events around the world. In an effort to fully unleash the potential in this sport in Switzerland, short-track speed skating needs to develop a new strategy.
In addition, real-time in-competition betting is still proving to be difficult today. The goal is therefore to combine these two challenges and find a common solution. Do you want to play a role in bringing about this change? Then join us in our challenge.
Explosive starts and speed are the decisive parts of short-track speed skating and make the sport attractive for viewers. Since the competition is also relatively simple (the fastest time wins), short-track speed skating is the ideal sport to experiment with a real-time in-competition betting system.
To meet the challenge, we need to develop a predictor for winning chances in real-time using current position and speed. For this, we will be using Kafka. The environment, simulation and streaming are already set up, so we will need your skills and knowledge about processing and aggregating the data, creating a model for the real-time in-competition betting system, and visualizing the data and system for the spectators. We hope to apply the solution to our challenges at this year’s Winteruniversiade in Lucerne.
Challenge Owner
Dartfish provides video systems for sports data analytics around the world, and its computer vision system is used during the main events of the International Ice Hockey Federation (IIHF).
Solution
Pitch
Data shows that those who bet on sports are among the most engaged fans – they watch more games/competitions and for longer periods of time. Our solution aims to provide an in-race betting experience to short-track speed skating fans in the stadium and at home based on data that tracks the competition in real-time. Furthermore, the solution offers additional opportunities to monetize real-time sports data, e.g. from sensors on short-track athletes themselves.
Our solution would address two massive trends in the sports industry: legal sports betting (estimated at around 131.1 billion USD in 2021) and sports data rights (estimated at around 1 billion USD). Both markets have been projected to grow substantially.
We approached this challenge by first developing a model for immediate winning probabilities for each short-track athlete based on existing data which simulates a 500-meter race. We tried to validate our models' winning probabilities against existing historical data from 500-meter races. Finally, we visualized the training race by simulating the incoming tracking data in the form of a graph showing the winning probabilities throughout the race. The tracking data serves as a basis for calculating betting odds, and users of the betting service can follow it in real-time.
Data Approach
The raw data contains skater_id, x, y and timestamp values, which are simulated and read into Kafka. Kafka has several options for doing transformations.
- Calculate the distance, duration and speed of each event and skater.
- Calculate the distance to the finish line, total distance, estimated seconds to finish, and group speed (speed varies a lot; the group speed is the average speed of the last five events).
- Calculate the probability (seconds left to finish * speed -> relative to other skaters. Starting prob(0.2) - the calculated value + 0.2 to get the final probability).
- Produce the final plots for the race and the line-chart with the probability distribution.
This historical data contained data points relating to 400 races in the discipline spanning over five years across all series including the World Cup and Olympic Games. The races featured 305 athletes from 47 nations. The data was sourced from Kaggle and cleaned (race grouping and unpivot laps times into a single row instead of multiple columns).
Here is an excerpt from Notebook that was used to calculate the probability of the final race position based on the current position at the end of the lap.
Here we see examples from the finals of the 2016 European and world events. Skaters in positions 3 and 4 managed to win their respective races.