The Method
Overview
You may remember I started this project with a quick run-down of balance after Round One, which can be found here. Since then, I've changed my criteria to make players' record data more consistent across all players (except, still, for EffOrt), and modified my balance algorithm from an arithmetic to a rational equation which I think improves accuracy and better accounts for the impact of upsets. In fact my current system is almost entirely upset-driven, which has its good and bad points. To summarize, relying on upsets to indicate imbalances follows what you would expect to happen on an imbalanced map (good); however over a small sample size it can lead to wild inaccuracies (bad) because some "upsets" are simply due to unpredictable builds (say, a 5 pool) or uncharacteristic mistakes (Light, I'm looking at you).
Details
For every non-mirror played on a map, I compute the probability that each player will win, based on his last year of games (except for EffOrt, for whom I'm using career record: after Round Three I should be able to use this season's record, I think, but he's still accumulating the recent games necessary - at any rate he's still playing close to his overall career winning percentages so I consider it a decent approximation). Based on the particular probabilities compared to the actual result, I assign each game a value for balance calculations; the balance number itself is then a running total of these adjustments, spread over the number of games played. A postive imbalance favors the first race listed (i.e. ZvP +0.24 favors Zerg in the matchup) and a negative the second. Numbers in parentheses indicate records and changes over the last round, here round two. For this round I skipped the "net" numbers I tried to guesstimate last time, as those would require a bunch of extra work that I haven't done yet in order to make them accurate and with no break between rounds... yeah.
I don't claim that these numbers provide a really accurate picture: in fact there is one particular facet of the results that worries me - many maps seem to be generating imbalances against the traditional P>T>Z>P assumption even when the records don't indicate it. Additionally, on no map have we even reached 20 games in any given matchup and on only one do we have 10 games in more than one. However I do think the numbers provide at least some useful starting point for analysis.
The Maps
Chain Reaction (Mirrors: 12 P, 7 Z, 1 T)
PvT 1-1, -2.50 (No games)
TvZ 3-1, -1.06 Z (1-1, -1.06)
ZvP 4-12, -1.99 P (0-9, -1.94)
This map has been designated a not-Terran map by everyone involved with Proleague, despite the relative success of the Terrans who have played there. (This would be a total of three outside the mirror - BaBy has four games on the map, PianO one, and Leta one.) The PvT number is due to my being unable to find a way to make Wooki an underdog against BaBy, statistically speaking, without adding some fancy work I didn't want to do. Maybe for the next round. The TvZ number comes from a small set of games in which great, who is bad at most things not involving Hive tech against Zerg, beat BaBy with, if I remember correctly, some lurker shenanigans.
ZvP, on the other hand... well, the record speaks for itself. At the end of the first round, it was 4-3 to the Zerg. Then Protoss proceeded to not lose a game, even though the race was only favored twice (Brave over Chavi and Movie over great). There's not much to say: the list of victims includes Hydra, Neo.G_Soulkey, ZerO, Killer, EffOrt, HoeJJa, and Calm. The map is officially Good For Protoss. Whether that lasts with the upcoming changes we'll have to see.
Electric Circuit (Mirrors: 5 T, 5 Z, 4 P)
PvT 5-2, -1.15 (3-0, +0.86)
TvZ 4-9, -2.05 (2-5, -0.48)
ZvP 3-2, 0.00 (2-0, +1.34)
One of the more evenly played maps so far, Electric Circuit does have its quirks. The noticeable one here is the contrast between record and balance for PvT - but there's a simple explanation: in seven games, exactly zero Terrans have been favored. One of those is the fault of using pure numbers: Jaehoon was 12-5 going up against Flash at 19-11. The other win was a tight game between Movie and fantasy; fantasy was, again by the numbers, barely an underdog, and in fact Movie messed up what could or should (depending on your point of view) have been a win. Both of those games are from round one, and the recent balance has been heavily tilted to Protoss. But they've also been favored in all of the three games played this round - this is what happens when Light, Leta, and modern-Canata TvP.
The TvZ is straight-forward. Zerg have dominated on the map, including surprises like hyvaa over Reality and RorO over BaBy. Flash and Light are both 2-0, but that accounts for the only Terran wins.
ZvP basically hasn't been played, and the honors are quite even with no oddities at all.
Ground Zero (Mirrors: 4 T, 2 P, 2 Z)
PvT 4-6, -0.87 (1-5, +0.16)
TvZ 11-2, +0.31 (7-0, +0.98)
ZvP 1-2, -2.80 (No games)
For the most part, PvT on this map has been uneventful but favored Terran: the players who are supposed to win won, and the few who lost were Protoss - last round By.Sun fell to fellow youngster TurN, and this round Dream League wunderkind sHy dropped to the previously non-TvT inept Last.
TvZ displays a spectacular difference between straight-up record and the balance given, but there's a completely reasonable explanation: both Zerg wins were minor statistical upsets. That negates two Terran upsets, and the deciding factor in even tilting toward Terran as far as it does is actually a Flash "upset" victory over Jaedong which ...yeah. Mostly, even good Zergs have gone up against better Terrans on this map, with the expected results.
ZvP mostly just hasn't happened, but BeSt beat Jaedong and By.Sun beat HoeJJa - less of a Protoss imbalance than an SKT imbalance.
Jade (Mirrors: 8 T, 6 P)
PvT 7-8, -0.60 (3-4, +1.03)
TvZ 2-1, -0.01 (1-1, -0.01)
ZvP 2-5, -2.36 (1-3, -0.95)
In PvT, this map really only has the supposed imbalance it does because PianO beat JangBi, which was less about the map and more about Jangbi being too cute for his own good. There's not much to say here. TvZ is if possible less exciting: firebathero beat Action, and then Fantasy traded a numerical upset over ZerO for a numerical upset loss by Last to Action. Meh. More TvZ please. PvZ, on the other hand, has been nothing but a series of minor Protoss upsets, with hyvaa finally scoring a Zerg win with... a 5 pool. Against Tyson, whom he should beat anyway. Most boring map of the season? Most boring map of the season.
Outlier (Mirrors: 12 P, 11 Z)
PvT 1-0, 0.00 (1-0, 0.00)
TvZ 2-2, -1.41 (1-2, -1.41)
ZvP 9-6, -1.08 (5-3, +0.08)
In the category of not boring (but nevertheless statistically obnoxious) maps, we have Outlier. The good news is we finally got a PvT, when ACE sent PianO out to kill an STX Zerg and had to play mini instead. The bad news is that Piano lost badly and the experiment told us nothing about the map's balance because Piano is bad at TvP anyway (when he's not playing Jangbi). Similarly, TvZ ought, by all just reasoning, to be 3-1, but LighT (at 77% favored) un-walled at exactly the wrong moment. Otherwise everything has gone as expected.
Also going as expected - or more accurately, going evenly as unexpected - is ZvP. Zergs are winning more games, but Protoss are pulling out more of the upsets, keeping the map Protoss-favored, though this round's results are starting to tilt to Zerg. The only really notable game from this round is Jaedong vs Flying, which has nothing to do with the balance.
Sniper Ridge (Mirrors: 6 T, 4 Z)
PvT 6-6, -0.87 (1-6, -1.66)
TvZ 5-2, -0.59 (2-2, -0.59)
ZvP 5-2, -1.16 (2-0, +0.47)
After an early run of Protoss successes, this round has been almost all Terran, and mostly upsets: Bisu lost to hOn_sin, BeSt lost twice. The result has been to swing the numbers further to Terran than they were on the Protoss side after the first round. EDIT: but since I managed to get one game wrong, it's not as bad as I thought it was. Yet.
On the TvZ side, Neo.G_Soulkey won a pair of games: one against PianO, hypothetical TvZ master, produced the only unexpected results on the map. Light, Leta, and Flash account for three Terran wins; Piano beat HoeJJa and Mind beat ggaemo for the other two.
Even more than the TvZ, ZvP has produced a supposed Protoss imbalance with a heavy Zerg-favored record. It's not so much a Protoss imbalance as a Stork imbalance: he beat ZerO and by.hero handily. All the games won by Zergs, the Zerg was favored; Stork is the aberration and is Protoss - voila, Protoss imbalance. Now can we get an even matchup please?
Summary
The story of Proleague so far is ZvP - Protoss are winning a lot, and you're not imagining it. Zerg is 24-29 against Protoss so far, and even on the maps where Zerg has a winning record, they're not favored. I have five of the six maps Protoss-favored overall, and though three of them have tilted back towards Zerg somewhat in the last round, I'm not sure it's a significant difference. We'll have to see what the map changes do, if anything.
While it seems like it's received less attention, PvT has been also off-kilter from its norm. The record stands at 24-23, which in terms of ideal balance is excellent but is nowhere near what we'd "expect" in the matchup - and like the ZvP numbers, I have five maps as favoring the traditional underdog to some degree.
TvZ is its imbalanced relatively unremarkable self: 27-17, but who's counting, right? This is in fact so normal that I have five maps as Zerg-imbalanced despite the record. Some of it is bad matchup luck - for example it seems like there's a 90% chance ZerO or Soulkey would have to play Flash instead of Mind if they drew a ZvT. Some of it is Flash and Light, and the luck of who's still on the scene: Flash is still in god-mode but Light's TvZ has been close or better in terms of wins and losses over the past year or so. Leta, BaBy and fantasy aren't bad either; KHAN's new Terrans are quite respectable; and ACE - well, you've heard of firebathero, and TvZ is all Piano was ever good at. Oh, and then there's this Bogus character.
In contrast, good ZvT is... Jaedong and EffOrt. ZerO and Neo.G_Soulkey are both solid, but I put them in the second rank. And all four of these are underdogs against Flash or Light. Others? Hydra's ZvT is poor. Action can't play an early game; KHAN and SKT basically don't have Zergs for the purposes of this discussion (soO was surprisingly good last year but it didn't last, apparently). Calm... eh. ACE - ggaemo maybe, but he's showing all the signs of the 2nd year ACE decline. (Sidenote: Goddammit Luxury and Yarnc, we could really use you guys now. Even type-b was more competent than some of our clowns...)
But the real kicker is that Zerg innovation hasn't really happened. Terrans have been messing with bio-mech switches (both ways), valks, wraiths: not just timings but strategic ideas. Zerg strategy changes have been... queens. Well, that's cool, but it's only borderline effective, and even then only if you're ZerO, Soulkey, or Jaedong. Of course, if you have a stable matchup innovation can happen slowly or not-really-at-all (PvT), but right now standard play is so heavily T-favored (either by actual balance or skill) it's almost depressing to see nothing new except goofy runby attempts. (What me, bitter about ZerO losing?)
Round Two Upsets
As before, this is a list of all games where a player with <45% estimated winning percentage won.
Minor Upsets (41-45% EWP)
2012-01-04 Neo.G_Soulkey (41%) over PianO on Sniper Ridge
2012-01-07 BeSt (41%) over HoeJJa on Jade
2012-01-07 Jaehoon (42%) over ggaemo on Jade
2012-01-07 Kal (44%) over Sea on Sniper Ridge
2012-01-11 BeSt (43%) over Neo.G_Soulkey on Chain Reaction
2012-01-14 Last (45%) over BeSt on Sniper Ridge
2012-01-29 JangBi (45%) over Alone on Outlier
2012-02-01 Brave (45%) over Killer on Chain Reaction
2012-02-11 Brave (43%) over HoeJJa on Chain Reaction
2012-02-11 Stats (45%) over RorO on Outlier
Significant Upsets (31-40% EWP)
2012-01-03 BeSt (38%) over Hydra on Chain Reaction
2012-01-04 free[gm] (39%) over ggaemo on Outlier
2012-01-07 great (38%) over BaBy on Chain Reaction
2012-01-08 Last (33%) over sHy on Ground Zero
2012-01-14 Orion (32%) over Sharp on Electric Circuit
2012-01-14 Shine (40%) over Kal on Outlier
2012-01-15 Wooki (38%) over ZerO on Chain Reaction
2012-01-17 Fantasy (40%) over M18M on Sniper Ridge (not an upset but M18M 6-1 in the previous year PvT)
2012-01-28 Action (39%) over Rush on Electric Circuit
2012-01-29 Orion (38%) over Classic on Electric Circuit
2012-02-01 RorO (40%) over BaBy on Electric Circuit
2012-02-11 Jaehoon (40%) over Calm on Chain Reaction
Major Upsets (<31% EWP)
2012-01-11 hOn_sin (20%) over Bisu on Sniper Ridge
2012-01-15 Crazy-Hydra (23%) over LighT on Outlier (never has a map name suited a game more)
2012-02-04 mini (18%) over EffOrt on Chain Reaction
EDIT: Changed Kal vs Sea and updated results; clarified one example.
EDIT 2: Added upsets