This is a two part question. Let's say I release a new Flash game to the web. Once players start playing I want to understand how it is performing:

  1. What common performance criteria do people track? (e.g. viral coefficient, play length, returning players.)

  2. How should I go about measuring and monitoring these attributes? Are there any off the shelf tools?


4 Answers 4


In my opinion the best is to store the information from the application in a mysql database (google analytics is too limited), and if you want to handle things really professional, then you should translate the mysql data to a vertica database and conect it with tableau which is an excelent tool that allows doing tons of analysis, graphs, anything you need for BI. Regarding what to measure, well there are mainly the following things:

-Churn rates are familiar to anyone who has analyzed a subscription-based business like cable television or phones: the churn rate is the percentage of customers who will stop using the product in a given month

-The viral coefficient is in some ways the opposite of the churn rate: it’s average organic growth rate in users in a given month.

-user aquisitions:new registered users

-ARPU: average money earned by users

-DAU: daily active users

-Engagement: We are going to measure it by taking the amount of time the user plays each day (dough there are other things that can be taken in account such as the amount of features the user access)

-MAU: monthly active users

-DAU/MAU: Comparing Daily Active Users to Monthly Active Users shows roughly how many days per month your average user engages with your game


If you don't mind providing your data to Google, then Google Analytics is a great tool for that too. Rather than tracking classical page-visits (which you could use for different Game-screens), you can use the Event-Tracking feature to track/gather all sorts of data.

Implementation in Flash should be trivial. Either use the ExternalInterface to invoke JS from Flash, or use the tracking-classes provided by Google.

Using ExternalInterface has the advantage, that you decouple your game from the actual tracking implementation. So you basically just send messages from inside Flash to a JavaScript callback. There you would invoke the actual tracking, be it Google Analytics or any other tracking mechanism. That makes it easy to swap/modify/remove the tracking at some other time without recompiling the Game.

The advantage of tracking directly from flash is that your tracking will also work if somebody hosts the Game on a different website, without the necessary JS wrapper code.

So I guess both ways of tracking are valid options to consider. The easiest route would probably be Google Analytics in combination with the ActionScript tracking implementation provided by Google.

  • \$\begingroup\$ Meh. Sounds like I'm hired by Google to write stuff like this. I'm not ;) \$\endgroup\$
    – bummzack
    Commented Aug 7, 2010 at 9:01
  • \$\begingroup\$ I've actually used Google Analytics in the past and I think it's a reasonable tool for the job. I guess there aren't any other tools the people are using to measure things like virility, though. \$\endgroup\$ Commented Aug 12, 2010 at 21:50

For the flash game I made recently I needed to track the play of every level, since balancing of each level was very important.

It was as simple as creating a static class that holds all the info I need to collect and then do a URLRequest (POST) to a PHP script that receives the info and posts it to a MySQL database.

What I tracked was specialization data, current level, where in the level the player was (used to track deaths), abilities used and their values (heals / damage etc)

  • 1
    \$\begingroup\$ Thanks for the answer Olafur. I am ready to mark this as the answer yet, though. It's a good example of a single metric but I'm curious what the larger industry is doing and how they are keeping tabs on the numbers. \$\endgroup\$ Commented Jul 27, 2010 at 1:46
  • \$\begingroup\$ Man I hope you get a much better answer than mine :D Since this solution was the first one I made and there are probably great tools or solutions out there. :) \$\endgroup\$ Commented Jul 27, 2010 at 2:19

If you want to track online time, there are two pitfalls:

  • Some people might play with multiple accounts at the same time but you most likely only want to track them ones.
  • It is important to tell bots and real users apart. Linden Lab used a nice trick for that: They split the users into four groups based on the amount of online time per week. And then count the number of players per group. The groups could be:
    • 0 hours to 7 hours
    • 7 hours to 14 hours (two hours per day)
    • 14 hours to 35 hours (five hours per day)
    • more 35 hours

There is another measurement that I consider really important: How may minutes stay new players online? In the early days of Stendhal only 20% of players stayed online more than 5 minutes. We put a lot of work into the first few seconds of the new player experience and got it up to 50%. (Which I consider really good for a game people have not payed for).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .