When a league is live, runs are collected from Speedrun.com every few minutes.
The system collects only runs that are relevant to the league, i.e. runs submitted by
league participants, during the league timeframe.
Once the runs have been collected, each participant's "league PB" is determined, for
each category. The league PBs are then ranked, scored, and placed on the league category
leaderboards.
In other words, you earn points by improving your league PBs. You don't get more points
for simply submitting more runs.
The specific scoring system used for each category is decided by the league creator(s).
You can find out more about this category's scoring system in the following sections.
Scoring for this Category
Simple example system, based on rank achieved, and PB improvement.
Formula
The formula below shows the exact calculation that is used to score runs for this league
category.
The formula is controlled by the admin user(s) running the league. They can
make changes to it during the league, if need be.
The syntax you see below is actually valid Python code. This is the actual code that
runs in the background when the league is live.
Before reading on, make a note of the following terms:
your "league PB" in a category means your best run submitted during the league
your "initial PB" in a category means your actual PB, as it was at the start of the league
When reading the code below, you may see the following variables being used:
league_pb_rank - the position of your league PB on the league category leaderboard
number_of_league_participants - the total number of participants in the league
league_pb_in_milliseconds - the total time of your league PB, in milliseconds
league_pb_in_seconds_floor - the total time of your league PB, in seconds, rounded down
league_pb_in_seconds_ceiling - the total time of your league PB, in seconds, rounded up
initial_pb_in_milliseconds - the total time of your initial PB, in milliseconds
initial_pb_in_seconds_floor - the total time of your initial PB, in seconds, rounded down
initial_pb_in_seconds_ceiling - the total time of your initial PB, in seconds, rounded up
You may also see the following operators being used:
a * b - a multiplied by b
a ** b - a to the power of b
a // b - how many full lots of a fit into b (also known as "integer divide")
You can try the scoring system out for yourself, using this calculator. Plug in
some hypothetical (or actual) speedrun details, and see how much it would score.
This can help you get a feel for the scoring system. It can also be useful
throughout the league. For example, you can experiment with it, when deciding
which league categories to focus on next.
Note that having no initial PB is equivalent to having an initial PB of 999h 59m 59s 999ms.