Thanks to the official page of
the league, people can search and play with the stats produced in each
match. Although it provides an easy way to get insight, I found it
difficult to use for specific hypothesis or topics that people might
want to know. Also, it includes information of previous seasons, but
they have a different format both in the tournaments
and in the number of players, different map pools,
between other aspects. That makes the analysis of the current season
with previous information kind of useless.
Some general considerations:
1. The last update of the official dataset was in
10/26/2022, but the season has already finish.
- 1.1 This makes that the analysis incomplete, missing part of the
information for the Postseason and all information of the
Playoffs.
2. This version might not be as interactive as in the official page, I
plan to make it a Shiny App later or maybe for the
following season. Another option was to make it this analysis using
SQL and Power BI/Tableau, but for practice I
choose to make it all in R and in Markdown.
3. Graphics need a correct theme, I know but I am doing this in my free
time as data analyst. I am trying to improve analysis and visualization.
Also, I know the technical aspect of R Markdown, but I lack the ability
of making pretty documents.
As always, it is useful for the user and the
developer to have a preview of the data in the analysis.
Although the data in the official dataset is almost clean,
there are some data entry errors and missing useful columns.
Here, you can see a clean preview, first 5 entries, with additional
information that I have added.
The first part is to look into the match duration, in hours, for all
the matches.
As expected, Tournaments tend to have a larger duration than
Qualifiers. This can be explained by factors such as when you lose in a
tournament you are knockoff so teams try their best to don’t get
eliminated as quick as possible. Also, the final match of tournaments is
play in a first to 4 format and not first to 3.
Overwatch counts with a variety of maps, not all of them are eligible
during certain qualifiers or tournaments.
In general, the first team to win 3 maps win the match. The order of the
maps according to their type is:
1. Control map
2. Escort map
3. Hybrid map, at this point it is expected that a team has won
by a score of 3-0. (only in Qualifiers)
4. Push map
5. Another control map
On Qualifiers, we have the same number of Hybrid and
Escort maps as they are played only once per match. Push is the fourth
map to get played if there is no winner in the first three maps, and
another map of Control is played as a tie breaker.
On Tournaments, we have less teams and the final match
is play in a 4-0 format.
As mentioned previously:
Qualifiers are play as a first to 3 format.
In Qualifiers, the maximum is 3-2 as in case of tie, 2-2, the last map
is Push, where it is “impossible” to draw again.
Tournaments Qualifiers are play as a first to 4.
As in any sports, both teams fight to get points to win. In Overwatch each point is attributed by winning a map. Obviously, the number of maps taken by losers will be less than the winners.
## # A tibble: 1 × 2
## `Maps taken by winning team` `Maps taken by loser team`
## <dbl> <dbl>
## 1 914 267
One of the most entertaining/frustrating moments in any sports are
the reverse sweeps.
In Overwatch a reverse sweep happens when a team win all consecutive
maps except for their match point map lose the following maps in a row
getting a defeat.
## # A tibble: 2 × 2
## reversed n
## <chr> <int>
## 1 No 283
## 2 Reversed 18
From the numbers, it seems that a reverse sweep is quite infrequent,
just 18 matches in total for season 2022.
Now, it is time to know which teams accomplish a reverse sweep in
this season and against who.
The average time to win and the number of matches can be helpful to
know things like:
- How constant is a team at wining.
- The time window that a particular team has to win, longer
times might impact certain teams.
- The play style of teams, like aggro, stall or control.
## # A tibble: 1 × 3
## total_time total_wins time_to_win
## <drtn> <dbl> <dbl>
## 1 1066560 secs 240 1.23
Talking a little bit about of the time to get a win and the total
matches won.
> In the future I will try to do a shiny app for interactivity, I
have the function for it, but no the knowledge to make the app.
I haven’t finish the whole analysis, I need to develop the charts for
some topics that I already have like: global win rate,
map winrate by team,
First map win the match.
Also look into distances, progress for the type of maps,
individual stats that are in other dataset,
etc.
Finally, continue improving the analysis and
visualisations, and look into the following
season.