The website suggests players to sub for people who are absent. It does so using the following logic:
- Get a randomized list of all players in the league.
- Filter out all players currently playing in this game or have scorebox duty for this game.
- Sort players who have requested to sub to the top of the list.
- 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.
- Within each sub bucket, sort players who have subbed less to the top of the bucket.
- 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: