In this post, I want to share how we’re using our own brew of analytics to track user engagement. Here are some metrics I wanted to gather from my users:
- Unique users – Need to track behavior at the user level
- Play frequency – How many times do users play per time period
- Store preferences – What items are people buying and what are people wearing
- Character preferences – Which characters are users playing as
I won’t get into the technical things too much here, but we used a java library called KryoNet to send data between our app and our server. (If you’d like a technical break down of how we achieved this, leave us a note in the comments below!)
We write information to a CSV with up to nine possible columns. Here is some sample data: Every time a user hits a screen I’m interested in, I will send basic information such as the particular screen (Session), the Name, IP, and Date Time stamp. Additional values, depending on the screen, will populate into additional columns, such as the number of coins a user has earned overall, the score per game, the character they chose and what kinds of items they’re purchasing and wearing.
Quick note: All the charts below were generated by the sample data from the spreadsheet above using Excel’s built in Pivot Table/Chart functionality. It’s an amazing little feature that allows you to create very insightful charts, simply by dragging and dropping your columns. If you’ve never heard of it, I definitely suggest you check it out!
So, aside from getting a great boost in motivation from seeing people play our game, what does this data tell us?
User play data
- Most don’t play much: From the usage chart it’s pretty easy to see that most people will play a handful of times upon first download and then won’t pay much attention to it again. (We would see users come back briefly after we pushed OTA updates to their phones)
- A few play a lot: We also see a much smaller percentage of users who play a TON. From our limited group of testers, we saw the five most frequent players made up about 50% of the play volume. In my mind, this is OK, and mimics how many apps do in the market anyway.
- Not too sticky: On days we updated, we saw play counts between 300 and 600 plays per day, spread across ~20 users. However, once we stopped updating, the play count dwindled down to just under 100 plays per day.
What does this information tell us?
- That we managed to get about a quarter of our players playing a LOT. In my mind, that’s a pretty solid number
- We do lose players as time passes from a new update. This tells me we’re not engaging our players, so we need to improve our ‘stickiness’. Perhaps adding medals/achievements that players can work towards will help that.
Charts showing the more popular items purchased in the store
- Not all items are created equal: With six items per category, it’s clear that not all items were even attracting people to buy them. For example, only half of the shoes and hands items were being purchased, versus a fairly even purchase distribution in the glasses category.
What does this information tell us?
- Obviously, some items were just not interesting enough to warrant a purchase. We can use this data to remove the unpurchased items and go back to the drawing board
- This information is even more useful when you’re building a real store that people may be spending real money on. Ideally, you want to make sure that all of your offerings are being purchased — otherwise, you’re just wasting space
Summary TL;DR – you should definitely be tracking your users! Why?
- It’s rewarding to see players logging on and playing your game
- It gives you actionable insight into player behavior, allowing you to focus your development efforts on the things you think will maximally improve your game’s chance at success