Let me tell you a bit about my history:
My background is twofold – I started out as a software developer for Alcatel, but switched into some project management, development lead, CTO and managing director positions, both inside and outside of the games industry (namely Rockstar Games, VeriSign, and a small german startup called plazz entertainment).
From my perspective, BI or data mining (if you can call it that) in the “traditional” retail-oriented games industry (think Rockstar shipping Manhunt 2 or Grand Theft Auto) back in 2005 has been pretty basic, and mainly focused on usability and play testing, like generating 2D heat maps for level architectures from people playtesting the game – with that, the game designers and level designers could determine which were the most and least frequently visited areas in a level, and be use that information to change the level structure and/or level elements accordingly to guide the player better.
Of course, Microsoft/Bungie (Halo) has been very active in that field, doing much more than that, and also talking about their approach and findings quite openly at conferences.
Things changed for me when I became CTO of a german startup, doing their own “Club Penguin” clone in Germany called “Atlantis“. Initially, we had a freemium (free basic access with premium subscription as option) business model. this was changed to the now typical microtransactions for virtual item sales.
Since we were building the complete platform from scratch, we had a lot of different areas to tackle, so BI was mainly seen as a “hobby” of mine, rather than the strategic necessity for commercial success I thought it is or should be.
Basically, we did aggregated log events from the database (a MySQL single read/write master, multiple read-only slaves setup) per time slot – like number of chat messages per day, time spent online per character per day. We did this using an open source tool called ART.
On the website, Google Analytics (and Piwik) provided the standard metrics like Visits, Average Time on Site, Bounce Rate. I thought about using Ajax-calls into Google Analytics to track ingame events, but decided against it, not to mix web traffic stats and ingame events (that need to be stored in the database, anyway).
My employment there ended before I had time to research and implement something more elaborate and detailed. I’d be very interested to talk about what others did, what tools or methods you use, and so on.