# Use Case: Product & Game Preference

{% hint style="success" %}
🚀   **Objective**: Use the Singularity Model to have the ability to target players with relevant content based on their game type and product preferences in order to increase campaign conversion.

Firstly, we want to specify the below **segmentation capabilities**:

* **Product Preference** (e.g. Casino / Live Casino / Sportsbook)
* **Game Type Preference**
  * Blackjack
  * Slots

With these in mind, we want to look at the game type and product preference in **two different time ranges**:

* **Short-term** (recently = within the last 30 days)
* **Long-term** (historically = within the player lifetime)
  {% endhint %}

{% hint style="info" %}
Every feature that you create should be meaningful to ensure it's relevant for your use.
{% endhint %}

Below👇  we will walk you through a step-by-step guide on how to use the Data Studio and Singularity Model in order to achieve this objective.

### 📊 Define Segmentation in the Data Studio&#x20;

Firstly, we need to clarify the definitions behind the different types of segmentation. We can do this with the help of the Data Studio, to find out the possible values for Game Type and Product that are needed to create the Feature Types.&#x20;

Navigate to: **Insights and Analytics -> Data Studio -> Dashboards**

![Dashboards in the Data Studio](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FOr5PkGjPJaIy2NUnCpap%2FScreenshot%202024-06-25%20at%2015.31.03.png?alt=media\&token=35cb86c3-9375-4a97-8e15-ad0c3f53a84d)

Create a **Brand Dashboard Group** and **add a new Dashboard** into that group. Click to open the new Dashboard and **add a Widget** to your Dashboard. For this objective, we need to select **Player Performance** in order to get the relevant data.&#x20;

![Create dashboard](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FKezxdidoDMLNtmZ8piua%2FCreate%20Dashboard.gif?alt=media\&token=77bae77e-35c2-4fbc-9f6c-71abcb6b7bbe)

#### Add Dimension

Once the widget is added, select **Casino Game Type** as the dimension. This will check the database for all values captured on the game\_type field in the casino event.

Run the query to get a list of all the values that we can use later to define the product and game type preferences.&#x20;

![Add dimension](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FZJwjBigw9g78MMStckiJ%2FScreenshot%202022-03-11%20at%2013.38.42.png?alt=media\&token=432dbae8-51b2-4732-8fe6-b03f555daa02)

### 📍 Map out Definitions

Using the values from the Dashboard, we can map out the definitions of Product Preference and Game Type Preference.

**Product Preference**

A player should be classified by the **product** that they have bet the largest amount on:

<table><thead><tr><th>Product</th><th width="150">Event</th><th>Key</th><th>Value</th></tr></thead><tbody><tr><td>Casino</td><td>Casino Event</td><td>game_type</td><td>slots</td></tr><tr><td>Casino</td><td>Casino Event</td><td>game_type</td><td>jackpot</td></tr><tr><td>Live Casino</td><td>Casino Event</td><td>game_type</td><td>roulette</td></tr><tr><td>Live Casino</td><td>Casino Event</td><td>game_type</td><td>poker</td></tr><tr><td>Live Casino</td><td>Casino Event</td><td>game_type</td><td>game-show</td></tr><tr><td>Live Casino</td><td>Casino Event</td><td>game_type</td><td>first-person</td></tr><tr><td>Live Casino</td><td>Casino Event</td><td>game_type</td><td>blackjack</td></tr><tr><td>Live Casino</td><td>Casino Event</td><td>game_type</td><td>baccarat-sic-bo</td></tr></tbody></table>

**Game Type Preference**

A player should be classified by the specific **Game Type** that they have bet the largest amount on:

| Game Type    | Event Type   | Key        | Value           |
| ------------ | ------------ | ---------- | --------------- |
| Slots        | Casino Event | game\_type | slots           |
| Jackpot      | Casino Event | game\_type | jackpot         |
| Roulette     | Casino Event | game\_type | roulette        |
| Poker        | Casino Event | game\_type | poker           |
| Game Show    | Casino Event | game\_type | game-show       |
| First Person | Casino Event | game\_type | first-person    |
| Blackjack    | Casino Event | game\_type | blackjack       |
| Baccarat     | Casino Event | game\_type | baccarat-sic-bo |

### ⚙️ Create Feature Type

Now that we have all the information we need, we can set this up as a Feature Type inside the Singularity Model. **Starting with the Product Preference we can create a new Feature Type.**

📚  Read about setting up a new Feature Type [**here**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/feature-types/setting-up-feature-types). &#x20;

