eGoGames Esports Platform Uses Rockset for Real-Time Analytics on Gaming Data
By: Kevin Leong
Tags: Elasticsearch, S3, Dynamodb, Gaming, Real Time Analytics

From business communications and financial transactions to trip planning and activity tracking, much of our lives run through smartphones today. eGoGames will help you add competitive esports to that list.

As the first European esports platform for mobile devices, eGoGames offers head-to-head, league, and tournament competition for skill-based mobile games. The company transforms mobile games into esports by providing a virtual arena where any user can compete against others casually, to improve their skill, for prizes and gifts, or even professionally for money. eGoGames’ mission is to make esports, and the opportunity to earn from it, accessible to everyone, anywhere, simply through a mobile device.

Data Is Everything

For a gaming platform intent on scaling to millions of users, optimizing the user experience is crucial to attracting new users and keeping existing users coming back-doubly so where competition and monetary prizes are involved. Competitions must be fair, matchmaking must be efficient, and players must be ranked accurately. To run their business, eGoGames relies on data and real-time analytics. David Serna, CDO at eGoGames, explains, “Data is the most important thing at eGoGames. It is imperative that we can react to data in real time.”

eGoGames constantly tracks the traffic on their platform and games. They use DynamoDB as their transactional database, storing all the master data related to users and matches on the platform. In addition, eGoGames uses third-party data to get a richer understanding of their business. They receive user acquisition and attribution data from Adjust and engagement and retention metrics from CleverTap to supplement their analytics, storing them in Amazon S3.

Getting to Real-Time Analytics with Rockset

The eGoGames team understood the importance of running a data-driven business. However, when it came to implementing the real-time analytics they needed on the data collected, the traditional methods they explored proved unsatisfactory. Sending their DynamoDB data through AWS Glue to Redshift was one option, but the 5-minute latency through that pipeline did not meet their real-time requirements.

Another option was to use Elasticsearch, but the expertise and effort required to build out Elasticsearch would have been prohibitive. Continuing the search for a viable solution, David tried out Rockset when performing a web search for the best way to connect DynamoDB to a real-time application without using Elasticsearch.

Ultimately selecting Rockset for their real-time analytics, eGoGames continuously ingests data into Rockset from DynamoDB and S3 via Rockset’s built-in connectors. They use Rockset to join all their data from multiple data sources and to power various types of real-time analytics and reporting through tools like Grafana, Qlik Sense, and Power BI.

Improving User Experience with Real-Time Analytics

Providing users a positive esports experience is how eGoGames grows and retains their players. The eGoGames team continually obsesses about user experience.

Given the competitive aspect of the platform, it is important to have a critical mass of players from which potential opponents can be drawn in the matchmaking process. Players can be quickly matched with opponents if there is a large pool of players playing a particular game, at a certain level of wager. Conversely, if there are insufficient players in the pool, users are likely to have a poor matchmaking experience and may even abandon the game if made to wait too long.

To deliver the best user experience, eGoGames needs players to be concentrated in the same type of matches in order to maximize gaming time and minimize the waiting time needed for matchmaking. At any point in time, eGoGames needs to know which players are online, what games they are playing, and how much money they are playing for-essentially measuring what matches are trending. The eGoGames team works off real-time Grafana dashboards that query Rockset for this data.

When there is a spike in players playing a certain type of match, the eGoGames team can respond by directing players towards that game and level of wager. For instance, if many more players are playing €20 games than €5 games, eGoGames may opt to stop offering €5 games for a period. If a specific game, such as Solitaire, is becoming popular with users on the platform, eGoGames may choose to send promotions to encourage more users to play that game.

These actions to concentrate players in particular types of matches and thus improve user experience need to be made in the moment, backed by real-time data. eGoGames cannot wait to respond to player behavior; otherwise the opportunity is lost. While alternatives like Redshift and Athena could only operate on data that was at least 5 minutes old, Rockset allows eGoGames to query DynamoDB data within seconds of updates and react in time to player activity on their platform.

Fraud Detection

Fighting fraud on the platform is another area where latency is critical. Where competition and money are involved, one can expect bad actors to attempt to win through unfair means. eGoGames needs to detect these situations in real time to maintain the integrity of their competitions.

