The Dota 2 Frankfurt Major has been a resounding success. Introducing more large-scale tournaments throughout the year is precisely what the pro scene needed and fans desired instead of salivating over The International. The Grand Final was everything we hoped for with Team Secret and OG meeting for the first time.

Europe's two best teams are the most aggressive squads in Dota and there were fireworks immediately.

Game 1 - OG defeats Team Secret

Team Secret: Anti Mage, Queen of Pain, Slardar, Tiny, Shadow ShamanOG: Phantom Lancer, Invoker, Tusk, Dazzle, Winter Wyvern

This opened up with a bang. Five kills before the creeps spawned -- yes, that's right. Both teams played hyper-aggressive, ludicrously entertaining Dota with the cat and mouse game of counters trying to disrupt the early farm on core heroes.

Eight kills at the five minute mark. Neither team was backing down, giving us the kind of entertaining, foot-to-the-floor Dota that only Team Secret and OG could. It was evident early that Secret had the utmost respect for Miracle's ability on Invoker, trying to gank him early and slow his farm but OG had such a strong defensive support combo that it simply required some TPs mid and Winter's Curse paired with Shallow Grave could keep him up for a long time.

EternalEnvy died early, but began to get his foothold after a triple kill in the Dire jungle at nine minutes. It secured his early items and countered his early mistakes, which was a huge problem for OG. They tried to rotate bottom to get the kill, but some fortuitous blinking from EternalEnvy kept him alive with 34 HP.

As the game transitioned into the mid-game, OG asserted their will. Strong team fighting and excellent farm put the plucky lower bracket upstarts in a wild position. Just take a look at net worth at the 20 minute mark:

If you're Team Secret you know you have problems when a Dazzle is almost ahead of a Queen of Pain.

Secret simply wasn't prepared for the blitz that OG dropped on them. Despite just finishing a three-game series vs. Evil Geniuses they looked fresh, prepared and ready to claim the crown. Secret tried to throw a Hail Mary by attempting a race for racks, but it was hugely problematic and failed. Secret were stunned -- they hid in the fountain not knowing what to do.

The team nobody expected to even make it this far was two wins away from winning the Frankfurt Major.

Game 2 - OG defeats Team Secret

Team Secret: Slark, Queen of Pain, Slardar, Bane, RubickOG: Alchemist, Gyrocopter, Clockwerk, Dazzle, Winter Wyvern

This was a really surprising draft. Not only did we see a last-pick Slark, a hero who really isn't in favor -- but that OG took Clockwerk so early. It felt like there were better picks on the board, especially in hindsight against a lineup with so many ways of escaping the cogs.

Game 2 did not have the early-game aggression of the opening contest, perhaps because Team Secret realized they fell into playing OG's game -- which led to their loss. Slark waited to come online and immediately began roaming, getting successful pickoffs on the OG supports. The issue was the lack of pressure on Miracle's Alchemist, which Evil Geniuses learned the hard way is a terrible idea against this OG team.

The net worth gain for the Alch was astounding, even by Alchemist standards. The problem for Secret was how well n0tail managed to keep up with Slark and Queen of Pain on his Gyrocopter. It helped that Gyrocopter got successful initiations that helped him secure early kills.

OG really turned up the heat at the 10 minute mark, throwing gas on the first and jumping out to a mid game lead. Secret tried to pick off Alchemist, but he tanked through it with the aid of a Winter's Curse. After one unsuccessful attempt they found an opening, getting a big double kill for w33haa and helping push the graph on Secret's favor.

The 15 minute mark saw a major win for Secret as they demolished OG in the top lane jungle. They got a 4-1 team fight that included a triple kill for QoP and it seemed this was a turning point. We've seen in this tournament that Gyrocopter hasn't had the success we're used to. Teams are playing too quickly for him to come online and n0tail started to lag behind in the hyper-aggressive game.

The Slark pick proved to be problematic. The lack of team fight synergy reared its head and after a few big losses but Secret didn't let that phase them. What followed was a series of punch and counter-punch team fights that left the game hanging in the balance as the battle transitioned into the late game.

This was the graph at the 43 minute mark, and shows just how back-and-forth this game was, even with OG in control.

Secret were largely backed into their base after losing a bottom lane of racks, but OG's farm stalled. They didn't really need anything else -- making this game about securing Roshan and pushing. Meanwhile Secret knew they scaled better in the ultra-late game where Alchemist would level off and Slark could get a foothold.

The game turned when Roshan re-spawned at 50 minutes. Both teams juked around each other and finally engaged in the bottom lane. A bad pounce from Slark led to his death along with Bane, not only taking out Secret's team fight but costing them the Roshan.

