Matchup Win Rates by Game Length

(Originally posted on reddit and TL)

As requested by /u/SidusKnight, here’s the win rates in the non-mirror matchups by game length, which roughly looks at what points in the game certain races appear to have an advantage.

The data comes from roughly 2000-3000 games in each matchup from roughly April 2013 to present on Spawning Tool. The vast majority fo the replays are from tournament replay packs and should represent high-level play, though other games are not filtered out. Note that this does integrate data over multiple balance patches (I’m happy to rerun the numbers within specific time frames upon request).

There aren’t many games shorter than 5 minutes or longer than 31 minutes so the graph is truncated there. On the shorter end, those are ignored since many of them appear to be re-games, and on the longer end, those are grouped together. The raw data is available here.

I’m not really sure how to read the data myself. There are definitely deviations from 50-50 along the way, though it’s heartening to know that it’s pretty close in all matchups in traditional late-game timings (19-25 minutes). It’s a little crazy between 25-31, but that might be small sample sizes. The sample for >31 minutes is pretty big, though, and that is very close for 2 of 3 matchups.

Were I a better person, I would have rendered this online to make the graph slighly more interactive, but as it is, I unfortunately am not. If you would like more interactive visualizations, however, chime back, and I’ll put more effort into that in the future. If you have any other thoughts on other graphs or data you would like to see, I’m happy to take all suggestions for that as well.

Also happy to get help on doing some of this. /u/somedave recommended error bars on the last one, and I actually don’t know what the right methodology and presentation for that is.

ZvT win rate v. Mutalisk count

(Originally posted on reddit, also posted to the TL thread)

Following the extensive description of the state of Terranin HotS by TheDwf, TL collected opinions from professionals. Specifically, Snute was interested in “the correlation between Mutalisk count and win rate”. Here’s what I came to.

The data comes from approximately 2100 ZvT games from roughly April 2013 to present on Spawning Tool. The vast majority of replays are from tournament replay packs and should represent high-level play, though other games are not filtered out.

The frequency of counts tails off, and I truncated the data around 50ish since past that, there were fewer than 10 games at each point. The raw data is available here

Looking at the data myself, I’m not seeing a lot. There may be a bump around 16 Mutas, but otherwise, it’s hovering around 50% with some variance due to small sample sizes.

Let me know if there are any other analyses, graphs, or stats that you are curious about, and I will do my best to follow up with those.

Close/Cross position win rates (updated for WCS)

A few weeks ago, I wrote a post comparing win rates on cross and close positions 4-player maps. Here’s what it looks like with the WCS replays released by Blizzard yesterday.

(Edit: Fragbite also released their replays, so those are included as well)

Close Positions 47-39 (54.65%) 49-64 (43.36%) 39-49 (44.32%)
Cross Positions 23-20 (53.49%) 36-25 (59.02%) 15-12 (55.56%)
Total 71-59 (54.62%) 88-92 (48.89%) 55-64 (46.22%)
Alterzim Stronghold
Close Positions 22-17 (56.41%) 29-24 (54.72%) 12-8 (60.00%)
Cross Positions 4-9 (30.77%) 16-10 (61.54%) 5-5 (50.00%)
Total 26-26 (50.00%) 45-34 (56.96%) 17-13 (56.67%)

Methods and Discussion

The replays are mostly from tournament replay packs, with the vast majority being from WCS. Of course, all conclusions must be drawn from what is still a relatively small sample size.

Note that close positions are twice as likely as cross positions. I’m not sure whether that fact is noted as often as it should be.

A confounding factor here is bans. I’m not exactly sure what the effect is, but I’m sure it’s relevant since it’s not a uniformly random sample of potential games.

Frost appears to be far more favorable for Zerg at cross positions. Notably, it crosses over the 50-50 mark depending on the positions. It’s not immediately clear to me whether that advantage is coming early or late, but the game lengths are visible on that page as well if you want to look into that.

Alterzim is less clear, though that PvZ is quite dramatic. It’s a super-small sample size, though, but there may that does or doesn’t confirm common knowledge.

