Step-by-step guide: how to achieve uplift in F2P games using ML algorithms
Today we’re launching the #smartInAppCases – section – here we’ll share hacks based on our cases on how to personalize in-game offers and achieve uplift. smartIn-App – our ML algorithms to increase LTV in F2P apps by delivering personalized content.
Today, we are sharing our new turnkey solution for games of various genres. In this article, we will walk you through step by step how to achieve uplift with the integration of smartIn-App and without it, highlighting the advantages of our solution.
We have prepared a step-by-step algorithm that will allow you to set up personalization in the game and achieve uplift. To do this, you need:
1️⃣ Determine Uplift Factors
2️⃣ Find Revenue-Impacting Game Features
3️⃣ Implement Customized ML Models tailored to a specific optimization point (offers, discounts, bundles, in-game economy).
4️⃣ Split the test & control groups: conduct an A/A test, remove outliers from the analysis, and launch an A/B test.
To set this algorithm in motion and increase revenue, you’ll need a dream team. You definitely can’t do without:
💫 ML Engineer (Pipeline Setup)
💫 Data Analyst (Algorithm Selection)
💫 Project Manager (Documentation)
💫 Producer (Hypothesis Validation)
💫 Product Manager (Revenue-Influencing Metric Identification)
If you lack the resources or time for several iterations, you can seamlessly integrate with smartIn-App through our API to automatically boost revenue. Our ML model, trained on F2P games and 30 billion in-game events, continuously learns from each client’s specific data and audience, optimizing the personalization process to the maximum.
Now, let’s proceed to the step-by-step algorithm for achieving uplift! 🚀
1️⃣ Determine Uplift Factors
This is the first thing to address on the path to uplift. We’ve compiled the most critical factors influencing game revenue based on our experience:
💥 Player’s in-game spending distribution: Understanding how users allocate their resources and how money is distributed in the game.
💥 Offer price: The cost at which various in-game resources are offered and its relationship with the player’s budget.
💥 Offer discount: The discount amount received by a specific player.
💥 Frequency and duration of offer display: How often and for how long the offer is shown to the player.
💥 Target game audience: Characteristics and interests of the game audience, in-game user behavior patterns.
💥 Player behavior: Where, what, and how often the player spends their resources. For example, certain product categories may be more attractive to players.
💥 Missing in-game offers: Understanding what offers are absent in the game but could be appealing to players. This may include new offer variations that can capture users’ attention and boost uplift. In our practice, there was an example: the absence of purely booster offers in the game. We implemented them and allowed players to purchase boosters without coins, resulting in a significant uplift, as boosters were highly needed by players to complete levels.
Once you’ve gained a basic understanding of how game mechanics work, you can move on to the next step – working with features.
2️⃣ Find Revenue-Impacting Game Features
How to manually determine which features are important and which are not? Where should you focus your efforts and where not?
The first thing to tackle is understanding how to step-by-step identify and work with features. We had a case where, on a mid-core client project, it was crucial to know which spaceship players most frequently chose during gameplay. Understanding which spaceship a player favored had a significant impact on their future purchases. So, knowing which spaceship a player frequently selected for gameplay helped us better anticipate which additional spaceships the user might buy.
This is where the producer, whom we mentioned earlier, with a keen understanding of basic game mechanics, can be helpful. They understand player behavior and its influences well. With this data alone, you can achieve a minimum uplift. Beyond that, uplift grows through the application of machine learning models to these basic mechanics (which we’ll discuss in point 3 of this article).
If you don’t have someone with extensive knowledge on your team, you can use our shortlist below 👇🏼
⚡️ What Are We Personalizing? Determine what exactly you want to personalize in the game. This could include prices, content offerings, discounts, offer duration, and more.
⚡️ Variety of Offers: The next step is to analyze several variations of offers that you can present to players. Offer variations can help identify which ones are most appealing to specific players.
⚡️ Identifying Key Features: For a deeper understanding of which features influence in-game user behavior, it’s important to have a team member with expertise in this area. Their insights help pre-identify which features statistically significantly affect in-game user behavior. A producer on the team, thanks to their insights, helps better understand which changes to offers could be more attractive to players.
⚡️ Enhancing Features with ML Models: After identifying features that statistically significantly influence model outcomes, we look for related features that also yield good results. For example, we determine what players spend most frequently, which offers with specific content they buy, and so on. At this stage, ML models help assess how the features we’ve identified (from the previous point) impact uplift. This is the most critical step for more precise and effective personalization. ML models analyze a vast amount of data, helping uncover correlations between a player’s lifetime value (LTV) and the price options offered. This also helps determine the best pricing structure to offer to a specific player.
When identifying features, it’s critically important to have a producer on the team with expertise and insights into game mechanics. They possess an understanding of player behavior in the game and the key factors influencing it.
The most important stage from the list above is the last one – improving features through the use of ML models. This approach allows you to show players the offers that are most likely to interest them, ultimately providing greater satisfaction from their time spent in the game and, consequently, increasing LTV and achieving uplift.
At smartIn-App, we build our work based on our ML model. We’ve spent two years training it and analyzing a massive amount of data – this is what helps us efficiently personalize offers. Without such a model, it becomes a challenging task, akin to building a rocket from scratch on your own!
How are priority features determined when integrating with smartIn-App?
Here’s how those crucial features for achieving uplift are identified during integration with smartIn-App.
- Creating Feature Variations: The team intuitively generates around 50 different features, knowing that approximately 20 of them will be significant for the ML model.
- Assessing Feature Significance: We train the models and then evaluate the importance of features for the model. Unnecessary and unimportant features are discarded.
- Optimization: We create additional features that can enhance the model’s performance in the game. It’s important to note that not all features will be significant, and some may not affect the model’s outcomes.
The identification of key features influencing uplift happens automatically. This is achieved because our team has extensively explored various games, and we already know which features definitely impact uplift. We have a database of features, knowledge of all the basic mechanics, and an understanding of which metrics are crucial. We specify them in the API – at this stage, the game already receives a minimum uplift.
3️⃣Implement Customized ML Models tailored to a specific optimization point (offers, discounts, bundles, in-game economy)
After identifying the key features for optimization and obtaining the base uplift, you can achieve a multiple uplift by integrating ML models with these core features. ML models allow for quick adaptation of the game economy to in-game changes. This is a crucial step in achieving uplift. For example, an ML model can help determine at which specific level to introduce certain gameplay mechanics to encourage player purchases.
To create an effective ML model from scratch, here’s a step-by-step guide:
1. Problem Definition
- Determine the specific problem you want to solve with the ML model.
- Define goals, success metrics, and expectations from the model.
2. Data Gathering
- Collect and prepare the data required for training the model.
- Pay attention to data quality and diversity to avoid overfitting.
3. Model Architecture Selection
- Choose an appropriate model architecture that best suits your task (e.g., neural networks, decision trees, etc.).
4. Model Training
- Train the model on the prepared data.
- Monitor the training process and analyze metrics to assess model quality.
5. Model Improvement
- Iteratively enhance the model by modifying its architecture, hyperparameters, and data preprocessing.
- Apply optimization techniques like regularization and data augmentation.
- Evaluate the model’s performance on validation data and make necessary adjustments.
- Address issues related to overfitting or underfitting.
- Repeat the training, improvement, and fine-tuning process until the desired model quality is achieved.
- Once satisfactory results are attained, deploy the model into a real application (project).
9. Model Monitoring
- Continuously monitor the model’s performance in real-time.
- Use user feedback to improve the model.
10. Data Collection in the Game and Retraining
- In the case of a model used in a gaming environment, collect data on how the model interacts with the game.
- Use this data for retraining the model to adapt it to specific game conditions.
Feature selection involves various analytical and statistical methods, as well as experiments. This allows you to train the model using new features and compare its performance to results obtained from previous features.
However, game conditions can change, and the model may become outdated as new data becomes available. To address this issue, continuous retraining of the model with new data is necessary.
Additionally, there might be correlations between features. This is not always a problem, as some obvious correlations can perform well.
Creating an effective ML model is an iterative process that requires constant improvement and adaptation. Understanding each stage and executing it meticulously will lead you to uplift!