OG tried to push the last lane of racks and got punished by Secret on the high ground. It became an interesting conundrum: OG were dead, but so much damage was done to Secret's base that they couldn't mount a counter push.

After re-spawning they initiated mid lane right before the hour mark and were wiped. The amount of late-game team fight synergy was too much for OG to fight through -- even with their ludicrously big Alchemist. The Slardar stun, Rubick disables, the lockdown from Slark -- it led to another team wipe and buybacks. Moonmeander really let his team down in the crunch time with overly-aggressive hooks and hubris that was punished. Those kind of plays worked against lesser teams, but they weren't going to against Secret.

Then Secret made a critical mistake.

Eternal Envy walked through an observer ward that revealed their planned initiation and let OG get the jump. After winning the fight everything snowballed and OG secured their second straight victory.

Game 3 - Team Secret defeats OG

Team Secret: Wraith King, Lina, Slardar, Dazzle, Ancient ApparitionOG: Shadow Fiend, Sven, Tusk, Earthshaker, Bane

Team Secret knew they needed to make changes entering Game 3, and they shook everything up. Taking Wraith King and Lina added some much-needed aggression to a lineup that struggled vs. OG, but their bans came at the expense of giving Miracle his favorite Shadow Fiend.

Moonmeander became a key hero to OG's chances. His roaming, aggressive Earthshaker is the thing of legend and he played it perfectly early. It didn't result in kills, but there was so much harassment that it allowed Shadow Fiend to get his levels and farm. That's what OG needed to push the kind of tempo they were looking for.

Both teams played very aggressive early, but things were kept in check. There were more trades and trade backs, highlighting just how similar these teams are.

Secret soon turned things on, showing why Puppey is so highly regarded as a captain and picker. The added aggression really turned things and they jumped out to an early lead. Their Ancient Apparition was on point, farming unimpeded and getting more net worth than OG's Sven, played by n0tail.

It was a bad position for OG to be in, for the first time in the series. If they were going to turn this everything needed to be on Miracle. His Shadow Fiend had to take control of the game, but whether that was possible was going to be another thing. He had the net gold lead, he had the raw power to take on Secret -- but the team he was fighting into were simply too strong.

The Wraith King pick ended up being the downfall for OG. He was a hero who so perfectly countered their lineup that they didn't have an answer. If Miracle hit is requiem the WK could just pop back up and keep fighting. They needed to gank him more than they were able to.

Secret did such a good job shortening the map and setting the line of battle. Wraith King was creep skipping on the top, Ancient Apparition was ulting to kill creeps on bottom -- it killed any possible creep pushing and backed up OG. They were able to mount a small comeback when Wraith King failed to save enough mana for a reincarnate during a high ground push which OG punished.

Ultimately it wasn't enough. Secret was simply too good and asserted their will entering the late-game, resulting in a GG from OG.

Game 4 - OG defeats Team Secret to win 2015 Frankfurt Major

Team Secret: Alchemist, Juggernaut, Slardar, Bane, DazzleOG: Shadow Fiend, Doom, Brewmaster, Lich, Rubick

This was a dream draft for OG. They got a lot of comfort heroes and Brewmaster was a sage final pick that added some team-fight potential and a way to mitigate some of the things Secret were bringing to the table. It's a pick we haven't seen often, but that didn't matter.

Purely in lineups it was clear what each team was looking to do: OG needed to push early and end the game, while Secret needed to drag this out. If Alchemist and Juggernaut could get their farm there wasn't a thing OG could do. They would lose a late-game duel, and they knew it.

This resulted in a lot of early game aggression from OG. They picked off Slardar in the river when he stole the bounty rune and rotated extremely well to shut down Alchemist in the early game and get six kills in eight minutes. Shadow Fiend jumped out to an astounding gold lead, and it was precisely the start OG needed to execute their game plan.

Secret had to push this late, but OG wouldn't let them. Instead of worrying too much about Roshan they took towers and forced the issue. OG almost had a T3 at the 16 minute mark and they took a melee racks at 18. The quick push was on. Secret were running out of options. They needed a big team fight win.

That happened at the 20 minute mark when Secret punished some over-aggression and swung the graph closer to the middle. OG went into an area with no vision, and it was a foolish engagement caused by the knowledge that things needed to end quickly.

OG didn't leave Team Secret room to breath, quickly smoking after they re-spawned and secured two kills. Perhaps more important than the kills with stealing a MAMMOTH stack of ancients farmed up for Juggernaut to get farm but instead Shadow Fiend took it all and got even bigger.

A dieback from Alchemist spelled the end for Team Secret's hopes at Frankfurt. They tried to throw haymakers and kept missing. OG had achieved the dream. They did it.