HCT Falls Americas Playoffs (Part 3 of 3)

Hi

This is part 3, and last, of a series dedicated to discussing about 2018 HCT Falls Americas Play-offs. In this post, I will be discussing which line-up had the best chance of winning against the meta of the tournament and also evaluating the ban decisions of the top 4 players from this tournament.

If you have not read the previous two posts, do check them out as I have discussed how I got my data regarding the tournament and the concept of optimal ban decision.

Best Line-up

Let’s have a short re-cap on what is an optimal ban decision.

The optimal ban decision for each player of the match is as such:

  1. Player 1’s optimal ban decision is such that his chance of winning is at least some number, W, no matter what Player 2 choose to ban (Maximising win-rate).
  2. Player 2’s optimal ban decision is such that his chance of losing is at most some number, W, no matter what Player 1 choose to ban (Minimising win-rate).

Do read up on part 2 of this series to have a clearer explanation on this concept.

In order to find out the best line-up, I will have to calculate the probability of each line-up winning against each of the rest of the line-up in the tournament. This probability is derived based on the assumption that both players have made the optimal ban decision.

In this tournament, there were a total of 48 unique line-ups (excluding Cheese’s and HockeyBoyz3’s line-up). The most popular line-up was {Taunt Druid, Deathrattle Hunter, Quest Rogue, Even Warlock}, which was the line-up of 5 players (dog, Fled, Nalguidan, PNC, seiger). The highest win-rate that any line-up has against another line-up is 80.19%, a match between {Taunt Druid, Deathrattle Hunter, Quest Rogue, Even Warlock} vs {Togwaggle Druid, Control Priest, Even Warlock, Mechathun Warrior}. The only player that brought the latter line-up is fibonacci. The former line-up is also the most popular line-up. What this means is that fibonacci has potentially five very difficult matches to play in. fibonacci in the end had to play against one of the five players, Nalguidan, and as expected, he did not win the match.

Let’s have a look at this match table.

fibonaccivsnalguidan.PNG

As you can see, fibonacci has a small chance of winning regardless of the ban decisions. His highest chance of winning is only at 33.3% when he bans Quest Rogue and Nalguidan bans Mechathun Warrior. The optimal ban decision for fibonacci is actually banning Deathrattle Hunter and for Nalguidan is banning Even Warlock. The win-rate in this case then becomes 19.81%. In the actual match, fibonacci banned Even Warlock while Nalguidan banned Control Priest, resulting in a win-rate of 19.7%. As you can see, both players did not ban optimally. However, even if fibonacci did banned optimally, his chance of winning will still be very low.

So which line-up has the best win-rate, taking into account the composition of line-ups in the tournament?

bestlineup

As you can see the best line-up has an average win-rate of 56.32%, and it is the line-up of SnipedAgain. The second best line-up has an average win-rate of 55.69% and it is brought by Joaquin. Interestingly, these two line-ups do not have a Druid deck in them. Druid decks were a very popular choice to include in line-up and they are quite powerful standalone decks. However, both players did not finish very high in standings after the Swiss rounds.

The third best line-up is the most popular lineup, with a win-rate of 54.54%. The next line-up with a win-rate of 54.2% was actually brought by 2 of the top 4 players in this tournament, justsaiyan and Tincho. justsaiyan went undefeated with this line-up.

Let’s a take a look at some low win-rate line-ups.

lowestwinrate.PNG

The lowest win-rate is 41.87% and the line-up was unfortunately brought by PrinceFancy. You might notice that these five line-ups included a Warrior deck. And generally line-ups with a Warrior deck did not have a favourable win-rate. Perhaps it was the wrong time to bring those Warrior decks. The rest of the line-ups were brought by Zamos, Rosty, fibonacci, klei, from top to bottom of the table. All of them did not finish very high in standings. The best performer among them was klei, who finished at number 35.

Top 4

As I have already pointed out, justsaiyan and Tincho brought along a line-up that were favourable to them. So what about bloodyface and lnguagehackr?

lnguagehackr’s line-up of {Taunt Druid, Quest Rogue, Shudderwock Shaman, Cube Warlock} had a win-rate of 47.31%, which is unfavourable. bloodyface brought a favourable line-up of {Malygos Druid, Deathrattle Hunter, Quest Rogue, Even Warlock}, which had a win-rate of 52.7%.

So out of the 4 of them, 3 brought line-ups with favourable win-rate.

Let’s take a look at their ban decisions during the tournament.