For this objective, we need to set it up as in the image below. Set up a class for each value identified.

![Feature Type: Product Preference](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FhZDB08q3dWmkzoIwuFrb%2FScreenshot%202022-03-11%20at%2016.57.05.png?alt=media\&token=a25ffced-69e3-45ea-ae45-b45721145a1c)

{% hint style="info" %}
&#x20;🧠   **Note**: The **Slug** will later be used in the computations to make sure the relevant data is connected to the **Class***.*&#x20;
{% endhint %}

Next, repeat the same by creating a **Feature Type** for **Game Type Preference,** as in the image below👇.&#x20;

![Feature Type: Game Type Preference](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2F5PXZRUm5yd4uBJrsFIUH%2FScreenshot%202022-03-14%20at%2009.28.24.png?alt=media\&token=52dafe02-8641-4daf-9f29-5c2b16fff4c7)

### 👩‍👩‍👦‍👦 Create Player Feature&#x20;

Now that we have the Feature Types set up, we can create the relevant Player Features.&#x20;

As mentioned in the objective, we want to assess a player's preference in two different time ranges: short and long term. We should set up one Player Feature for each preference and for each time range. That will result in 4 Player Features:

* **Product Preference (short-term)** - (using Feature Type Product Preference)
* **Product Preference (long-term)** - (using Feature Type Product Preference)
* **Game Type Preference (short-term)** - (using Feature Type Game Type Preference)
* **Game Type Preference (long-term)** - (using Feature Type Game Type Preference)

{% hint style="info" %}
🧠   **Note**: For these 4 player Features, we do not want to set a default value.

The default value is the value a player will be assigned if they have not yet been classified as any other value.&#x20;

📚  Read more about how to create a new [**Player Feature**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/player-features/setting-up-player-features).
{% endhint %}

**Product Preference (short-term)**

Here is an example of how to set up the Player Features:

![Player Feature - Product Preference (short-term)](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FS0mUFAlB0znBhETNeQsM%2FScreenshot%202022-03-14%20at%2009.45.14.png?alt=media\&token=017d7dd8-aa5d-4a76-9289-548cb458672b)

### 🖥  Add Computations (Manage Movements)

Step two of setting up the Player Features involves managing the player movements, or computations. This will calculate and assign players to the features we have created.&#x20;

{% hint style="info" %}
🧠   **Note**: The type of **Action** will define when the calculation takes place.&#x20;

This is similar to how an activity can fire actions on either a real-time event specifically for the player or a set time for all players.

For this objective, we want the computation to run on a **time-based query** and ideally during low traffic, therefore we have set it to trigger at 03:00 UTC.

📚  Read more about [**Computations**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/player-features/manage-movements).
{% endhint %}

From the Player Feature page, click **Manage Movements***.*

![Add a new time based query](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FdlhnGoHX18GYMPApIExX%2FScreenshot%202022-03-14%20at%2010.00.54.png?alt=media\&token=2a283157-5498-4a59-871b-4ff5d6b43769)

Set up your time-based query with a computation Trigger set to 03:00 UTC. To do this, you will need to create the query against the database where the computation will be done. Here you need to identify certain tables, fields and statements.

{% hint style="info" %}
🙋‍♀️  **Please reach out to Fast Track in case you need assistance with the query.**
{% endhint %}

Once the query is completed, simply decide a name for the computation and click Update.

![Manage Movements](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FrDW6GevVSnt5PFArIHKW%2FScreenshot%202022-03-14%20at%2010.03.13.png?alt=media\&token=4c5927e4-743e-4480-b6bb-c66e3afad90c)

Repeat this step for each of the 4 Player Features.

### Segmentation

After the computation Trigger has fired (03:00UTC in our example), you'll be able to see that players have now been assigned to one of the classes of your Player Feature.&#x20;

You can see this happen in the **Player Distribution dashboard** inside the **Player Feature**:

![Dashboard: Player Distribution Dashboard](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FSF9IM9JyMDKGrB8yU3Sa%2FScreenshot%202022-03-14%20at%2010.17.49.png?alt=media\&token=bc36bdf6-91d8-4d8d-a8e7-d9de05d8f511)

Following this, you will be able to find the **Product Preference** and **Game Type Preference** in the standard segmentation list to be used for activities and lifecycles.&#x20;

![Segmentation fields](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FlOPpJgiJIQzohdTPW9MT%2FScreenshot%202022-03-14%20at%2010.22.14.png?alt=media\&token=e2fe4f3a-3ec7-4b0a-9985-53fe7595ac32)
