Gatekeeper Teams of the Overwatch League
Watching the Overwatch league is probably my nerdiest hobby (well after doing data analysis on the weekend so I can write these posts of course).
Overwatch fans love debating which team each year is the “gatekeeper”. The gatekeeper is the team that beats lower ranked teams, often in a lopsided fashion, but can’t themselves move out of the midtable. In this way they gatekeep the standings: top teams can beat them, bottom teams can’t, and so they define the dividing line between the two groups.
Determining which team is the gatekeeper of each season seems like a good question to answer with data. I can look for a team that is good at beating low-level competitors, but fails against the top teams.
To find the gatekeepers of each season, I need to define some metric to measure them by. I will use what I call the gatekeeper score.
The gatekeeper score is the win percentage against teams that finished lower in the regular season standings minus the win percentage against teams that finished higher in the standings. A perfect gatekeeper team, one that beats all lower ranked teams but loses to all the teams above them, would have a gatekeeper score of 100 (100% win rate against lower teams minus 0% win rate against high teams).
This score captures most of what I want, but there are a few problems:
The best and worst team each season have an undefined score because there are no teams better or worse than them. This is not a big problem because to be a gatekeeper you must gatekeep someone, and you can’t do that at the top or bottom of the standings.
High Volatility Near the Top and Bottom
Teams near the top or the bottom of the standings have a small number of matches used to compute one component of their score. This tends to increase the volatility of their scores relative to midtable teams that have a lot of matches counted on either side.
This is a bigger problem because it means that teams near the top and bottom are more likely to have a high gatekeeper score just because they won or lost a single match, whereas teams in the middle need to win or lose many matches to change their score.
I could adjust the score by the number of games, or compute an estimate of the variance, but for now I will just call out this issue as I run into it.
I used two sources of data for this comparison. The first is a record of the outcome of every map played from the Overwatch League’s Stat Lab. I transform this data to get match-level1 win-loss records for each team by opponent. You can find that data here and the notebook to parse it is here (rendered on Github).
The second data source is the regular season standings of all the teams. I scrape this data from Liquipedia. I used the regular season standings because the final standings are based on a handful of playoff games while the season standings incorporate many more matches and so provide a more accurate estimate of a team’s performance. The parsed standings data is here. The code to generate the data frame is here (rendered on Github).
To compute the gatekeeper score I used both regular season and tournament games, primarily because the dataset does not separate them and I don’t want to go label them by hand.
The final, combined data frame, can be found here. The notebook to read it is here (rendered on Github).
Here are the gatekeeper scores for each season and region. The tables are ordered according to the regular season ranking. I have highlighted teams I think could rightfully be called gatekeepers.
|New York Excelsior||—|
|Los Angeles Valiant||28|
|Los Angeles Gladiators||56|
|San Francisco Shock||54|
The 2018 Florida Mayhem were a bad team with a possibly even worse uniform. They went 7-33 in the inaugural season and were saved from the bottom of the rankings by the team with the worst losing streak in professional sports history: the 0-40 Shanghai Dragons.
The Mayhem went 3-0 against the Dragons for a 100% win rate against worse teams, and 4-33 against better teams giving them an impressively bad 11% win rate. Combining those rates yields a gatekeeper score of 89!
But are they the gatekeeper? They run into the volatility problem I described above: 3 wins against the Dragons got them 100 points and 4 wins against better teams lost them only 11.
I think the 2018 Seoul Dynasty are a better candidate for the gatekeeper team. They went 22-18, solidly middle-of-the-pack, and they have a 93% win rate against lower ranked teams with only a 32% win rate against higher rated teams. They are also the first team with a positive win rate and map differential as you work your way up from the bottom.
The 2019 season added eight teams to the league and was dominated by the highly-technical GOATS meta in which teams played three tanks and three supports. During this meta, teams were forced to rigorously track their opponents ability usage and perfectly time their own in order to win fights. The Vancouver Titans, the San Francisco Shock, and to a lesser extent the New York Excelsior mastered this style of play and dominated the league while many other teams failed to achieve the high-level of coordination required and sunk down in the rankings.
|San Francisco Shock||24|
|New York Excelsior||56|
|Los Angeles Gladiators||44|
|Los Angeles Valiant||26|
Once again a bottom-ranked team has the highest score and for the same reason: volatility. The 2019 Washington Justice went 4-0 against Boston and Florida and 4-20 against better teams.
More interesting are the 2019 Hangzhou Spark, who placed fourth. They lost every game against the top three teams, going 0-7, including 2 lost playoff games against the eventual champions the San Francisco Shock. But the Spark made up for it with a 75% win rate against worse teams.
What feels right about the highly-ranked Spark being the gatekeepers is it follows the storyline of the 2019 season: that the Vancouver Titans and the San Francisco Shock were a tier above everyone else in the GOATS meta, that only a few other top teams were able to execute the GOATS composition with enough coordination (among them New York), and that everyone else floundered trying to play a meta they did not have the skill to.
The 2020 Overwatch League season was split into two regions with very few games played between them due to the 2020 COVID pandemic. For that reason I have split the comparison in two and look at the North American and Asian regions separately.
|San Francisco Shock||14|
|Los Angeles Valiant||15|
|Los Angeles Gladiators||50|
The 2020 Atlanta Reign were the first time I remember a team specifically being referred to as a gatekeeper. They had flashy, lopsided games against teams below them in the standings, but constantly failed to advance by beating teams ahead of them. You can see it in their stats: the Reign have an 85% win rate against lower ranked teams—the third highest in the league behind the eventual champions the Shock and Washington who only had team below them—but just an 18% win rate against higher ranked teams.
However, I think the 2020 Dallas Fuel are the true gatekeepers of the league. They had almost as high a win rate against worse teams at 83%, but a much lower win rate against better teams at 7%—the lowest in the league that year!
|New York Excelsior||38|
There were two facts in the 2020 Asian region: the Shanghai Dragons were the best team in the region by a mile, and the London2 Spitfire were the worst by a wide margin.
Amongst the remaining teams, the 2020 Hangzhou Spark look like a good candidate for the gatekeepers. They beat lower ranked teams 67% of the time, but only managing 17% against better teams, and they finished exactly in the middle of the pack in the standings.
The 2021 season was again split into two regions due to COVID, but there was a lot more cross-play between the regions as each of the four tournaments and the playoffs included teams from both regions. Still, I only look at the record against teams within the region as that is how regular season standings were determined.
|Los Angeles Gladiators||70|
|San Francisco Shock||43|
The 2021 London Spitfire were a disappointing team. The majority of the players had been called up from the Spitfire’s academy team the British Hurricane who had gone 12-0 and won the 2020 Overwatch Contenders season (Overwatch’s minor league). But they floundered in the Overwatch league, barely scrapping together a 1-15 season. They got their only win in the infamous Bread Bowl against the 1-15 Vancouver Titans. That gave the Spitfire a 1-0 record against lower ranked teams and a 0-15 record against higher ranked teams, resulting in a perfect 100 point gatekeeper score.
Of course a one-win team isn’t a gatekeeper, despite what the score says. Likewise it’s hard to call the 2021 Los Angeles Gladiators gatekeeper because their 0% win rate against higher ranked teams (just the Dallas Fuel) represents only two games.
For that reason, I think the 2021 Toronto Defiant are the gatekeepers of the North American region. They had a typical middle of the pack season: finishing 7 out of 12 in the West, a 9-7 match record, and a perfectly balance map record with 32 wins and 32 losses. To round it out, they had an 82% win rate against worse teams and just a 20% win rate against better teams.
|New York Excelsior||27|
|Los Angeles Valiant||—|
The 2021 Guangzhou Charge have the highest gatekeeper score, but it is, once again, due to only having a single team below them: the winless 2021 Los Angles Valiant. So I do not think they’re a good choice for gatekeepers.
Instead, I would choose the 2021 Seoul Dynasty, who had a similarly bad win rate against better teams (22% for Dynasty, 21% for Charge), but who earn their 85% win rate against lower ranked teams honestly by beating teams that have actually won games, like the 10 and 10 2021 Philadelphia Fusion.
A match consists of multiple maps that are played sequentially. The first team to win a specific number of maps wins the match. The number of map wins needed is often 3, but occasionally 4 or more for tournaments. Some seasons all maps were played out even if one team had already clinched the match. ↩
I know London is not in Asia, and neither is New York, but during the pandemic these teams decided to move to Korea for safety. ↩