System will be down for a short period today between 5pm and 6pm for security updates...


Explaining levels

Ranking and player levels

Levels are an evolution of the original ranking points system. All players have a 'level' that reflects their level of squash relative to all the other players in the league. For example, if a player has a level of 2000 then they are twice as likely to win a rally against an opponent with a level of 1000 - on average. Same applies for 4000 versus 2000. There’s no digging into how good they are at drops, lengths or whatever – just that they will win twice as many rallies. Not points – which is where the english scoring system complicates things a bit.

This evolution gives us:

  • An accurate assessment of relative ability - each player has a level
  • A way of comparing player abilities
  • An accurate starting point - based on match result rather than division/team placement
  • A fair assessment of relative ability whoever you play - even the extremes are catered for. It doesn't matter who you play now.
  • A way of merging the ladies and mixed ranking systems together
  • A way of automatically assigning player grade for the tournaments
  • A numeric assessment that covers everyone from just beginners (50-100) to top professional (100,000).

Understanding the position and level output

The web page showing the levels uses rows that look like this for the player details:

19 Nov 2008/home
Bristol Rovers (4th)
[Level 1070  -6%/Pos 326  -34]
Sam Jenson
Liverpool B
[Level 1035  +7%/Pos 345  +31]
9 - 6 9 - 6 3 - 9 1 - 9 5 - 9 2 - 3

or this for the match details:

Tom Jones
[Level 922  +14%/Pos 387  +45]
 v  David Smith
[Level 1290  -12%/Pos 247  -58]
9 - 6 4 - 9 9 - 3 2 - 9 9 - 4 3 - 2

There's a lot of information in between the square brackets covering both level and position. Taking a look at the second example:

  • Level 922 +14% - this shows that the player level before the match was 922 and after the match it went up by 14%
  • Pos(ition) 387 +45 - this shows that the player position before the match was 387th and after the match he/she went up by 45 places

If you can't see all of this information on your page then you can change the selection using the check boxes at the top. See 'Showing levels, positions or both' below for details.

The main point is that the level and positions given are before the match and the changes show the impact the result of the match has had on them. If you have the expected match result then your level won't change at all though your position may still go up or down as people join/leave/retire from the league fairly continuously.

To see what the resultant position and level is just look at the pre-match level  for the next match or the summary title at the top of the page if that was the most recent match.

Selecting what to show

You can control what you see with the checkboxes at the top of the page:

   Position Level Grade Charts

