An In-Depth Look at the Splatoon 2 Ranking System

How does the Splatoon 2 rank system work, and how does it compare to Splatoon 1’s? This is something I’ve wanted to talk about for ages, and I’ve only gotten the chance to do so recently.

The Basics

Splatoon 1 represents your rank as a letter from C- to S+. You also have a number between 0 and 99. If you win, this number increases. If you lose, the number decreases. You rank up if your number goes over 99, and you go back to the previous rank if your number goes below 0.

Similarly, Splatoon 2 represents your rank as a letter from C- to X. However, instead of being shown a number between 0 and 99, you have a bar, with Rank X being the exception. You have a separate rank and bar for each gamemode. If you fill up this bar by winning matches, you advance to the next rank. If you lose, then you may or may not get a crack in your bar. If you get 4 cracks, you go back to the previous rank unless if you fill up the bar past the “OK” line. In Rank X, you are shown a four digit “power” level instead. This number goes up as you win matches and decreases as you lose matches.

How is this represented internally in Splatoon 2? Surprisingly, it’s similar to Splatoon 1’s system. The bar actually represents a number between 0 and 100. I will refer to this internal number as the “progress number” in this post. You also have a “power” level for each gamemode, although it is never exposed to the user until they reach Rank X.

What is “Power” anyway?

“Power” is actually a Glicko2 rating. Glicko2 is a public domain rating system invented by Professor Mark Glickman as a replacement for the Elo rating system. Because of this, in addition to your rank, progress number, and power, you also have a rating deviation (RD) number for each mode. This is never exposed to the user. I can’t explain all the details about Glicko2 here, so for further reading I suggest going to these websites:

The game does not take in account your kills, deaths, turf points, or how much you contributed to the objective, since Glicko2 only considers whether you won, lost, or if there was a draw. In the calculations, the individual power levels of the players on the opponent team is converted into a single power value via an unknown method. This value is then used as the opponent rating in the Glicko2 calculation for your new power level. (See the “composite opponent” method from the Rhetoric Studios link above for an example of how this could work. The method described in the paper likely isn’t what is used in the game, however.)

If you are willing to mod your Switch, you can look at your power values for each mode. Dump your save using a homebrew program (like Checkpoint, for example) and use SplatHeX to view the data.

The Progress Numbers and The Bar

Despite the similarities between Splatoon 1 and Splatoon 2, the sequel adds new features on top of this number to improve the system. For example, Splatoon 2 shows the progress number as a bar that slowly fills up instead of just a raw number. (However, at times, it seems that the bar doesn’t exactly match the actual value of the progress number.) Many parameters that control how the bar system works are set through a configuration file is downloaded from the server every time the game boots. This means that Nintendo can change various aspects of the rank system without having to update the game. You can look at this configuration file on my website:

Select the Ranked Battle parameters tab to show the relevant numbers. We can see (as of 08/11/2018) that the parameters are set as following:

  • You can earn between 10 or 20 points towards your progress number per game. For S+, you can earn between 9 and 20 points per game.
  • The OK line is placed at 40 points for C- to S. For S+, the OK line is placed at 50 points.
  • When in S+, you can only go down one rank at a time. For example, you can only go from S+4 to S+3.
  • If your bar breaks, you will keep 40% of your points, even when you rank down.

In addition to your “normal” progress number, there is an additional hidden progress number that is incremented when you lose. Like the regular progress number, this is a number between 0 to 100. When you reach 100 points, the game sends you back to a previous rank. Every 25 points counts as one “crack” in the rank bar. Reaching around 90 points will cause the game to display “Danger!” on the rank bar. The game uses the same configuration data as the normal progress number when calculating the number of points to add.

The number of points added for both progress numbers is calculated based on the probability that you will win the match. If the game determines you to have a high probability of winning the match, you will not have many points added to your normal progress number. However, if you lose, you will receive a high number of points added to your losses progress number. The opposite is true if you have a low probability of winning. If you win, you will receive a large amount of points towards your normal progress number, and a smaller amount added to your losses progress number if you lose.

How the game calculates your probability of winning,
also known as “what programmers see in hell”

How do you skip ranks?

One addition to the rank system is that you can skip ranks if the game considers you good enough. How does this work? Once again, it ties into your hidden Glicko2 rating for each mode. The game has a list of target power level – one for each rank. If your power exceeds one of these thresholds when you rank up, the game will skip you to that rank. It should be noted that these target power levels are actually different between regions. North America and Europe have lower target powers than Japan for some ranks, which means that in some cases it is actually easier to skip ranks if you have a North American or European copy of the game.

Let’s look at the numbers for both regions (as of 08/12/2018, latest data is available on the VS settings web page linked above).

RankPower (NA/EU)Power (Japan)
C-10001000
C11001100
C+12001200
B-12501250
B14501450
B+15501550
A-16501650
A17001700
A+18001800
S18501900
S+019002000
S+120802080
S+221202120
S+321602160
S+422002200
S+522302230
S+622602260
S+722902290
S+823202320
S+923502350

The target powers in S and S+ vary between regions. S+ requires 1900 power in North America and Europe, though 1900 power is required for S rank in Japan. This technically means that (ignoring everything but the raw numbers) a North American or European S+0 player is equivalent to an S player in Japan.

Let’s use these numbers in an example. Let’s say you wanted to skip from S+6 to S+9. You would have to reach at least 2350 power to skip to that rank. A common misconception is that you need to “win every game” to obtain a rank skip. This is not true, as some people have found out. Keeping in mind how the game calculates power, you need to win games against teams of a higher average power than you, which will increase your own power more than winning against teams with lower average power levels.

Rank X

In update 3.0.0, Nintendo introduced Rank X, which is even higher than S+. This rank replaced S+10 to S+50 when the update was released. Similar to the bar system, Rank X data is in a configuration file downloaded from the server, so Nintendo can update it independently of the game data.

As of 08/12/2018, here is the data (latest data available from the VS settings web page linked above):

  • If you end up below 2000 power at the end of the season, you are demoted to S+9.
  • If you end up below 1900 power mid-season and you lose again, you are demoted to S+9.
  • 10 calculation matches are used for the Glicko2 initial power calculation.
  • Your starting X Power (during your calculation period) is between 2000 and 2300. The initial RD is 250.

Closing

I hope this clears up some of the misconceptions that people have with the ranking system in Splatoon 2. It’s really interesting to see how Nintendo implemented this system. On a slightly unrelated note, ARMS also uses Glicko2 internally, but the rating is never exposed to the user. I imagine some discussions and code sharing occurred between the two development teams.

I would just like to thank my SO, Simonx22 for his support (and for being my server’s sysadmin <3). I would also like to thank Lean for helping to reverse engineer aspects of the game and for helping to develop SplatHeX. Thanks also to WemI0 for assisting in the development in SplatHeX. Additional shoutouts to MasterF0x, and to everyone else from Wii Sports.