Sub Desk Logic

« Subbing / Absences

The website suggests players to sub for people who are absent.  It does so using the following logic:

  1. Get a randomized list of all players in the league. This list is randomized based on the day, and will return the same results for the entire day, but different results on the next day.
  2. Filter out all players currently playing in this game or have scorebox duty or a coaching assignment for this game.
  3. Sort players who have requested to sub to the top of the list. This was removed November 2021 – players who have not requested to sub are excluded from the sub desk logic.
  4. Within each bucket, sort players who best meet the skill level criteria for the absentee to the top.
    • You may only sub for someone if your skill level matches theirs or if their skill level is one higher than yours.  If you are a top-ranked player, you may also sub for players who are one skill level lower than you.
    • A preference is given for exact skill matches.
    • If your skill level is too different from the absent player, you’ll be filtered from the bucket.
  5. Within each sub bucket, sort players who have subbed less to the top of the bucket.
  6. Within each sub sub bucket, sort players who have a game closer to this game to the top of the bucket.

The sub desk will look to recommend 3 subs for each absent player.  It will attempt to fill the first sub slot for every absent player, then the second sub slot for every absent player, and then the third.  If a player is recommended to sub in the first slot, they are deprioritized for later absences that day – this helps give more people the opportunity to sub.

Goalie subs are also recommended using this system, but skill level and number of times subbed does not factor into the decision.

The email to hockey ops and captains recommending subs goes out around noon on Sundays.  If you sign up to sub before noon on Sunday, you will be included when the sub desk computes its recommendations.  How early or late you sign up is not a factor when recommending you to sub.

Graphically, the logic looks like this:

Players who
requested to sub
Players who have
matching skill ranks
Players who have
subbed less
frequently
Players who have
a game closest
to this one

Players who have
a game furthest
from this one

Players who have
subbed more
frequently
Players who have
a game closest
to this one

Players who have
a game furthest
from this one

Players who are
1 skill rank lower
Players who have
subbed less
frequently
Players who have
a game closest
to this one

Players who have
a game furthest
from this one

Players who have
subbed more
frequently
Players who have
a game closest
to this one

Players who have
a game furthest
from this one