real biathlon
    • Athletes
    • Teams
    • Races
    • Seasons
    • Scores
    • Records
    • Blog(current)
    • More
      Patreon Content Course Profiles Explanations Shortcuts
      Error Report
      Privacy Policy About
    •     
  • Forum
  • Patreon
  • Twitter
  • YouTube
    Instagram
    Facebook

Recent Articles

  • Most improved athletes this winter
  • New biathlon point system
  • Historic biathlon results create expectations. But what about points?
  • What do you expect? Practical applications of the W.E.I.S.E.
  • Introducing W. E. I. S. E: the Win Expectancy Index based on Statistical Exploration, version 1

Categories

  • Biathlon Media
  • Biathlon News
  • Long-term trends
  • Statistical analysis
  • Website updates

Archives

  • 2022
    • December
    • June
    • May
    • March
    • February
    • January
  • 2021
    • December
    • November
    • September
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2020
    • December
    • November
    • August
    • June
    • March
  • 2015
    • December
  • 2013
    • August
    • July
  • 2012
    • July

Search Articles

Recent Tweets

Tweets by realbiathlon

Tag: data visualization

Biathlon World Cup wins by age | Men

Posted on 2021-12-16 | by real biathlon | Leave a Comment on Biathlon World Cup wins by age | Men

Men’s individual/non-team wins in World Cup level races by age. Biathlon World Cup, World Championships, Olympics – Women (1958 – 2021).

Posted in Biathlon Media, Long-term trends | Tagged Data, data visualization, results

Biathlon World Cup wins by age | Women

Posted on 2021-12-09 | by real biathlon | Leave a Comment on Biathlon World Cup wins by age | Women

Women’s individual/non-team wins in World Cup level races by age (in y – years and d – days).

Biathlon World Cup, World Championships, Olympics – Women (1984- 2021).

Posted in Biathlon Media, Long-term trends, Statistical analysis | Tagged Data, data visualization

Latest website features

Posted on 2021-04-16 | by real biathlon | Leave a Comment on Latest website features

With the season behind us, I thought it would be a good idea to summarize the updates and new features I added to the website over the last 2-3 months. Most of them are a little hidden and not everyone will immediately see them or even be aware they are available. It’s probably useful to give a quick overview.

Histograms

I added histograms for all athlete and team pages (which previously only had line chart or box plot visualizations). I think it’s an interesting addition, particularly for shooting percentages, or to give a better overview of shooting pace and skiing speed distributions. Just like line charts, you can directly compare two athletes.

A histogram is an approximate representation of the distribution of numerical data. In a histogram, each bar groups numbers into ranges. Taller bars show that more data falls in that range. A histogram displays the shape and spread of continuous sample data.

Examples:

  • Shooting percentage distribution 2020–21: Sturla Holm Lægreid
  • Ski speed comparison: Hanna Öberg vs. Tiril Eckhoff

Ski Speed per Loop

Some athletes seem to get faster over the course of a race, while others appear to tire more quickly than the field. To quantify this a little better and find out who has particularly strong final laps, I calculated the ski speed (back from top 30 median) for each of the 3/5 ski loops. You can visualize them either as box plots or line charts (for overall career, per season, per discipline, etc).

Examples:

  • Box Plots for each Ski Loop: Dorothea Wierer
  • Box plots for Teams: Austria Mixed

Examples:

  • Line charts per Race: Comparison Dorothea Wierer vs. Hanna Öberg
  • Line chart per Season: Johannes Thingnes Bø

Head-to-head comparison

For all races, you can now compare two athletes directly. All time data (course times, shooting times, range times, etc.) is visualized through a diverging bar chart, while some other data (shooting intervals, hits/misses) are shown side by side in a table.

Examples:

  • Head-to-head comparison: Johannes Thingnes Bø vs. Sturla Holm Lægreid
  • Head-to-head team comparison: Norway vs. Germany

Video links

All race pages (since 2010–11) now have direct links to the Eurovision Sports website which hosts the official IBU videos. If available, the links usual include race replay, press conference, highlights and zeroing. For Olympic races, I linked videos from Olympic.org.

Bonus content for patrons

  • New data set of World Cup prize money: For all seasons since 2003–04, as well as cumulative all-time biathlon prize money data (since 2004).
  • Improved Comparison page: You can now compare stats not only season-to-season, but also by World Cup trimesters within a season. For example: This season’s ski speed changes January to March
  • Stats for each World Cup venue: You can look up all podium finishers, shooting results, shooting times and skiing stats for each World Cup location. I also added weather info for each race. Most data can be visualized.
Posted in Website updates | Tagged Data subscription, data visualization
Page 3 from the Athletes Research Tool dashboard

Using Real Biathlon data to create a dashboard in Tableau

Posted on 2020-12-16 | by biathlonanalytics | 1 Comment on Using Real Biathlon data to create a dashboard in Tableau

Football and baseball are huge sports in the fantasy sports world. Biathlon is not, however that doesn’t mean it is not there at all. For example, the sports department of the German television corporation ARD has what they call the Biathlon Tipp Spiel, freely translated as the biathlon guessing game. It allows participants to predict the top 5 of any upcoming race in the IBU World Cup circuit, and although thankfully biathlon is unpredictable enough to make this pretty hard, I wanted to have a quick look into previous results to see “who’s hot and who’s not”. The following blog-post describes the steps I took to create the Puck Possessed Biathlon Athletes Research Tool on Tableau Public. For those of you who eagerly clicked on the link, please be patient as the data loads 3+ season of detailed race results. Update: I created a clone that eliminates the 2017-2018 season, resulting in better performance of the dashboards.