justsaiyan

justsaiyan.PNG

justsaiyan played a total of 9 matches and did not lose a single one of them. From the table above, you can see that 6 out of 9 matches were favourable for him. Interestingly, justsaiyan also banned optimally on all 8 times where there is a pure strategy to banning. He did not concede additional win-rate percentages, by banning optimally all the time.

bloodyface

bloodyface.PNG

bloodyface played a total of 9 matches and won 7. Only 8 matches are shown here as one of them was against Cheese, the player that I have excluded. What is incredible is that bloodyface had to win some difficult matches; you can see that bloodyface only has 2 out of 8 matches that were favourable for him. bloodyface banned optimally on 5 out of 8 times where there is a pure strategy to banning. bloodyface actually played against Tincho twice, first time was a loss while the second time was a win. Interestingly, bloodyface did not ban optimally on their first encounter but subsequently made the optimal ban in their second match.

Tincho

tincho.PNG

Tincho played a total of 10 matches and won 8. Only 9 matches are shown here as one of them was against Cheese, the player that I have excluded. Tincho has 8 out of 9 matches that were favourable for him! (Luck must have been on his side 🤣.) Tincho only banned optimally on 3 out of 6 times where there is a pure strategy to banning. Tincho played against bloodyface and ETC twice. Interestingly, Tincho did not ban optimally on both encounters with ETC. Overall, I believe it was Tincho’s strong line-up that helped him to succeed in this tournament.

lnguagehackr

lnguagehackr

lnguagehackr played a total of 10 matches and won 8. lnguagehackr only has 3 out of 10 matches that were favourable for him. This is probably partly due to his line-up being unfavourable in this tournament meta. Even though he had so many unfavourable matches, lnguagehackr banned optimally on 9 out of 10 times where there is a pure strategy to banning, ensuring that he did not concede unnecessary win percentages to his opponent. Perhaps unfortunately for him was that 8 out of 10 of his opponents also banned optimally, so he wasn’t able to take advantage of any sub-optimal ban by his opponents.

Conclusion

With that, I would like to conclude this series. Hope that you guys have learnt something new about banning decisions in tournament. I am open to suggestions on what I should cover next. Feel free to contact me if I have made any mistakes or if you have any suggestions.

Cheers

HCT Falls Americas Playoffs (Part 2 of 3)

Hi

In this post, I will be analysing the ban decision made by players in the 2018 HCT Falls Americas Play-offs. I will be introducing the concept of what is an optimal ban decision. Using this concept, I will then walk through some example matches from the tournament.

This post is a continuation from part 1, where I briefly introduce the events and also how I derived the relative win-rate of line-ups.

Optimal Decision

In this analysis, I will define the optimal ban decision for each player of the match as such:

  1. Player 1’s optimal ban decision is such that his chance of winning is at least some number, W, no matter what Player 2 choose to ban (Maximising win-rate).
  2. Player 2’s optimal ban decision is such that his chance of losing is at most some number, W, no matter what Player 1 choose to ban (Minimising win-rate).

This is best explained using an example.

4v4

This is the same example I used in my part 1 post. To recap, Player 1 uses {Taunt Druid, Deathrattle Hunter, Even Warlock, Odd Warrior}, while Player 2 uses {Malygos Druid, Control Priest, Odd Rogue, Even Warlock}.

To find the optimal decision for Player 1, we need to go through the available ban options for Player 1, and find the highest minimum chance of winning. If Player 1 choose to ban Malygos Druid, his minimum chance of winning is 49.69%. If he bans Even Warlock, his minimum chance of winning is 51.06%. If he bans Control Priest, his minimum chance of winning is 53.08%. Lastly, if he bans Odd Rogue, his minimum chance of winning is 56.21%. Therefore, Player 1’s optimal ban decision is banning Odd Rogue, as it gives him the highest minimum chance of winning.

The same process applies for Player 2, except we are now finding the lowest maximum chance of winning. This is because Player 2 wants to minimise his chance of losing. If Player 2 choose to ban Deathrattle Hunter, his maximum chance of losing is 58.20%. If he bans Even Warlock, his maximum chance of losing is 61.73%. If he bans Odd Warrior, his maximum chance of losing is 56.73%. Lastly, if he bans Taunt Druid, his maximum chance of losing is 56.21%. Therefore, Player 2’s optimal ban decision is banning Taunt Druid, as it gives him the lowest maximum chance of losing.

