Dominance Index (v1.0) in Overwatch League: evaluating a quality of a win
In my last post, I validated the importance of team stats (https://owimt.medium.com/which-stat-is-important-to-win-a-map-in-owl-611b0dacfcae), and hero stats (https://owimt.medium.com/important-stats-of-each-hero-b9f4adc71c3e) through the classification model.
In the model mentioned above, I pointed out the importance of stats correlated solely to winning a map, not the quality of the win. But we all know that the quality between a one-sided game (3:0) and a close game (3:2) is different. It is also worth noting that even though two different matches may have the same scores, game time may indicate that the quality of these matches may differ vastly. For example, a 3:0 match that took 5 minutes looks more one-sided than a 3:0 that took 20 minutes which seems much closer.
Here I made a new map stat, the ‘Dominance Index (DI)’ to take this into account.
I set DI as a value from 0 to 1 (0: total defeat, 1: total domination of a map).
I thought that the DI should meet the following conditions,
1. Higher ‘objective points’ -> Higher DI
2. Less ‘time played to attack’ -> Higher DI
3. More ‘time banked’ -> Higher DI
4. Draw -> DI = 0.5
To evaluate ‘dominance’, I defined ‘final map point’ as the following,
where $P_{final}$ : final map points, $P_{actual}$ : actual map points, $P_{hypothetical}$ : hypothetical map points.
If a team banks time, that means the team may get more points if they play out the banked time. For example, a team made 10 points and banked 150 s while they used 300 s for attack, I assumed that the team might make 5 more points because they banked 1/2 of the time they used to attack.
therefore, $P_{hypothetical}$ is defined as the following,
where $t_{bank}$ : time banked, $t_{attack}$: time played to attack
Also, actual map points, $P_{actual}$ is defined as the following,
1. Control: % taken (winner = 100%)
2. Payload (escort): total payload distance
3. Hybrid: (control points converted into payload distance) + total payload distance
4. Assault (2cp): map score
Note that for hybrid maps, control points taken were converted to the average of second and third payload distances. For example, in King’s Row, the distance to the second checkpoint is 114.6 m and the distance to the third checkpoint is 70.04 m. So the value of the first point is 92.32 m (average of 114.6 and 70.04). This implies that if a team takes A point in King’s Row, this is equal in value to escorting the payload for 92.32 m.
Finally, to normalize the dominance for each map the DI of team A is defined as follow,
where $DI_{A}$ is the dominance index of team A, $P_{final A}$ is final map points of team A, and $P_{final B}$ is final map points of team B.
Simply put, if a team’s DI is close to 1, this means that the team is likely to have dominated the map. If the DI is 1, this means that the team had totally domination for the map and conceded 0 points to the opponent team (full hold).
Here is the histogram of Away teams’ DI from every map played in OWL history (9107 maps in total).
You can see that DI is a well designed stat for further analysis, as it is showing normal-like distribution, with the exception of Assault maps. This is inevitable because there are only two indicators in terms of measuring progress in Assault maps — point taken or not taken (0 or 1), so I think that designing DI with ‘team fights’ would be more accurate, but let’s discuss this later.
All teams’ average DI distributions irrelevant to map type looks like,
Let’s see the DI distribution of NYXL.
When compared to the DI distribution of the entire league, you can see that NYXL’s DI distribution is more to the right side (dominant side), which suggests that we played more number of dominant games than the average OWL team.
Here is the DI ranking of all seasons combined (2018, 2019, 2020).
San Francisco Shock takes 1st place with 0.57 DI and we take 2nd with 0.55 DI. Shanghai Dragons takes 16th because of seasons 2018 and 2019, even though they performed really well in the 2020 season.
A question here — which team stat is relevant for DI?
To train the team stats (input) and the DIs (output), I used deep neural network with two dense hidden layers of 20 nodes and 30% dropout layers as the following,
5790 maps were used for training data and 1448 for test data. 25% of the training data were used for validation. ‘Relu’ was used as the activation function and the optimizer was ‘adam’, and the loss function was ‘mean squared error (mse)’. The train epochs were 500.
After 500 epochs of training, the model had 0.09 mean absolute error (mae), which indicates the trained model predicted the DI by team stats with 9% of average errors.
This is the scatter plot of prediction DIs and actual DIs
Note that both end sides (DI = 0 or 1), mainly came from assault maps, were hard to predict. It seems like there should be further studies on these values.
Finally, I used SHAP (SHapley Additive exPlanations) to evaluate the impact (or importance) of each team stat on DI.
The results were consistent with the map-win classification previously mentioned, (https://owimt.medium.com/which-stat-is-important-to-win-a-map-in-owl-611b0dacfcae). ‘Deaths’ was the most important stat. Interestingly, 4 of top 5 stats were the same in both map-win classification model and DI regression model: ‘Deaths’, ‘Final Blows’, ‘Objective Time’ and ‘Assists’. Indeed, ‘Deaths’ stats were linearly correlated with team DI values,
Within the same data pipeline, we can also evaluate the relevance of each hero’s individual stats to DI, which could be an important stat to dominate a map.
- English Revised by Minseong Kim (NYXL Player Manager)
Originally published at https://owimt.blogspot.com on January 26, 2021.