The data

Since the Real Biathlon data is now available through Patreon, I downloaded some of the more current race results using R. Now, there are many other coding languages and ways to do it, but since I’m most familiar with R, that is what I used. The following paragraph is a description of how the get the data using R (assuming you have a subscription). If you’re not interested in the technical stuff, skip right ahead to the Data Visualization section below.

First we need to connect to the Mongo Data base with the username and password that comes with the Patreon subscription:

install.packages("mongolite", "tidyverse", "dplyr", "jsonlite")
library(mongolite)
library(dplyr)
library(tidyverse)
library(jsonlite)

# Set username and pasword
mongousr <- "--your username--"
mongopw <- "--your password--"

# Set the collection, database and prefix to create the url
rbcol <- "Races"
rbdb <- "Results"
rbpref <- "biathloncluster-ay3ak"
rburl <- paste("mongodb+srv://",mongousr,":",mongopw,"@",rbpref,".mongodb.net/<dbname>?retryWrites=true&w=majority", sep="")

# Use the URL created above to connect to the correct MongoDB data
rbmongo <- mongo(collection = rbcol, db = rbdb, url = rburl, verbose = TRUE)

Now we can connect to the database. To gather all the data I wanted for my dashboard, I first got data that had all raceIds I wanted to download. Then I created a loop to go through these raceIds one by one and download the file. Below is just the code to get one single file into Tableau. Perhaps I’ll show the loop code in another blog post sometime.

# Get data from the Mongo connection created above by searching for one specific raceId
RaceBT2021SWRLCP01SWSP <- rbmongo$find('{"raceId" : "BT2021SWRLCP01SWSP"}')

# Convert the file to json
RaceBT2021SWRLCP01SWSPjson <- toJSON(RaceBT2021SWRLCP01SWSP)

# Write the json file to your computer
write(RaceBT2021SWRLCP01SWSPjson, "RaceBT2021SWRLCP01SWSPjson.json")

And that is all it takes to connect, load a file and save it as a json file. One could also save as a flat csv file here, but to do that you will have to manipulate the loaded file first as it comes with nested data, multiple levels deep. Since Tableau Public reads json files natively, I decided that using the power of Tableau Public is far more time-efficient.

Data visualization

Although the above code generates one json file for one race, for my specific dashboard I got a file for every race since the 2017-2018 season, creating over 200 files. With those sitting on my hard drive, eagerly awaiting to be visualized, do the following:

Open Tableau Public and connect to a Json file

Select one json file specifically

Drag all other json files (I assume all files are in the same folder as the first file) right below the one file from the screenshot above

Select the Schema Levels to only get the data I want to use (resist the temptation to select all when you see all the goodness that is available in these files, and stick to the KISS principle)

Now you can create a new Sheet and start on your visualization. I must admit working with the nested json files takes a little time to get used to if you are used to dealing with flat files, but in the end it works quite well!


Since I wanted to have information on athletes specifically to help me pick future winners, I wanted to make three levels of information, or dashboards: one for one race, specifically the most recent one or the most recent of the same type and on the same location as the one I’m predicting for, one to show me current form by looking at the results for the current season to date, and one for similar events in the past (so all sprint races in the last couple of seasons, or all races in Hochfilzen, etc.)

Tab 1 Race Details shows infomartion for one race, while highlighting one athlete of choice

Tab 2 Current Season Information shows information about the selected athlete that gives the reader an idea if the athlete is hot or not, or on an upward or downward trend.

Tab 3 Similar Events Results shows how athletes have performed in previous similar races as the one you are predicting for.

So please go have a look at the dashboards (full and small) and let me know what you think. And good luck making your own dashboards based on the real biathlon Patreon data subscription!

Posted in Statistical analysis | Tagged Data subscription, data visualization, Patreon, R, Tableau

Shooting Speed

Posted on 2020-12-02 | by biathlonanalytics | Leave a Comment on Shooting Speed

An analysis of shooting speed in biathlon, using the women’s individual race in Kontiolahti as an example. The data came from the real biathlon website, here is the exact link.

To get this data in a workable format, I just copied the table, pasted it in a text editor and copied/pasted that to Google Sheets. From there I had to do some splitting and moving things around but it was still fairly easy to get a working table. The only time consuming part was manually assigning hits or misses, and for that reason I only did to for the top 30 athletes. Then I added som ecalcualtion for athlete averages, max and min shooting times, etc. Although that can be done in Tableau, I find once you start working with filters etc. in becomes unnessessarily compicated in Tableau, just much easier to calculate the fields in Google Sheets.

Just a reminder the Tableau Dashboard below is interactive and intended to be used for further exploration of data. If you open it on the Tableau Public site you can use it full screen. Enjoy!

Posted in Statistical analysis | Tagged data visualization, Puck Possessed, shooting

Posts navigation

Older posts

Recent Articles

  • Most improved athletes this winter
  • New biathlon point system
  • Historic biathlon results create expectations. But what about points?
  • What do you expect? Practical applications of the W.E.I.S.E.
  • Introducing W. E. I. S. E: the Win Expectancy Index based on Statistical Exploration, version 1

Categories

  • Biathlon Media
  • Biathlon News
  • Long-term trends
  • Statistical analysis
  • Website updates

Archives by Month

  • 2022: J F M A M J J A S O N D
  • 2021: J F M A M J J A S O N D
  • 2020: J F M A M J J A S O N D
  • 2015: J F M A M J J A S O N D
  • 2013: J F M A M J J A S O N D
  • 2012: J F M A M J J A S O N D

Search Articles