About 18 months ago we secretly started rewriting our backend codebase, migrating from our existing solution to a brand new data store, in order to prepare GameAnalytics for the future. We are now getting closer to releasing this for everyone. It will include some sought after new features, like Experiments (A/B testing) and the Command Center.
In this blog post you can find out more about all of the improvements we are working on (including video lessons). We’ve also provided some more information about why we decided to make this change.
Apply for the beta
At the moment we are in a beta phase, where features based on the new backend are being developed and provided for beta participants.
To use certain beta features (Experiments & Command Center) you’ll need to integrate a specific Beta SDK which has the new functionality included.
We are targeting end-of-June 2018 for having the features available for everyone. After we’ve allowed time for everyone to get used to it, we’ll close our existing backend systems before the end of Q3 2018.
What is the new backend?
Our current backend is pre-calculating all metrics available each day allowing fast – but limited – flexibility in running advanced querying (e.g. only supporting one level of filtering).
Our new backend is powered by Druid and it is an actual data store (advanced database).
The new data store will provide more detailed and flexible querying options by giving you the ability to use many filters. This direct event querying capability provides us with powerful options when developing new features.
Why we changed our technology
After reviewing many requests (via support channels or direct communication) we identified a common list of highly requested features. In order to support these it became clear that we would need to replace the existing technology.
The decision to change our backend was not taken lightly. It has taken considerable resources and will continue to do so. Even with all the effort it has taken, the most important thing to us is the great value it will add for all GameAnalytics users.
A major technology change has happened before in GameAnalytics. Our GameAnalytics v1 stack (powered by Hadoop/MongoDB) needed to be replaced when GameAnalytics quickly increased in popularity, so we built a highly advanced custom Erlang solution as a replacement. Now we will soon transition our core backend to Druid.
We are continuously spending time on evaluating emerging technologies. During our research we found that Druid had the greatest potential of all solutions, by far. Out of all the proposed solutions, it was the most feasible, offered the most benefits, and furthermore opened the possibilities for querying data in ways that our users dream of.
We want to continue being a highly popular game analytics product both now, and in the future. Our current goal is to squeeze out all possible benefit from this new technology in order to create great features for game developers everywhere!
There are always trade-offs
This is a major change for us and it’s possible that this transitional phase will introduce unforeseen issues as there are many moving parts.
Every technology change comes with pros and cons, but we believe the potential in this technology will far outweigh the trade-offs.
We will be working continuously on optimising all parts of our service.
If you do experience problems using the beta, then please do bear with us and reach out. Our support team and engineers are ready to help if you have any questions at all!
Below is a description of our current beta feature status.
1. New dashboards and advanced filtering
The new beta tool will introduce a redesign of dashboards allowing more advanced data slicing (using many filters) across all of the widgets.
Lesson 1: Beta dashboards
Lesson 2: Advanced splits
2. Command Center
When developers alter code in their game it will require a new update to be pushed out. This is usually a time-consuming process, and not all players will necessarily update their game version. With the Command Center you can streamline the process of making gameplay changes, and it takes just seconds.
It works by providing backend powered values to be sent to your game. Your game logic can then alter behaviour based on these values.
Manage your campaign settings, switch ad networks on/off, change the difficulty level or the bonus of the day instantly. Furthermore, you will also be able to filter your metrics by users who had these changes you applied.
Lesson 3: Command Center
3. New Explore tool
We’ve built a new explore tool using the power of the new backend filtering. Define advanced filter splits where each line on the graph has customisable filters. Add a comparison metric graph to, for example, view DAU compared to Retention.
You could see → user count on iPhone X from US that are running iOS 10.3 and on the first tutorial level. Then compare this to retention or other metrics; all this in just a few clicks.
Lesson 4: The new Explore tool
4. A/B Testing with Experiments
We are also introducing the Experiments feature (A/B testing) allowing you to define different audiences and test different game configurations remotely. GameAnalytics will automatically track the users targeted by experiments. This will enable core KPIs filtered by these users in order to better understand the impact of change.
Lesson 5 Experiments
Lesson 6 Building audiences
5. Summary API
For games on the new backend we provide a web service that will allow remote manual querying of metrics for games in both simple and advanced ways without the need to open the web tool in a browser. This API can be used to fetch key metrics and compute them in pre-existing company dashboards.
Lesson 7: The Summary API
6. Segments (soon)
At the moment we are working on a segmentation feature made possible with the release of our new backend. The idea is to define user segments based on a combination of both global filters and how users behave.
Global filter examples are country, platform, build.
User behaviour examples (over a period) could be “Spending above $5”, “Playing more than 3 sessions” or “Killed last boss monster with a score of 100”.
These user groups (segments) can then be used in multiple ways like filtering metrics or to be exported.
7. Cohorts (soon)
Our cohorts feature will soon be rebuilt. For the uninitiated, a cohort refers to a group of users that share a specific property. For instance, new users acquired during a specific week of the year. We plan on including advanced granularity, compatibility with all KPIs, and different types of aggregation.
And that’s it for now!
We will soon have a blog post by our talented lead backend developer explaining the Druid technology in more detail. Stay tuned for more information in the coming months!
Editor’s note: As promised, we have an update for you! Read on for more information about GameAnalytics’ new backend powered by Druid.