I’ll start this blog post with two quick updates to my writing. Skip to the first header below (The Background) if not interested.
My book Deathway is now available in all possible platforms supported by draft2digital! Paperback can be ordered through Amazon or Barns & Noble, eBook from a variety of sources. Use this universal link to explore the different options! Thank you!
I began writing monthly blog updates because I didn’t have time to consistently write (thanks puppies / life!), and wanted to at least adhere to some sort of routine. Since that is not the case anymore, I’ll revert back to posting when there’s something that I want to update – both about my writing as well as some fun data storytelling stuff!
The Background
At the end of October I finally got the chance to attend The International Dota 2 championship (TI 12). This was after playing Dota 2 for over 10 years, and Dota Allstars (as a Warcraft III mod) before that. It’s quite unbelievable that Dota 2 still exists, let alone that it continues to have such a following to be on top of the Steam’s most played games.
Seeing a game tournament in person for me goes beyond just a single game though. Since the advent of eSports (ugh, hate that name), I always wanted to attend a big event like that. As soon as I found out that TI 12 was returning to Seattle this year, it was an easy decision to make!
… and then the price was announced as $699 just for the final three days and reddit.com/r/dota2 collectively lost it. To be exact, the actual price ended up being $880.08 (more on that later). That’s not even accounting for the astronomical expenses of travel, lodging and food/drinks in Seattle, WA.
Considering that for $880.08 one can:
- buy Elden Ring 14 times and still have $40.22 left over
- get 2256.61 lbs (1023.58 kg) of turkey at Publix in TN on 11/11/2023
- possibly pay for a month’s rent (not in TN)
- subscribe to almost 16 months of Netflix, Disney Plus, Hulu and Max
Is it really worth it? Will Valve ever release Half-Life 3 if we keep throwing money at them? Will Dota 2 ever be out of beta?
I’m making fun of it here because the “worth” of things is very much just what we people agree has value (and how much). On top of that, it’s often subjective. I remember arguing with one of my teachers in high school because I had no idea who Dolce & Gabbana were (nor did I care), but the teacher didn’t know who Gabe Newell was. the D&G brand is estimated to be worth about $5.3 billion, while Valve is $7.7 billion, so obviously the conclusion is that games are worth more than fashion and I was objectively right! EZ!
On a more serious note, we people do compare things based on their monetary value. We pair the cost of what we can afford with what we “feel” would be better for us. This might include first checking out reviews or asking for recommendations. For example, a $30 video game, or $30 to go to the movies & get pop corn and drinks. Despite the latter being crazy expensive (in my view), I still enjoy doing it from time to time for the right movie or in good company.
Another option would be to consider the price of something with respect to how much use we’ll get out of it. Maybe a good quality laptop for let’s say $1399.00. If I use it for 7 years, without needing to update anything, it will effectively cost me $199.86 per year, or, about $16.65 per month… Now, how much is that Netflix subscription again?
Using similar logic, since $880.08 is a whole lot of money, I was curious as to how I could attribute that cost to the duration of the event, both actual and theoretical (how it could have been).
For anyone who’s curious to peek behind the curtain, check out my github repository containing the jupyter notebook.
The Setup
The ticket price, allegedly $699 (but with Ticketmaster’s help):
- $5.55 (Order Processing Fee)
- $16.50 (Facility Charge)
- $151.45 (Service Fee)
- $7.58 (Tax)
And that’s how it balloons to $880.08, which is 25.9% higher than advertised! Like mentioned previously, this is the only cost I’ll consider. Similarly for the event I’m purely focussing on the games themselves, not including the draft phase, the great commentators and analysis or anything else. Adding those factors would make for a much more complex analysis and … well, somebody would have to pay me to do it, as I ain’t got that kind of time!
The TI 12 main event was held from October 27th to 29th, in the Seattle’s Climate Pledge Arena. The final 8 teams competed in double elimination format, two at a time in a best out of 3 series (best out of 5 for the finals). The entire event actually started with 20 teams, got down to 16, and then 8 in previous parts of the tournament (sold separately). Ultimately that means that these 8 teams are the best of the best in Dota 2. Even before attending, I knew to expect somewhere between 21 and 32 total games to be played.
After the event, I began by downloading the premium matches from datdota (it was just an easy way to get some overall stats). After a simple data filter and correctly flagging the days on which the matches have been played, the data was ready. For a future project, I might consider downloading the individual match details from Steam API, like I did for last year for my midcourse DS6 project with the Nashville Software School – we’ll see!
The Methodology
I began by using Monte Carlo simulation techniques to estimate the probability of there being exactly 24 matches played (which is what happened). Check github repository for details, but some of the main assumptions include:
- each game is independent of another (that’s what the coaches always say in interviews – don’t think of any previous win/defeat, just stay in the moment)
- these teams are extremely close to each other in terms of skill, but there can be some variation due to draft, nerves, etc … so that the win probability of each match could be set at 53%, normally distributed, with a std. error of 2%
With that, I simulated the 8 series event (7 BO3, 1 BO5), a million times. I didn’t actually follow the progression of a particular team; instead, just took a different win-loss probability as described above (in order to improve this, I could simulate the actual event, by bringing in prior win/los probabilities of the teams and whatnot).
The result: 7.4% chance that there would have been 24 games total played. That sucks not only because of less action, but also less chance for attendees to get the coveted crimson witness 2023 treasure.
Using the data from the same simulation further, I determined the number of matches that one can reasonably expect out of a TI with a confidence level of 95% or 68% respectively (1.96 sigma and 1 sigma).
What about actual play time? The 24 matches ran in total for 17 hours, 36 minutes and 07 seconds, or, about 44 min per game, with the standard deviation of little more than 15 min – there’s a lot of variation between games.
I decided against using MC to simulate play times, because this really depends on the current patch being played, the teams participating, the position of the Moon and if Yatoro sacrificed his hair to the Dota gods (x2). I’m not even confident if I could get a better estimate here by attempting to get the game times from previous tournaments or public games. The casters seemed surprised to how long some games seemed to be.
To keep it simple, I just used the average and standard deviation from the tournament to provide some decent estimates. from around 30 min per game, to about 60 min (for 95% confidence level estimate) seems legit.
Lastly, kills in game can be an indicator of how much “action” there was, or how “interesting” a game was. Similarly to the length of matches there’s a lot of variation, depending on how aggressive teams are and their play stiles. The teams playing on the Radiant side secured 617 kills, while the Dire side only 563. Interestingly enough, each side won exactly 12 games. Here I had another idea – try and predict the number of kills based on the length of the game. Linear Regression, oh yeah, look at it go!


