Optimal Time of the Day 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: Optimal Time of the Day is created based on the Feature Type: Time of Day.
The classes and slugs that are required by the Player Feature, are created and defined in the Feature Type.
πŸ“š Further reading:

πŸš€ Objective

The objective of the Optimal Time of the Day Player Feature is to be able to target players at their preferred time of day. The send-out time is predicted based on engagement (deposits) on previous campaigns sent at different time slots.
πŸ•’ Working with Multiple Time-Zones?
Using Optimal Time of the Day for your Activities will make any multiple time-zone issue a non-issue. Even better, your campaign will automatically send to each and every player based on the individual's optimal time of the day.
If no optimal time can be deduced due to a lack of data, the time when the most deposits were made will be used. If the player never made a deposit, the player's registration time will be used.

Possible outcomes (Classes)

The possible outcomes (Feature Type Classes) that a player can belong to are:
  1. 02:00 UTC (02:00-03:59 UTC)
  2. 04:00 UTC (04:00-05:59 UTC)
  3. 06:00 UTC (06:00-07:59 UTC)
  4. 08:00 UTC (08:00-09:59 UTC)
  5. 10:00 UTC (10:00-11:59 UTC)
  6. 12:00 UTC (12:00-13:59 UTC)
  7. 14:00 UTC (14:00-15:59 UTC)
  8. 16:00 UTC (16:00-17:59 UTC)
  9. 18:00 UTC (18:00-19:59 UTC)
  10. 20:00 UTC (20:00-21:59 UTC)
  11. 22:00 UTC (22:00-23:59 UTC)
  12. 00:00 UTC (00:00-01:59 UTC)
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 Optimal Time of the Day there is one Active Process, or movement, that has been set up to manage player movements between states:
Active Processes
Active Processes

Evaluate Optimal Time of the Day

  1. This movement is a Time-Based Query that is set to run at a set time of 'Every day at 03:00 UTC'.
  2. The query is focused on the conversion rate:
    1. This looks at the conversion rates from Activities sent at different times during the day. For example, if 4 Activities were fired at 16:00 UTC the query makes a calculation to see how many of these Activities the player deposited. This is how the conversion rate is calculated.
    2. It is important to note that the only time brackets taken into consideration in this calculation are those which have at least 6 Activity fires and a conversion rate that is strictly greater than 0.2.
    3. The time bracket with the best conversion rate is chosen as the Optimal Time of the Day.
    4. If no optimal time can be deduced due to a lack of data, the time when the most deposits were made will be taken as the most optimal time. If the player never made a deposit, the registration time will be taken as the most optimal time.
  3. When using this Player Feature inside an Activity, it will fire at the beginning of the time bracket, i.e. for the classification 12:00 UTC it will fire at 12:00 UTC, and for the classification 16:00 UTC it will fire at 16:00 UTC, and so on.
  4. Blocked and excluded players are also included.
Evaluate Optimal Time of the Day
Evaluate Optimal Time of the Day
πŸ’‘ Alternative Suggestions
As long as the connecting feature type is Time of Day and the classes are properly defined, you are free to create your own Player Features to define when would be the most optimal time of day.
Some examples;
  1. The time with the highest number of player deposits
  2. Highest response rate or engagement rate
  3. Based on previous player login times (the time the player logged in)

🧠 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.
Evaluate Optimal Time of the Day
Evaluate Optimal Time of the Day

🏁 What's Next


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
Player Distribution


Following this, you can use Optimal Time of the Day when creating Segments for Activities and Lifecycles. You will be able to find Optimal Time of the Day amongst the Segment Fields when you’re creating a Segment.
Segment Field
Segment Field

Use Inside an Activity

Any Player Feature that has been set up using the Feature Type Time of Day, can be selected from inside an Activity or Lifecycle to determine the send-out time.
πŸš€ Learn how:
Continue reading here to learn how to use the Optimal Time of the Day player feature from inside an Activity.