SquashLevels is a points-based ranking system based on a unique algorithm. As players compete in their leagues and tournaments, their results automatically flow into SquashLevels from their existing results providers, from this the algorithm calculates a level for each player based on (among other things) their opponents’ level, their result including points scores, behavioural modelling and various other factors, making SquashLevels one of the most advanced rating systems of any sport in the world.
The SquashLevels algorithm is made up of three main elements:
- Maths – We use a combination of points scores and games scores to assess the result. The overall goal is that if you are twice as good as your opponent then your level will be double theirs.
- Weighting – the more important the match (e.g. a tournament) the greater the weighting. This allows you to play a box match without having too much impact on your league standings.
- Behavioural modelling – as it turns out, not everyone puts 100% effort in every match and that’s down to behaviour. There are many other cases too where player behaviour defies the maths and, based on the analysis of 1.6 million results on the system, we’ve built an extensive behavioural model that allows us to predict and make use of these behaviours. This is a critical part of the engine because it has a very significant effect on player levels. It also results in uneven level changes where one player can go up more than their opponent goes down and that causes ‘drift’!
What is behavioural modelling?
Not every match will be one where you put in 100% effort to win, and we recognise that. The following are just some cases that we have seen displayed. All affect behaviour and have been modelled as best we can based on analysing the 3 million results in the system, resulting in a more accurate level for players:
- Good players playing lesser players and giving them a runaround
- Exhibition matches
- Player level – the pro players are a lot more consistent than the rest of us
- Tournament disasters – preventing them from wreaking a similar disaster on your level!
- Getting tired after multiple, close matches in a tournament. The tank is empty by the end!
- Big gaps in your history – particularly for juniors
- Retiring pros who then reappear in the county leagues years later
- Upcoming stars with meteoric rises. For these players we can apply ‘accelerated level adjustment’ and can soften the blow for their opponents.
- Improving players – maybe not meteoric but we spot that they are improving and go the extra mile to soften the blow of all their opponents each time.
- How much effort a player is likely to put into each match type. For example, county league players treat club boxes as a bit of fun whereas they’re deadly serious for the players further down the boxes. Same applies to PSA players playing PSL. Just two examples.
- Related to the above, encouraging better players to participate in the boxes.
- Limits on match and tournament movement based on level, time and match type. This is also protection against rogue results.
Most players really don’t improve (or get worse) that quickly though, bear in mind we’re measuring playing level not ability so it’s all going to be quite dynamic – that’s half the fun!