# Player Feature - Conversion State

{% hint style="info" %}
Conversion State is a system **Player Feature**.&#x20;

✅  This means that it has been created by FT and is available to use as part of the Singularity Model.&#x20;

🧠  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.&#x20;
{% endhint %}

## ⚙️  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: **Conversion State** is created based on the **Feature Type: Conversion State (Lifestage)**.

The **classes** and **slugs** that are required by the Player Feature, are created and defined in the Feature Type.&#x20;

{% hint style="success" %}
📚 Further reading:

[**Feature Types**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/feature-types/setting-up-feature-types)

[**Setting up Player Features**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/player-features/setting-up-player-features)

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

## 🚀 Objective&#x20;

The objective of the Conversion State Player Feature is to be able to segment players based on where they are in the conversion journey. This covers all steps in the conversion funnel. A Player is considered fully converted when they have made their 4th deposit.

#### Possible outcomes (Classes)

The possible outcomes (Feature Type Classes) that a player can belong to are:

* Registered&#x20;
* Freeplay (bet without deposit)
* 1st Deposit
* 2nd Deposit
* 3rd Deposit
* Converted

Let's look more closely at how these classes are calculated and how players can qualify to belong to a certain class 👇

## ↔  Movements

{% hint style="info" %}
Movements define the way in which players can be moved from one state to another.&#x20;

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.&#x20;

📚  Read more:

[**Movements**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/player-features/manage-movements)

[**Real-Time Movements**](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/player-features/manage-movements/real-time-movements)

[**Time-Based Queries** ](https://www.fasttrack-solutions.com/en/resources/knowledge-base/the-singularity-model/player-features/manage-movements/time-based-queries)
{% endhint %}

For **Conversion State**, there are seven Active Processes, or movements, that have been set up to manage player movements between states:

![Active Processes](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2F64DpVFErEXLsKwRzDdGz%2FConversion%20State%20-%20active%20processes.png?alt=media\&token=f5927e7d-2c3d-4ca6-996e-d2afffff0de9)

#### 1. On Registration set "Registered"

* This movement is a **Real-Time movement**, based on a real-time player event.
* Anytime a new player **registers** on your site, they will be moved to the **Registered** class.&#x20;
* None of the classes qualifies for this movement. Only new players, who have not been classified before, are eligible to be classified as **Registered**.&#x20;

![Set to registered](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FTVQSLWbrh0CAYs1yd0NC%2FConversion%20state%20set%20to%20registered.png?alt=media\&token=71ade201-e476-4c99-961e-a4f63346164d)

#### 2. Game round from "Registered" change to "Freeplay"

* This movement is a **Real-Time movement**, based on a real-time player event.
* When a registered player plays a **game round** or makes a **casino bet**, they will be moved to the **Freeplay** class.
* Only players from the **Registered** class are eligible for this movement. &#x20;

![Registered to Freeplay](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FSfkmZwSgl6alvdGd5KvJ%2FConversion%20State%20-%20set%20to%20freeplay.png?alt=media\&token=166ff058-0c77-4a37-bb6a-d74f58a77b32)

#### **3.  Successful deposit from "Registered" or "Freeplay" set to "1st Deposit"**

* This movement is a **Real-Time movement**, based on a real-time player event.
* When a registered or Freeplay player makes a successful deposit, they will be moved to the **1st Deposit** class.
* Only players from the **Registered** and **Freeplay** classes are eligible for this movement.&#x20;

![Registered or Freeplay to 1st Deposit ](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FfDauGLjQ3uCEfwGBqNID%2FConversion%20State%20-%201st%20deposit.png?alt=media\&token=1ebdf6e2-8d01-4ac6-a6e4-5f02163737da)

#### **4. Successful Deposit from "1st Deposit" set to "2nd Deposit"**

* This movement is a **Real-Time movement**, based on a real-time player event.
* When a player classed as **1st Deposit** makes a successful deposit, they will be moved to the **2nd Deposit** class.
* Only players from the **1st Deposit** class are eligible for this movement.&#x20;

![1st to 2nd Deposit ](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2Fs8fVQMH1K2b2wEYiFm5S%2FConversion%20state%20-%202nd%20deposit.png?alt=media\&token=ee1bccf2-a6bc-466b-a4d4-cd01b29fa214)

#### **5. Successful Deposit from "2nd Deposit" set to "3rd Deposit"**

* This movement is a **Real-Time movement**, based on a real-time player event.
* When a player classed as **2nd Deposit** makes a successful deposit, they will be moved to the **3rd Deposit** class.
* Only players from the **2nd Deposit** class are eligible for this movement.&#x20;

![2nd to 3rd deposit ](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2F9N1Fam6lDlEoe2urW0jv%2FConversion%20state%20-%203rd%20deposit.png?alt=media\&token=bfbcbc48-b3db-48d9-a32f-da727b9a0fb5)

#### **6. Successful Deposit from "3rd Deposit" set to "Converted"**

* This movement is a **Real-Time movement**, based on a real-time player event.
* When a player classed as **3rd Deposit** makes a successful deposit, they will be moved to the **Converted** class.
* Only players from the **3rd Deposit** class are eligible for this movement.&#x20;

![3rd deposit to converted ](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FoadLLjn4Hsli9EQjYAHP%2FConversion%20state%20-%20converted.png?alt=media\&token=efd4ae75-5f78-464f-add5-52c46dda5fae)

#### 7. Evaluate Conversion State

* This movement is a **Time-Based Query** that is set to run at a set time of '**Everyday at 03:00 UTC**'.
* The purpose of this computation is to review all players and evaluate where they should be classified. The query is looking at the player **deposit count** and **bet count**.
* This query works by checking the **player deposit count** and **count of bets**. It ensures that players are classified the correct way.
* Blocked and excluded players are also included.&#x20;

![Evaluate Conversion State](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FOXda1cSv1o5xHJGcnXVG%2FConversion%20state%20-%20evaluate%20state.png?alt=media\&token=d5114972-e2bd-413d-9f43-48b9ede424b1)

## 🧠  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.&#x20;

Our queries are created using ClickHouse and are included in the Singularity Model for you to use.&#x20;

{% hint style="info" %}
🧠  Please note that the **slug** from the **Feature Type** **class** must match inside the query.
{% endhint %}

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**.

![Evaluate Conversion State](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FNeBuVH71M3KUW8hknRew%2FConversion%20state%20-%20query.png?alt=media\&token=ff38898d-40fe-490a-8983-ce0cc6d9230e)

## 🏁  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 Player Distribution dashboard inside the Player Feature:

![Player Distribution - Conversion state](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FOYckQlRWarLMP41IklMw%2FConversion%20State%20-%20dashboard.png?alt=media\&token=14da83dd-0b11-41f1-86a0-88bf189d06d8)

#### Segmentation

Following this, you can use **Conversion State** when creating segments for Activities and Lifecycles. You will be able to find **Conversion State** amongst the segment fields when you’re creating a segment.

![Conversion State segment fiel](https://3654650655-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGrxN2ttYCb8JwJc2TS%2Fuploads%2FRVjwBECpThqr4lenIP9C%2FConversion%20State%20segment%20list.png?alt=media\&token=e74bdda7-3385-434f-b728-deb8e53356fe)
