Different ways of analyzing orienteering data, directly from your web-browser.

Background

Stumbled upon the fantastic application WinSplits Online. Thought that the interesting real-world data found there could be used when creating a spare time project investigating JavaScript frameworks from Chart.js and Vue. Thought it would be fun and educating to examine different ways of visualizing, comparing and presenting various information about the athletes performances in charts/graphs (and yes, so far it has really been a fun and educating trip).

This is the first version of this analyzing tool. Hopefully it will be enhanced in the future.

Documentation

The data is more or less only lists of split times from a series of controls, but it can be used in many, many ways as you will see.

Data importer

It is quite easy to import your own data to analyze.

  1. Visit WinSplits Online.
  2. Choose your event.
  3. Make sure to check "relative split times" and "relative total times".
  4. Press OK.
  5. Use the "Export the split times in text format" link at the top.
  6. Copy all the generated text content (Ctrl/Cmd + A and Ctrl/Cmd + C).
  7. Paste into the "Exported split times" text area (Ctrl/Cmd + V).
  8. The page is automatically updated with your new information.

If you have split times data from other sources, you can of course use those also, if you follow the same easy-to-grasp format as WinSplits Online exports.

On page reload, one of the pre-defined example events (as described in the Configuration section below) is randomly selected.

Configuration

From the top-right of the page you can open the configuration modal.

List of shown athletes

A compact view of the participants.

Results table

The times are often given without useless zeroes, so values below a minute is given with seconds, values below an hour is given with minutes and seconds.

Gold, silver and bronze background colors are shown to indicate the three fastest leg/split times.

  • 1st place (gold)
  • 2nd place (silver)
  • 3rd place (bronze)

Selecting athletes

By the checkboxes in each row, you can select which athletes you are interested in. When satisfied with your set, click the checkbox in the top left of the Results table, and only your selection will be shown. You may have to first configure your number of shown athletes.

Athlete details

You can show details about an athlete by clicking on their names in the results table.

The %-loss column shows how much slower the leg was compared to the fastest leg time. Colors (same colors as in the "Mistakes (percentages)" chart) are used to indicate the loss. Per definition, the winner of the leg has no loss, and therefore it is not written out.

The colors in the relative split column indicate the trend against the current leader (or second best).

  • Positive trend. Either of:
    • If the athlete is the current leader and increases the gap to the others.
    • If the athlete decreases the gap to the current leader.
  • Negative trend. Either of:
    • If the athlete is the current leader and decreases the gap to the others.
    • If the athlete increases the gap to the current leader.

Charts

You can expand/collapse the view of a specific chart by clicking on the chart label. You can also often toggle the view of specific datasets by clicking on the legends of the charts.

In some of the charts, all athletes are shown (also those that did not finish, mis-punched, etc), and in some charts only the finishers are shown.

Relative leg times in seconds (line chart)

Line chart showing each athlete's "time behind", for the leg, at every control.

Relative leg times in seconds (grouped bar chart)

Grouped bar chart showing each athlete's "time behind", for the leg, at every control. Note: Same data as the line chart above.

Mistake per leg in percentage (line chart)

Line chart showing each athlete's "mistake", for the leg, at every control. The mistakes are shown in percentage from the best leg times.

Mistake per leg in percentage (grouped bar chart)

Grouped bar chart showing each athlete's "mistake", for the leg, at every control. The mistakes are shown in percentage from the best leg times. Note: Same data as the line chart above.

Relative split times in seconds (line chart)

Line chart showing each athlete's "time behind", for the split, at every control.

Leg places (stacked bar chart)

Stacked bar chart with an athlete's number of best places for each leg. Grouped by:

  • 1st place (gold)
  • 2nd place (silver)
  • 3rd place (bronze)
  • 4th-6th place
  • 7th-12th place

Mistakes (minor, major) (stacked bar chart)

Stacked bar chart with an athlete's number of mistakes for each leg. Grouped by:

  • no mistakes (≤15%)
  • minor mistakes (>15% and ≤30%)
  • major mistakes (>30%)

Mistakes (percentages) (stacked bar chart)

Stacked bar chart with an athlete's number of mistakes for each leg. Grouped by:

  • < 1%
  • < 2%
  • < 4%
  • < 8%
  • < 16%
  • < 32%
  • < 64%
  • < 128%
  • ≥ 128%

Split times (time chart)

Time chart showing each athlete's actual split time at every control.

Best leg times (horizontal bar chart)

Bar chart showing the best leg time at every control.

Raw data importer

Insert raw data from WinSplits Online (from orientering.se). The raw data should be the result from "export the split times in text format". Make sure that the checkboxes for "relative split times" and "relative total times" are checked.

List of shown athletes

  1. {{ athlete.name }} {{ athlete.club }}

Results table {{ orienteeringData.numberOfControls }} controls, {{ athletes.length }} of {{ orienteeringData.numberOfParticipants }} athletes

# Name Total time Diff {{ control }} Finish Total time Name
Club Club
{{ athlete.position > 0 ? athlete.position : '' }} {{ athlete.name }} {{ athlete.totalTime }} {{ athlete.diffTotalTime }} {{ athlete.totalTime }} {{ athlete.name }}
{{ athlete.club }} {{ athlete.club }}

Charts

{{ orienteeringData }}

References

Feedback

Feedback is always appreciated. If you have questions, find errors, have suggestions for improvements, etc, please see the contact details at information page.

First version created by Anders Gustafson in June 2020. Dedicated to my father √Öke Gustafson