eSports Recommendation System
Boosting gaming and social experience in eSports platform
Android, IOS, MLaaS, Web
Objectives and challenges
The eSports recommendation system is a part of a global platform for eSports competitions where all the athletes and other stakeholders can interact in a complete commercial ecosystem. SOLVVE developed this system pursuing a customer's request to have an efficient tool for players that will not only engage them more with the eSports hub but also provide them with valuable data about their progress and opportunities to strategize better.
Within the main task, SOLVVE machine learning department worked on three different smaller features that combined provide personalized recommendations to players. These are user scores, weights recalculations, and test models. Let us look at each of them closer.
Our system can recommend users to other users within the system that have similar interests or can be helpful to one another and suggest these users to follow each other or add as a friend.
Based on users’ data we can find relations between users. For example, their interests that we can easily see from their posts, game platforms, clans or teams, tournaments or leagues. Then, we use mathematical algorithms to obtain these relations and build an ordered list of recommendations.
We do it by calculating "distances" between users of interest and target users. In other words, how similar (close) or different (far) are other users to the user of interest for whom we provide recommendations.
An eSports platform that uses our recommendation system is dynamic and data changes after every event. These changes come from inside from users behavior and we have to take into account user trends. Moreover, some changes come from outside the system through event organizers. Each of these changes is called weight and it impacts the process of recommendations.
Our machine learning department designed a component for recommendation system that takes into account current user trends for a particular period of time in the past, compares to the current logic of the model, and tunes the behavior of the model to achieve the expected results, e.g. the weights for the above-mentioned detection of users' similarity.
To get this done, first, we need to analyze past events. That serves as a huge data set. For example, an important event like a tournament that stores information about periods of time when competitions happened, logs of those competitions and user activity, scores, features, and of course weights.
Then, using this fresh data we recalculate the weights and store them in a database so that the recommendation system can provide “fresh” and better suggestions to the users based on the renewed and recalculated data.
Finally, our recommendation system includes a test model. As we have shown above, the recommendation system receives new weights quite often. They can destroy the existing business logic of the whole system while we expect our recommendation to be stable and provide suggestions of high quality. That’s why we must be able to go back to a previous stable version of our weights.
That’s why we use a test data set that was created taking into account the business logic of a user behavior. Then we compare real and expected results to see if our calculations were accurate. If we get better at accuracy we follow with the new weights. If results are less accurate than the previous set of data, we go back to the previous versions of weights.
- Recommending users to other users.
- Recommending events, games, platforms, teams, leagues to users.
- Analyzing users’ activity and profiles to understand their preferences.
- Using Euclidean distances to detect similarity between users.
- Always keeping recommendations up to date and relevant.
- Always having a backed-up version of weights to sustain business and system logic.
PostgreSQL, Python, Flask, Docker
Try it for yourself
Get a hands-on experience
- Best recommendations for particular users through their activity and feature similarity.
- Taking into account current user trends for particular periods of time and changing behavior of the model.
- Ensuring the quality of recommendations and guaranteeing that our system sustains business logic.
Other projects by SOLVVE
Check out other cases to see more examples of solutions we provide and get more insights into SOLVVE’s expertise.