Let me know if there’s any other analyses I have previously done or that you would like to see in the future. The data just got a lot richer and relevant, so hopefully there’s good stuff in there to discover.

Close/Cross position win rates on different maps

I just posted this on reddit, though it’s reproduced below. If you have any comments, please do so on reddit where you’re likely to get better discussion than you would here!


Often, commentators will mention how certain maps favor certain races. I figured I would take a look at actual win rates to see how true those differences are.

Close Positions 52-57 (47.71%) 76-75 (50.33%) 52-77 (40.31%)
Cross Positions 25-26 (49.02%) 31-41 (43.06%) 36-39 (48.00%)
Total 81-89 (47.65%) 118-127 (48.16%) 98-123 (44.34%)
Star Station
Close Positions 4-4 (50.00%) 5-5 (50.00%) 6-7 (46.15%)
Cross Positions 36-37 (49.32%) 43-63 (40.57%) 91-70 (56.52%)
Total 43-44 (49.43%) 50-73 (40.65%) 106-82 (56.38%)
Close Positions 24-18 (57.14%) 29-27 (51.79%) 19-21 (47.50%)
Cross Positions 12-10 (54.55%) 17-11 (60.71%) 7-7 (50.00%)
Total 37-28 (56.92%) 49-41 (54.44%) 27-31 (46.55%)
Alterzim Stronghold
Close Positions 8-9 (47.06%) 17-8 (68.00%) 3-3 (50.00%)
Cross Positions 1-6 (14.29%) 7-2 (77.78%) 3-2 (60.00%)
Total 9-15 (37.50%) 24-10 (70.59%) 6-5 (54.55%)

Methods and Discussion

For each replay, the map is divided into a 3×3 grid, and each cell is assigned a clock position (11, 12, 1, 3, 5, 6, 7, 9). The starting building (CC, Hatch, Nexus) position for each player is recorded. With those, cross positions are all locations that don’t share either a column or row, leaving 3 cross positions for each starting location. For example, 11 is cross from 3, 5, and 6.

The Replays are mostly from released tournament replay packs uploaded to Spawning Tool. Unfortunately, the biggest source of professional games is WCS, and they haven’t released for 2013 season 3 or 2014 season 4 (though I’m excited to redo these numbers after they do!). Because of that, we don’t have as many examples from newer maps.

Maps are collapsed across the different versions (e.g. Frost and Frost LE are counted together). Star Station was changed to a 2 player map at some point, and Alterzim Stronghold is relatively new. For the other maps, close positions are twice as likely as cross positions, so that’s the difference in counts.

A confounding factor here is bans. Since players in tournaments can ban maps that they don’t have favorable matchups in, we have a biased sample on these maps. I don’t really have any thoughts here.

The cross/close position data is available on Spawning Tool (though it does require sticking &tag=1173 or &tag=1172 to work in the research tool), so I welcome you to poke around with the data there to see if you can find anything else. Also let me know if there is anything else you’re interested in that you think can be informed by replay analysis!

Stats for WCS AM/EU semifinals

It’s past 3AM here, and over the past 6 hours or so, I have been cranking on a few minor features for Spawning Tool, but primarily machine learning to learn to label build orders. It’s not very well-trained at the moment, but it got to 61% on Reaper Expands, so it was above 50-50. More importantly, the code ran to completion! I’ll write more about that soon.

In the meantime, however, I think I might be sleeping in tomorrow, so I thought I would publish stats before heading to bed. Enjoy the semifinals tomorrow!

MC (P) v jjakji (T)
1. MC beat jjakji 3-1 at IEM Sao Paulo with surprises everywhere. He opened Blink, Phoenix, DTs, and Robo
2. Out of 10 recent TvPs, jjakji went for a Bio Mine composition. Expect to see more of it

MMA (T) v San (P)
1. San loves Templar. Before the 25 minute mark, he casts ~2.6x as many Storms as all PvTs, and Ghost usage is also up to compensate

Alicia (P) v HyuN (Z)
1. In 18 games, Alicia has never played a PvZ shorter than 12 minutes.
2. Unlike his ZvT, HyuN doesn’t care how long a ZvP lasts: his win rates are always about the same