eGoGames tracks details of all matches on the platform in their DynamoDB database and constantly analyzes this real-time data for potential fraud. Are players able to pay the fees for the match? Some cheats will attempt to manipulate their scores in the games’ data structures, for example. Were there any incidents like this that may indicate cheating? Was the match fair?

Speed is of utmost importance in tracking down fraud. eGoGames needs to shut down cheats in a matter of seconds and estimates leaving cheating undetected for 5 minutes can cost them hundreds of euros. It is impossible to perform the low-latency, complex analytics required for fraud detection directly on DynamoDB, so eGoGames continuously streams match data from DynamoDB to Rockset, where it can be queried for fraud investigation. Their team uses a Qlik Sense environment connected to Rockset Query Lambdas, that expose a variety of fraud detection queries via REST API, in order to stop cheating as early as possible.

Real-Time Reporting of User Metrics

With user and match data from DynamoDB already being continuously ingested into Rockset and easily queried by business intelligence tools, eGoGames decided to run their real-time business reporting off Rockset as well. “As a mobile esports platform, we need to have insight into what’s going on with deposits, withdrawals, different payment methods, open matches, tournament fees, and a host of other metrics in real time. Rockset is perfect for analyzing real-time events in DynamoDB without having to spend a lot of time coding or managing systems,” says David.

Using Rockset has the added benefit that queries can join data from DynamoDB with data from other sources. This makes it easy for eGoGames to bring in external data from Adjust and CleverTap to understand user acquisition and retention.

At the moment, eGoGames has about 300 different graphs tracking various aspects of their business in Qlik Sense and Power BI, backed by Rockset Query Lambdas. These dashboards inform many business decisions made by the eGoGames team. The team may need to decide on a user acquisition strategy, for example, and would need to compare the acquisition cost to the lifetime value of each player to make a determination. eGoGames has a Python model for this purpose, which queries Rockset for player data-usage, age, nationality, and other demographics-to predict their lifetime value. Player lifetime values can be viewed in dashboards, alongside third-party user acquisition, attribution, and retention data, with all the queries to populate eGoGames’ dashboards being done through API calls to Rockset.

15 Minutes with Rockset vs Weeks with Elasticsearch

The eGoGames team evaluated several alternatives before using Rockset for their real-time analytics and reporting needs. They first looked into a commercial BI connector that would allow DynamoDB to be read through ODBC. However, they found that it would take several minutes for the data to be transferred to the BI tool, so they ruled out the possibility of performing analytics directly on DynamoDB.

Another method they considered was to use AWS Glue to ETL data from DynamoDB to Redshift for analytics. Again, they found that it would take 5 minutes for the data to be loaded into Redshift, in addition to costing an estimated €700 per month, making it unsuitable for real-time analytics.

They briefly considered using Elasticsearch and the ELK stack for real-time analytics but rejected that option because of the time and expertise required to develop an Elasticsearch-based solution. Not only would the team have to manage and scale an Elasticsearch cluster, but there would be the added complication of limited SQL, which is the preferred query language of data practitioners at eGoGames.

Rockset meets eGoGames’ real-time analytics needs where the alternatives could not. Using Rockset, the ego games team has visibility into activity on their platform within seconds of events occurring, as opposed to having a 5-minute blind spot due to the non-real-time nature of the ETL and BI connector options. It only took the eGoGames team 15 minutes to set up connections to DynamoDB and S3 data sources using fully managed Rockset, compared to the weeks it would have taken to stand up Elasticsearch, in addition to the considerable ongoing effort to deal with its operational burden.

Running a Gaming Business Using Real-Time Analytics on Rockset

From enhancing user experience to detecting fraud to monitoring and acting on key user metrics, eGoGames is successfully getting real-time visibility into player behavior on their platform, relying on Rockset to do so. In addition, being able to create APIs to query Rockset using familiar SQL has enabled eGoGames to easily productionize their real-time analytics queries.

“eGoGames is a gaming company, so speed is important to us. We need to analyze our data in real time, and Rockset is critical to making this possible,” says eGoGames CDO David Serna. “Using Rockset was one of the best decisions for our company. We now use Rockset for everything we do. It’s the perfect solution for building out real-time analytics without incurring a lot of effort and cost on our part.”