In this situation, Player 1’s highest minimum chance of winning = Player 2’s lowest maximum chance of losing. This is an optimal situation as each player cannot improve his position with an alternate ban decision, given that the other player’s decision remain unchanged. This is also known as the Nash’s equilibrium. In this example, each player uses a pure strategy to achieve his optimal position.

A quick summary to find this optimal situation is to first figure out the maximum values for each column, and then the minimum values of each row, and finally there is an optimal win-rate when one of the maximum values equals one of the minimum values.

However, sometimes there is no pure strategy available for either player to achieve a Nash’s equilibrium.

4v4 mixed

In the above example, the maximum values for each column are {52.77%, 49.95%, 51.07%, 53.12%} and the minimum values for each row are {48.38%, 48.55%, 44.54%, 48.35%}. As you can see none of the maximum values equals to any of the minimum values. There is no Nash equilibrium. We can verify this with an example: If Player 1 bans Even Warlock, Player 2 will ban Token Druid. If Player 2 sticks with his choice of Token Druid, Player 1’s best ban option then becomes banning Even Shaman. If Even Shaman is banned by Player 1, Player 2 would then choose to ban Secret Hunter instead. If Player 2 bans Secret Hunter, Player 1 would ban Even Warlock. And this would go in a loop, no equilibrium is established.

In this case, the optimal position can only be achieved by using a mixed strategy. This means that each player’s options are assigned a probability, p. This means that each player should choose an option based on the assigned probability. If the mixed strategy is 50% Odd Rogue, 50% Secret Hunter, Player 2 needs to randomly choose between these two options with the given probability (This is not the optimal mixed strategy for this case). In order to find the optimal mixed strategy, linear programming is required. I will not discuss any situation where mixed strategies are required as it’s not very easy to understand in my opinions. Hence, I will just cover pure strategies as they are much more obvious to most people.

Actual Matches

I have analysed a total 219 matches from this tournament. I had to exclude matches that involved the player Cheese and HockeyBoyz3 as their line-up included decks that did not have win-rate data available at HSReplay.

Let’s first take a look at some sample results.

sample.PNG

The header in this table should be quite self-explanatory. Just to clarify Columns C, D, I and J; they represents deck that has been banned from their line-up. Columns C and D are the actual ban made in the match while columns I and J are the optimal bans to be made. For example from row 2, jakaso27’s Druid deck was banned by TheMaverick and TheMaverick’s Hunter deck was banned by jakaso27. Column F is Player 1’s chance of winning given the actual ban decision. Column G and H are Player 1’s chance of winning given the optimal ban decisions. They are essentially the same except when mixed strategies are involved. Lastly, column K is the difference between the actual win-rate and the optimal win-rate. A positive difference means that the ban decisions were in favour of Player 1 i.e. Player 1’s chance of winning increased, while a negative difference means that the ban decisions were in favour of Player 2 i.e. Player 2’s chance of losing decreased. When both players used their optimal strategies, the difference is zero e.g. row 3 in the table.

Let’s take a look at some matches with positive difference.

positive

As you can see, the largest positive difference is 7.16%! This is so large that it actually turns the match from unfavourable to a favourable match for lii. lii banned Odd Warrior from UchihaSaske’s line-up, which is an optimal decision. UchihaSaske banned the Combo Priest deck instead of Even Warlock, which is not optimal. This ultimately helped to swing the match to lii’s side, and probably helped lii to secure the win eventually. Below is a breakdown of the line-up win-rate table for this match.

liivsuchiha

You can figure out yourself based on this table that indeed the optimal ban decision for lii is Odd Warrior and for UchihaSaske is Even Warlock. One possible reason that UchihaSaske banned Combo Priest could be that he is unfamiliar playing against Combo Priest.

Referring to the previous table, I would like to point out that in the Firebat vs Fled match, both players actually did not ban optimally. However, the bans were in favour of Firebat. Unfortunately, it did not change the match to be in Firebat’s favour at the end.

firebatvsfled

Let’s see what would be the win-rate like if either player had banned optimally, given the other player’s non-optimal choice. If Firebat banned Quest Rogue and Fled banned Odd Rogue instead, Fled’s chance of losing would be 41.46%, slightly improving Fled’s position to win the match. If Fled banned Token Druid and Firebat banned Taunt Druid instead, Firebat’s chance of winning would be 49.81%, just slightly below 50%. Perhaps, this could have helped Firebat to win the match otherwise.

Now let’s take a look at negative difference.

negative.PNG

