Player Feature - Preferred Offer Type
An in-depth look into Preferred Offer Type, a system Player Feature: how it can be used, the objective of using it, and the logic of how it has been set up.
Preferred Offer Type is a system Player Feature.
β
This means that it has been created by FT and is available to use as part of the Singularity Model.
π§ Please note that system Player Features cannot be edited or deleted. If you want to make changes, you must create your own version of the Player Feature.
βοΈ Feature Type
All Player Features must be connected to a Feature Type. Think of the Feature Types as the settings that define the language that we use to talk about important pieces of information. The Player Feature uses these settings and relates them to a player.
The Player Feature: Preferred Offer Type is created based on the Feature Type: Offer Type.
The classes and slugs that are required by the Player Feature, are created and defined in the Feature Type.
π Objective
The objective of the Preferred Offer Type Player Feature is to be able to pick the offer type with the highest conversion rate for each player (based on previous Activities). This will allow you to give the right offer to each one of your players, maximizing the potential conversion from your campaigns.
Possible outcomes (Classes)
The possible outcomes (Feature Type Classes) that a player can belong to are:
- Free Spins
- % Deposit Bonus
- Bonus Money
- Real Money
- Free Bet
- Risk-Free Bet
- Loyalty Program
- Cashback
- Feature Trigger
Let's look more closely at how these classes are calculated and how players can qualify to belong to a certain class π.
β Movements
Movements define the way in which players can be moved from one state to another.
They can either be real-time movements, that occur when a real-time action occurs (such as a payment or registration), or a time-based query. Time-based queries occur at a set time of the day and evaluate the player base to determine if a player should move class.
π Read more:
For Preferred Offer Type, there is one Active Process, or movement, that has been set up to manage player movements between states:
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2Fnes0IDYfNBjyjPynXfF0%2FScreenshot%202024-07-08%20at%2011.28.26.png?alt=media&token=7b731e32-76fa-41b7-bca2-591762438e9f)
Active Processes
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2Fnes0IDYfNBjyjPynXfF0%2FScreenshot%202024-07-08%20at%2011.28.26.png?alt=media&token=7b731e32-76fa-41b7-bca2-591762438e9f)
Active Processes
Preferred Offer Type
- This movement is a Time-Based Query that is set to run at a set time of 'Every day at 03:00 UTC'.
- The query analyses the conversion data of Activities that contained Offer Type classifications.
- We look at all the Activities that were classified with a specific Offer Type, and then calculate out of all those Activities how many converted (meaning, the player made a deposit).
- As an example, if 10 Activities with Offer Type classification = Free Spins fired to a specific player, and they converted (deposited) on 2 of those Activities, then their conversion rate for the Offer Type "Free Spins" will be 20%.
- Then we compare the conversion rate for all Offer Types and the one with the highest conversion rate is the Player Preferred Offer Type.
- Blocked and excluded players are also included.
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FrWMbFfTNBjCWDrpBB94h%2FScreenshot%202024-07-08%20at%2011.40.55.png?alt=media&token=090f6fe2-662d-42b1-8b2a-989730030735)
Previously Played Products
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FrWMbFfTNBjCWDrpBB94h%2FScreenshot%202024-07-08%20at%2011.40.55.png?alt=media&token=090f6fe2-662d-42b1-8b2a-989730030735)
Previously Played Products
π§ Queries
Most of the Player Features in the Singularity Model make use of time-based queries. Queries are good for determining states of player inactivity, something a real-time movement is unable to determine.
Our queries are created using ClickHouse and are included in the Singularity Model for you to use.
π§ Please note that the slug from the Feature Type class must match inside the query.
If you want to write your own queries, you can use the Query Editor or ask Fast Track for assistance. You can find the query editor in: Insights & Analytics menu - Data Studio - Query Editor.
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FWW7kfkzGMtduvZN1dpYN%2FScreenshot%202024-07-08%20at%2011.41.40.png?alt=media&token=030f8847-8446-4f8b-afcf-eb7878c3c2d3)
Previously Played Products
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FWW7kfkzGMtduvZN1dpYN%2FScreenshot%202024-07-08%20at%2011.41.40.png?alt=media&token=030f8847-8446-4f8b-afcf-eb7878c3c2d3)
Previously Played Products
π What's Next
Dashboards
After some time, once the computation Triggers have fired, you'll be able to see that players have now been assigned to one of the classes of Player Feature. You can see this happen in the Current Player Distribution dashboard inside the Player Feature:
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FG3JIOrNdKkuRJeensSQF%2FScreenshot%202024-07-22%20at%2016.21.09.png?alt=media&token=dbf85f56-dcec-418e-b4c1-728bb3e2f71a)
Player Distribution
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FG3JIOrNdKkuRJeensSQF%2FScreenshot%202024-07-22%20at%2016.21.09.png?alt=media&token=dbf85f56-dcec-418e-b4c1-728bb3e2f71a)
Player Distribution
Segmentation
Following this, you can use Preferred Offer Type when creating Segments for Activities and Lifecycles. You will be able to find Preferred Offer Type amongst the Segment Fields when youβre creating a Segment.
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2Fu19KbRxPV8aL3KEjbUGT%2FScreenshot%202024-07-22%20at%2016.53.21.png?alt=media&token=3009d029-d420-4803-8885-3417fe306f53)
Segment Field
![](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2Fu19KbRxPV8aL3KEjbUGT%2FScreenshot%202024-07-22%20at%2016.53.21.png?alt=media&token=3009d029-d420-4803-8885-3417fe306f53)
Segment Field