Revival (Z) v Oz (P)
1. Oz does a lot of Forge Fast Expands (which are less popular than Nexus First and 1 Gate Expand builds) and at a lot of different timings

Stats for WCS AM/EU quarterfinals day 2

I’m a little late here, but here are some numbers:

Snute (Z) v MMA (T)
1. MMA beat Snute in the ATC Season 2 Finals
2. Snute opened 15 Hatch, 16 Pool in all 10 ZvTs in 2014. However, he has also gone for Roach aggression, Swarm Hosts, and Ultralisks out of it

San (P) v Welmu (P)
1. I didn’t find much of interest for this matchup. In 2014, though, Welmu has at least 26 San replays to study

Polt (T) v Revival (Z)
1. Revival plays very long ZvTs. 8/11 (73%) went longer than 20 minutes compared to 45% of ZvTs globally
2. Polt also tends to go long, playing 19 / 35 (54%) over 20 minutes. This series could take awhile

Oz (P) v Arthur (P)
There aren’t many replays for these players other than Oz v sOs at IEM Katowice

Stats for WCS AM/EU quarterfinals day 1

Today, the WCS season finals begin for Europe and America. I compiled a few stats that I posted to Team Liquid and are reproduced below.


MC (P) v StarDust (P)
1. StarDust beat MC 2-0 at IEM Cologne. The games lasted 6:56 and 8:38 with MC attacking early in both games (ref)

2. MC is 3-9 (25%) in PvPs lasting 20-25 minutes, but 6-1 (86%) in PvP >25 minutes (ref)

3. MC is diligent in using his Phoenixes. Although he makes slightly fewer (.54 v .65) Phoenixes per game than his opponents, he uses Graviton Beam more often (2.81 v. 1.61) (ref 1) (ref 2)

VortiX (Z) v. jjakji (T)
1. VortiX opened Hatch First in 18/20 (90%) of ZvTs. It’s usually a 15 Hatch followed by a 16 Extractor or Pool. (ref)

2. VortiX is 4-0 in games 8-12 minutes long, all of which were Roach Baneling all-ins. However, he’s only 4-4 in games going Roach Baneling overall (ref)

Alicia (P) v. Bomber (T)
1. Alicia is 19-6 (76%) in games longer than 16 minutes, while only 69% overall. (ref)

2. Don’t play Bomber straight up in TvP. He’s 2-7 in games <16 minutes and 11-4 in games >16 minutes. Blink Stalkers and Dark Templar are good bets (ref 1) (ref 2)

TaeJa (T) v. HyuN (Z)
1. At ASUS ROG Summer 2013, TaeJa beat HyuN 3-2 (ref)

2. HyuN can be deadly in the early game. He’s 9-0 before 12 minutes and 13-2 before 16 minutes (ref)

I used the data from Spawning Tool to generate all of these statistics. Notably, replays for WCS 2013 season 3 and the current WCS season have not been released, so those are not included in the current sample. Some players have more data from other recent tournaments, whereas others may be based on older data with different play styles.

If you get chance, please poke around with the data on Spawning Tool and share any other interesting trends you find!

“How important is having a supply advantage?” continued

A week and a half ago, I slapped together some graphs about the importance of supply differences and posted it to reddit. There were a ton of very thoughtful comments from the community, some of which I riffed on to create more graphs and investigate more of the data. This post is a summary of the rest of what I found, with all data available in this spreadsheet.

Win Rates by Supply Difference

The first graph shows the global win rates and win rates in mirror matchups given certain supplies. The most direct way to use the data is to observe a game and point back to the graph at any time to figure out how much of an edge someone has. Continue reading

Reviewing stats from Blizzcon yesterday

Unfortunately, I didn’t actually get to watch any of the WCS Grand Finals at Blizzcon yesterday. Thankfully, there are VODs (stream 1, stream 2) for me to leaf through, so I’m watching just enough of the games to evaluate my predictions. Let’s see how those turned out

SoulKey (Z) v. NaNiwa (P)