The largest negative difference is even bigger, at -10.35%! In this case, it greatly improved Lyme’s chance of winning. Let’s see the line-up win-rate table.

starfruitvslyme.PNG

Lyme has made the optimal ban decision of banning away Even Warlock. Starfruit’s choice of Control Priest was not optimal as the optimal option was Odd Warrior.

Referring back to the negative difference table, you can see that in the Akatsu vs Ryder match, both players did not ban optimally. However, this time the ban is in favour of Player 2, Ryder.

Let’s do the same analysis as we did for the Firebat vs Fled match.

akatsuvsryder.PNG

If Akatsu banned Odd Warrior and Ryder banned Even Warlock instead, Ryder’s chance of losing would be 47.05%, slightly improving Ryder’s position to win the match. If Ryder banned Quest Rogue and Akatsu banned Big Druid instead, Akatsu’s chance of winning would be 50.86%, turning the match to his favour. Perhaps, this could have helped Akatsu to secure the match.

Moving on

I hope that you have learnt something from this blog post, especially about optimising ban decision. You can clearly see that impact of ban decision on the win-rate of each player, sometimes swinging the favour of the match from one player to his opponent.

One reason that I could think of why players did not ban optimally is because their individual deck win-rate is different from the data that I have gathered from HSReplay. Ultimately, ban decisions are based on the individual experiences playing with and against certain decks.

I will continue to cover this event. Next up, I will look at which player has the best chance to succeed in this tournament given the composition of line-up in this tournament i.e. the tournament meta.

If you have any suggestions or query about my analysis, do contact me via email!

Cheers

 

HCT Fall Americas Playoffs (Part 1 of 3)

Hi

Welcome to my first post of analysis. It will be about the 2018 HCT Fall Americas Playoffs. I intend to write a few posts about this event as it is too much to cover everything in just one post.

The analysis will mainly be about the ban decisions made by players. I will explain a little about the event in case you are not clear about the event. In this first part, I will give an introduction of the event and how I got my data to do my analysis.

The Event

The 2018 HCT Fall Americas Playoffs is basically a tournament for Hearthstone player to compete for a chance to earn a place in the Hearthstone Fall Championship. It is part of a series of tournaments organised by Blizzard to allow pro-players to compete. A similar event is also organised for the region of Europe, China and Asia-Pacific. 4 players from each regions then compete in the Fall Championship.

The overall tournament format goes as follows:

HCT Fall

There were a total of 76 participants. As you can see only 4 players (5% of the total participants) will eventually be able to participate in the Fall Championship from this playoffs. This is definitely a tough process. 😱 Congratulations to justsaiyan, lnguagehackr, Tincho and bloodyface for emerging from this playoffs to participate in the Fall Championship.

The matches are played using the Hearthstone competitive format “Conquest” – Best-of-5. Below is a simple illustration of the format:

conquest.png

Do watch this video illustration of the Hearthstone “Conquest” format.

Focus of Analysis

From the illustration above, you might be able to tell that there are certain decisions that players have to make during each match. Each players have to choose which deck they want to ban from the opponent lineup and also which deck to use in each round. I will focus on the ban decisions. I will discuss whether their decisions have been the most optimal ban given the situation they are in.

But before I dive in to the analysis, I will have to first introduce the tedious and hard work of the analysis – getting the data.

The Data

The data that are required for this analysis will be the following:

  1. Each player’s 4-decks line-up
  2. Each player’s ban decision in each match
  3. The relative win-rate of all the decks used in the tournament

For 1. I got my data from Hearthstone Top Decks. For 2. I got them from Battlefy. Lastly, I got the relative win-rate of decks from HSReplay.  These websites are great resources to get data about almost everything about Hearthstone.

hstopdecks

A screenshot from Hearthstone Top Decks. You can see that Activelee has brought along Token Druid, Odd Rogue, Secret Hunter and Zoo Warlock to this tournament.

battlefy.PNG

From the above image from Battlefy, you can see that justsaiyan’s Druid deck was banned and Purple’s Warrior deck was banned. This means that justsaiyan has chosen to ban Purple’s Warrior deck while Purple has chosen to ban justsaiyan’s Druid deck.

matchup.PNG

The way to interpret this screenshot from HSReplay is: Zoo Warlock has a win-rate of 42.87% against Odd Rogue and 56.04% against Tempo Mage. An easy way to interpret is that if you are playing a Zoo Warlock deck against an Odd Rogue deck, you have a 42.87% chance of winning, meaning an unfavourable match for you.