Looking at the R-squared value (and the graph on the side), it shows that a linear regression fit decently explains the variance in the data. There are some outliers, causing the confidence interval to be relatively large. Overall, roughly every minute and a half we can expect there to be an additional kill happening in game.
Two additional curiosities here, that I couldn’t necessarily tie to the “worth” or “cost” factor. Given that there’s been 9 games on Friday, 10 on Saturday, and 5 on Sunday, that’s not enough data to determine if the average number of kills per game, or the average game duration each day is different (grey bars represent 95% confidence interval – and all overlap).


And then, kills are entertaining, but are they an indication of who won? For 87.5% of the games, the answer is yes, with the breakdown as follows:
- If Radiant team had the kill advantage – 10 games – they won all
- If there was the same number of kills – 1 game – the Dire team won
- If Dire team had the kill advantage – 13 games – they won 11
The Results
Looking at all the games that were played (or could’ve been), I get this table:

I think to me, the most significant value here is that I spent about $50 per each hour of the games watched. Compared to movie theaters, this is more expensive and has less comfortable seats. Even adding a few more games to this and longer average game length, the price only drops to about $36.54.
I also redid the calculations for teams, presuming that there are some people who don’t care about all games, but only their favorite team (and corresponding stats). For comparison I also calculated a theoretical team that gets knocked out really fast right away (2 games, 30 min each), compared to another one that stays the longest possible (17 games, 1 hour each). Here are the results:

Team Spirit won and I was super happy with that outcome. Though looking at the cost (or vice-versa “worth”), Gaimin Gladiators fans should be quite happy. They had an incredible run and only lost in the end. What I also think is noteworthy here is that GG had such high kill ratio (very aggressive play style), that their cost per kill is almost the same as the cost per kill in the table below, with the shortest tournament.
The Summary
All in all, I had quite fun going through this exercise and gained a new perspective and insights that I didn’t have before. To be fair, regardless of what a serious analysis says, here’s one primary reason the Dota 2 community exists – the memes. And the meme game of Dota 2 is on another level compared to anything else. It was an unforgettable event and I even made some friends along the way.
For additional details, or feedback feel free to check my github repository, contact me, or reply to this post. Thanks for reading!


Leave a comment