I predicted that SoulKey would play a lot of different strategies. He used a 9 Pool, Hatch first into Roach Hydra, a Pool double expand into defense, and then another 9 Pool. That’s quite varied.

Bomber (T) v. MMA (T) Continue reading

Stats for the BlizzCon round of 16 matchups

Over the past week and a half, I have been going through games from the BlizzCon round of 16 players and tweeting out interesting things that I have found by going through the Spawning Tool research page. I just posted a summary of that to TL. That’s reproduced below for your convenience.

BlizzCon is approaching, and there are some pretty amazing match-ups in the round of 16. In anticipation of that, I went through each player’s history in the match-up to see there were any interesting statistics that came out of it. Here’s what I came up with (methodology at the bottom):

SoulKey (Z) v. NaNiwa (P)

  • SoulKey does a little of everything in this matchup. Just check out the tags (ref)

Bomber (T) v. MMA (T)

  • Expect Banshees. They both open Banshees in ~45% of TvT games (ref 1)(ref 2)
  • MMA plays a very Marine-heavy bio in TvT. He made ~80% more Marines on his opponents and went bio in 10/13 games (ref)

HerO (P) v sOs (P)

  • They before in the WCS season 1 finals. They games were really cheesy (ref)
  • HerO likes early Stalkers in PvP, making ~50% more in the first 10 minutes than his opponent (ref)

Polt (T) v. aLive (T)

  • They played in season 1. aLive won 2-1 (ref)
  • By the unit counts, Polt’s TvT looks remarkably normal. One thing is that he doesn’t really play mech much (ref)
  • aLive doesn’t 1 rax expand much in TvT. He does, however, really like to open 1/1/1 into some nifty tech (ref)

Dear (P) v. TaeJa (T)

  • In TvP, TaeJa is 32-2 in games less 25 minutes and 2-5 in games longer than 25 minutes. I guess the strategy is to wear out his wrists (ref)
  • TaeJa also scans on average 2 more times per game (MULEs 2 less times) than other WCS TvZ players. I think this is attributed to his eagle eye in sniping Observers (ref 1)(ref 2)

Jaedong (Z) v. Mvp (T)

  • In ZvT, Jaedong is 11-4 in games less than 20 minutes and 4-17 in games longer than 20 minutes. I think there’s some bias in the quality of the opponents, but that’s still pretty striking (ref)
  • In comparison, Mvp is 8-5 in TvZ longer than 20 minutes, and 62% of his games went that long. (ref)

Maru (T) v. MC (P)

  • Maru could use anything. In 11 games, he went proxy 2 rax twice, 1/1/1 twice, 14 CC 3 times, and 1 rax expand in 4 games. This guy knows how to mix it up (ref)
  • MC has a strange win rate in TvP: he’s 5-0 in games less than 12 minutes, 1-3 in games 12-16 minutes, and 5-3 in games longer than 16 minutes. Looking at the games, he wins fast with cheese in a lot of games, loses mid-length games after failed cheese (usually Oracles), and then does okay in long games (ref)

INnoVation (T) v. duckdeok (P)

  • The only INnoVation TvP games I have are the season 1 finals against sOs. Here’s the link for fun (ref)
  • duckdeok plays REALLY short TvPs. None of 8 games went longer than 20 minutes (ref)


I used Spawning Tool for all of these stats. For each, player, I pulled up all of their games in the relevant matchup and, if feasible, looked at the builds (and some replays in ambiguous cases) to determine what builds they used. If you’re interested, I recommend you also play around with the system to see if you can find anything interesting in the data as well.

The replays are largely from major tournament over the past 6 months or so. The data may skewed for 2 major reasons. First, WCS season 3 replays have not been released and are not in the data. Second, WCS season 1 replays are pre-Hellbat nerd. Of course, the usual disclaimer is that players do change styles.

These stats originally appeared on twitter @spawningtool.

And the pitch: the site is only as good as the data, so if you have replays, please upload them! Also, if you’re interested in labeling replays or have ideas for features, PM me or tweet at me. And to stay updated, follow me on twitter @spawningtool. I’ll try to put more stats out as we find out what the match ups for the later rounds are