I spent a while to collect this data manually from these websites, unfortunately. If anyone out there knows of faster and easier way to collect such data, do let me know about it 😁. I have all these data stored in a .csv format.

The Pre-processing

The next step of the analysis was to do some calculation of win-rate of line-ups. As shown above, I have a win-rate table of deck vs deck. Now, I want to calculate the win-rate of a line-up vs another line-up. This will involve some calculation of probability. The calculation is pretty tedious to do my pen and paper, so I have it all done using Python. Please read this Reddit post on how to calculate the probability of line-up. It gave me a good direction on how to do my calculation. Briefly, I did my calculation using a bottom-up approach. For e.g. I want to know the win-rate of a line-up consisting {} vs a line-up consisting {}. I first calculate the win-rate of a line-up consisting of 2 decks vs 1 deck, then extended it to 3 decks vs 1 deck, 2 decks vs 2 decks, 3 decks vs 2 decks and then finally 3 decks vs 3 decks. There was no need to calculate a 4v3 and 4v4 win-rate as players are going to have one of their decks banned.

Here is what a 3 decks vs 3 decks win-rate table looks like:

3v3

What this table tells me is that, in a match where Player 1 used {Taunt Druid, Deathrattle Hunter, Odd Warrior} vs Player 2 used {Malygos Druid, Control Priest, Odd Rogue}, if the first match is Taunt Druid vs Malygos Druid, Player 1 will win the entire 3v3 match with a probability of 62.05%, which is pretty high.

After getting all the necessary 3v3 tables, I extended them to 4v4 tables. A possible scenario that makes use of the above 3v3 table is a match between {Taunt Druid, Deathrattle Hunter, Even Warlock, Odd Warrior} and {Malygos Druid, Control Priest, Odd Rogue, Even Warlock}. Here is what a 4v4 table will look like:

4v4.PNG

Here is how to interpret the table: for e.g. if Player 1 bans Malygos Druid from Player 2 line-up and Player 2 bans Deathrattle Hunter from Player 1 line-up, Player 1 will be the winner of the match with a probability of 57.40%. Essentially, Player 1 uses {Taunt Druid, Deathrattle Hunter, Even Warlock, Odd Warrior}, while Player 2 uses {Malygos Druid, Control Priest, Odd Rogue, Even Warlock}. Try not to get confused 😅.

As you can see from this table, the ban decision affected your win-rate as a whole in a significant manner. From the table above, the lowest win-rate is 49.69% while the highest win-rate is 61.72%. The ban decision determines whether the match will be unfavourable or favourable to a certain extent.

The Question

So the question is: What is the optimal ban decision for both players? And did each player actually ban optimally? That will answered in the following blog post.

If there are any questions that you have, do contact me so that I can clarify for you.

Cheers

My First Ever Blog Post

Hi

Thank you for reading this blog post. This is my very very first ever blog post haha 😁 As a first blog post, I believe it is just right to introduce myself and a little bit about what this blog is going to be about.

Me, myself and I

So I am Tee Ming Yi, an undergraduate in Singapore currently. I am studying accountancy and business analytics. So you can probably tell I quite a number guy and I like to analyse things. I have a great interest in programming, as such I have learnt two programming languages, R and Python, both in school and on my own. And I have thoroughly enjoyed using them in finding meanings in large quantity of data.

I also consider myself to be a musician. I play the euphonium since I was 13, and has been playing it in a wind band for almost a decade 😎. Obviously, I enjoy my time playing my instrument and also learning more about music in general with every rehearsal I have with the band. I do hope that I can continue playing it even after I have graduated.

Another hobby of mine is gaming. I love games, be it card games, video games, board games. Basically almost any games 🤣. Currently, the game that I am most interested in is Hearthstone, a digital card game. I have been playing it since its launch and has enjoyed both playing the game myself and also watching pro-players competing in Hearthstone tournament. I wouldn’t consider myself an expert in the game, but I am confident in my understanding of the key elements of the game.

The Hearthstone Blog

So what I am going to blog about is mainly about Hearthstone. Specifically, analysing the different aspects of the game. I intend to use this blog to share about my analysis about the game,  using my knowledge of analytics and programming skills. If anyone reading my posts spot a mistake, or have a suggestion, do contact me as I would like to learn more.

For my first actual post of analysis, I will be analysing the games of Hearthstone Championship Tour Fall Americas Play-offs. I hope that you will find my analysis interesting.

Cheers