This is an example set of options. The options offered will be different for each page. This is what you can control:

  • Period - the period over which history is shown
  • Club - only show information for that club
  • Division - only show information for that division
  • League - only show information for that leaague. Only shown if there is more than one to choose from. I.e. Womens, Mixed or Combined.
  • Retired - show those players who have retired
  • Position - show the position in the league. Note that position is by league so players who play in both womens and mixed leagues will have two positions. There is also a position shown for the combined league if selected from the full Ranking listing. Position will go up and down as and when people join and leave the leagues even if the player stays at the same level (or even doesn't play at all).
  • Level - show the relative level. This is the value you can use to estimate squash ability and can be compared with others in the league. This value only goes up and down based on match results and opponent level. See below for a lot more detail on that.
  • Grade - if selected this will show player grade from A to D. This is based on the average level over the last 4 matches and the grade definitions of the league. Use this grade when entering the Avon Open tournament.
  • Category - if selected this will show the player category. Categories are defined by the site admin but are likely to indicate if a player is a junior, senior or even a pro.
  • Match type - shows the type of match. Only for singles matches, it differentiates between tournaments or even box matches. The match types are defined by the site admin so could be anything appropriate for a singles match.
  • Charts - if selected this will show charts for position and/or level over time. This is the easiest way to see if someone is getting better over time - or not.

Just click on the box to select or unselect the information you want to see and then click 'Show'. If appropriate, they will be remembered as cookies so if you look at other players, matches etc you will be shown the same information.

Click here to see what you get and how to read it.

How do the levels work?

A player's level is calculated from the results of their last match based on the level of the other player and the score in terms of both games and points.

If they already have a level then both players' levels are adjusted so their new relative levels match the results of the match with some damping to prevent wild swings. If they are new then their starting level is entirely based on the results of the match and the other player's level. In this case there is nothing to damp and the other player's level doesn't change.

The overall scale of the levels has been deliberately lined up with the existing ranking system so the numbers are very similar but there are some differences:

  • Because the new relative levels are accurately based on the english scoring system (or PAR if that was used) then a player's level will go up or down compared to how they were expected to do. For example, if you get severely beaten by a player with a much higher level than you then that might be the expected result and your level could even go up if you actually did better than expected.
  • New players are assigned their level immediately based on their first match as long as they play someone who has a level
  • If neither player has a level then the result is recorded and the levels are filled in later when one of them does play someone with a level

Consistency across the ladies and mixed leagues

The ability to assign a level to a player as soon as they play someone else who already has a level allows us to percolate the levels from the mixed league into the ladies league because there are some ladies who play in both. As the relative levels are recorded in the database they can be back-filled once a result occurs with a 'level' assigned.

With the levels, the ladies and mixed players are combined!

Doubles are not included.

Levels for doubles teams

As for singles, the level for a doubles team is set by their results and based on the level of the team they played. In the case of a match in which neither team has a level set, then it can be calculated using the average of the two players provided that's known. Both teams are tried first but if not, you have to wait to play a team that does have a level and then it is all back-calculated.

Matches that affect ranking

Since this is a single system, all matches entered are included in the ranking caclulations. This covers all the league matches and also singles matches, either entered manually or from tornaments or from box matches. There is one exception:

  • It will be possible to select a match to be excluded at some point in the future. This isn't implemented yet but it's to allow for injuries mainly which really upset the ranking levels. Note the functionality does exist to ignore a result from the level processing so if you have such a match please let me know and I'll hand edit the database to ignore it. This is on my todo list...

Damped levels

Player levels are already damped as part of the calculation - see below - but this still allows a fair amount of change for each player from match to match. It turns out that 'on the night' ability varies quite a bit normally so a better indication of someone's long term ability is to average their level over a set number of matches. After some experimentation, an average of 4 matches gives good results without it taking too long to establish a good estimate.

These damped levels are used to calculate the grades for tournament use. The definition of grade comes from the tournament organisers, based on damped levels:

  • Grade A - first 100 in the damped rankings
  • Grade B - next 100 in the damped rankings
  • Grade C - next 200 in the damped rankings
  • Grade D - all other players

Calculating levels

The calculation is based on looking up the the expected relative level from the actual points ratio and games ratio of the match. The two then need to be combined to produce a single figure. The points ratio is the number of points a player won compared with the total number of points won by both players.

For example if a player wins 9-4, 9-7, 6-9, 9-5 then they won 33 out of a total 56 points giving a points ratio of 0.59. They also won 3 out of the 4 games giving a games ratio of 0.75.

Here's the graph for the points ratio and games ratio for english scoring (derived through simulating millions of games between players of varying level).

You can see a few interesting things just looking at the graph:

  • Players of the same ability will win half the points and half the games on average. Of course… (nice to see it on the chart though…)
  • A player that is twice as good will win 80% of the points and 97% of the games
  • A player that is three times as good will win 90% of the points and all of the games
  • The games line flattens out pretty quickly after a relative ability of 1.5 whereas the points line keeps going. This shows, at this end of the graph, the points ratio is probably a better measure otherwise we loose differentiation.
  • You’ve got to be really good to stop the other guy getting any points at all!

Note, despite the smooth looking line on the chart, there are only a small set of real games ratios, especially if we only focus on the winner:

  • 3-2 is a ratio of 0.6 (3 games won out of 5 played)
  • 3-1 is a ratio of 0.75
  • 3-0 is a ratio of 1

For combining the points and games ratios we use other guidelines derived from the same emulation (not shown here):

  • For a game score of 3-2, combine 3/4 game ratio with 1/4 points ratio
  • For a game score of 3-1, combine 2/3 game ratio with 1/3 points ratio
  • For a game score of 3-0 and a points score < 27-11, combine 1/2 game ratio with 1/2 points ratio
  • For a game score of 3-0 and a points score ≥ 27-11, use points ratio only

With 3-0 wins, the points ratio becomes a bigger factor as the score gets closer to 27-0.

Boundary cases

Like all good algorithms, one size doesn't fit all. There are a number of allowances made for bounday cases that we've developed over time.

  • If the difference in player levels is > 3:1 and that is backed up by the result then the levels are not adjusted. It's just too extreme to be accurate.
  • If the difference in player levels is > 2:1 then it's likely that the better player isn't trying his/her absolute best but their opponent probably is. There is a sliding scale of damping applied to the better player in this case so their level is changed less the greater the difference of ability. This is especially useful for the summer league when there are quite often mismatches in abilities.
  • If a player hasn't played for a while or they are new to the system, the confidence in that player's level is reduced. This allows these players' levels to move more quickly than a player with recent history and, hopefully, get them to the right level in just a few matches.
  • There are over 1000 players in the BaD leagues and it turns out that over time the average level is dropping! This is believed to be because players come in at a lower level than they leave at which point their level is not included in the average. It's about 2% per year but that adds up over time. To allow for that, the average level for all active players is fixed at 1000. Without that, everyone's level will fall gradually over time even if they remain at the same ability.
  • There are a few players who play in both the ladies and mixed leagues but the majority stick to one league and this allows the leagues to 'drift apart' in terms of level over time. To resolve this, the results of the players who play in both leagues are used to measure that drift and small corrections are made to the average as appropriate. These show up as a percent or two of level change for no apparent reason!

Setting initial levels

There are a few different ways that the first level of player can be set:

  • From playing another player who already has their level set. This is the most common method and is accurate as long as that match is representative - which is true for most cases. Sometimes, however, a player's first match gives an unexpected result and that can leave their initial level inacurrate. If that happens then one of the other methods below can be used.
  • The system can work it out. If a player has played a few matches but the first match result was not representative then what happens is that that player's level is adjusted by each subseqent match result until it stabilises to about the right value. The system is able to detect this initial adjustement, work out what the initial level should have been and then correct it. This is 'automatic' mode but can take a few match results to trigger. The following player level chart shows what the system is looking for:
  • The club captain can override it. By setting the mode to 'manual' and providing a value in the edit player screen, the club captain can force the system to use a specific starting level. The club captains usually have a good idea of how good their players are but this is not a recommended method unless the above two have failed.
  • From their position in their team and the division they play in. This gives a general idea but is very often inaccurate. The system uses this if all else fails.
  • Doubles teams are the average of the two individual players' levels. This isn't too accurate but is the best we have. Unfortunately, doubles teams change frequently and don't have much history so it's very hard to give them an initial level. We struggle to give doubles teams accurate levels at all...

How good is good?

Levels are calculated as a relative measure between players but with the large number of players we have in the BaD leagues and the law of averages they are probably stable and accurate enough to make sweeping statements about how good a player is based on their absolute level.

  • < 100 - beginner
  • 500 – played for a while
  • 1,000 – league average
  • 7,500 – county
  • 10,000 – top county
  • 20,000 – PSL
  • 35,000 – PSA
  • 100,000 – world number one!

Professional levels

Since it is possible to automatically open and read the results of professional matches from the web (thanks and acknowledgements to SquashInfo), I thought I would give it a try. As a result, we have around 20,000 professional results in the system all of which are included in the ranking calculations. It's quite interesting to see what kind of levels these top players are (see above) but, rather intriguingly it also allows us to find out who is the best player since 1999 which is how far back I could go. Follow this link to find the answer!

Ranking level functionality

There are a few things you can do and see around ranking level, some more obvious than others. They are all available from the pull-down from the 'Ranking' menu at the top.

  • Show the player levels for each league (Mixed, Women's, Doubles) and also the combined leagues. Players are ordered by their ranking level so this gives the ranking positions for each league.
  • Show the player levels for tournaments. After each tournament, the results are uploaded and levels calculated. These lists (such as 'Avon Senior Closed') show the final level of those in the tournament. Note that this does not necessarily tie up with the final order of the tournament winners as players can lose early round and then play much better in the plate.
  • The levels of teams can be shown. This is based on the average levels of the players in the team and you can compare teams in divisions and even see a chart of each team's level over time. I hate to take the fun out of the league but you can usually see who's going to go up and who's going to go down within a couple of weeks of the start of the season from this...
  • The tournament grades (A-D) are derived from levels and you can see what they are by selecting the 'Grades' pull-down.
  • You can see who is the most improved. Defaults to last 12 months. The league AGM awards prizes for the most improved over the last 12 months each year.
  • You can compare 'highest levels' to see who has been the best in the league over the last 12 months or even ever... This uses a moving average of 4 matches to avoid spikes.
  • You can see what your expected result is against any opponent. Just enter your level and their level and see what the score is expected to be. Shows for english and PAR scoring and even gives a starting point for a handicap match. Please remember this is expectation based on simulation based on you both playing your best!


Q. Does the algorithm cope with PAR as well as english scoring?

A. Yes. If the maximum score is 10 or less then it must be english scoring otherwise it's assumed to be PAR. Different algorithms are used as need be.

Q. What happens if two players play but don't have levels assigned?

A. Initially they'll be recorded as 'new' but their relative levels will be held in the database and when one of the two players does play someone with an assigned level, the algorithm will work back and assign them an absolute level.

Q. How much damping is there?

A. Anything up to a 10% change is assigned without damping. Anything over that is damped by about 2:1 for example a calculated change of 20% would result in an actual level change of about 15%. A consistent player should find their level within 2-3 matches. An inconsistent player will, at least, be damped!

Q. What if I get thrashed by a much better player in the summer league?

A. Your level will be determined by the relative level of your opponent and your score. No matter how good they are your score will be compared with your expected score against that opponent and only the difference with that will impact your own level. Loosing is OK if you are expected to loose! You have the most to gain!!

There is a special case for matches where the players are very different (more than 2x level). In this case we don't want to encourage the complete thrashing of the lesser player just for the sake of the ranking. The ranking calculation is given increased damping the further apart the players are.

Q. I'm a much better player than my opponent. Do have have to thrash them?

A. Yes - if you want to keep your level intact. Remember it's the points and games scores that count so you can string them along in the rallies as long as you get the final result. This system is likely to encourage those who care about their 'level' to play their best. It will also discourage players taking on weaker opponents on purpose.

There is a special case for matches where the players are very different (more than 2x level). In this case we don't want to encourage the complete thrashing of the lesser player just for the sake of the ranking. The ranking calculation is given increased damping the further apart the players are.