Send Time Optimization models

The Send Time Optimization model is a ready-to-use data science model.

The Send Time Optimization model explained

The Send Time Optimization model determines the optimal time to send campaign emails to customers. The purpose of the model is to send messages when they're most likely to be seen, opened, read, or acknowledged.

Example: The model would trigger to send campaign emails right before a customer typically checks their inbox. As a result, the message would appear at the top of the customer's inbox, ensuring that the email is most likely to be seen and opened.

The model only tracks recurring campaigns. One-time campaigns are not tracked.

  • Recurring campaigns: All events for the campaign have data for that particular week (from the start date) and the following week.

  • One-time campaigns: Events are recorded for a period of seven days from start date of campaign. If a campaign has any event associated for eight days or longer, it is no longer considered a one-time campaign.

Parameters of the model

When creating the model, you will need to define the following parameters for the model:

  • Algorithm: The algorithm is the piece of code that runs the model. When you select the Send Time Optimization algorithm, you will need to define the lookback window parameter.

    • Lookback window: Defines the historical analysis window for a customer across campaigns (30, 60, 90, 120, 180, or 365 days).

  • Queries: The queries selected for the model generate a dataset for model training and scoring.

  • Inputs: The inputs are query attributes from the Unity data model that are used for model training and scoring. You can't make changes to model inputs.

  • Outputs: The outputs are data objects and attributes from the Unity data model that are used to store the output values of the model. You can make updates to the default mapping of model outputs.

Model inputs

To generate values, the Send Time Optimization model uses the following data.

For the model to run successfully:

  • The Medium attribute from Event must have a value of Email.

  • The Type attribute from Event must have a value of Email Click or Email Open.

Data object Attribute Data type Description
Customer SourceCustomerID String The unique identifier for the customer.
Customer SourceID String Unique identifier for the source.
Event Type String

The specific event type, such as Email Click.

The Send Time Optimization model only considers the event types Email Click and Email Open.

Event EventTS Timestamp The date and time when the event was captured.
Event Medium String

The channel for the event, such as Email, SMS, and Push.

The Send Time Optimization model only considers the event medium Email.

Event SourceEventID String Unique identifier for the event.
Campaign CampaignID String Unique identifier for the campaign.
Campaign Campaign_Type String The type of campaign, such as Promotional, Transactional, and Push.
Campaign StartDate Timestamp The date the campaign begins.
Campaign EndDate Timestamp The date the campaign ends.
Campaign Source String The source of the campaign.
Campaign Campaign_Medium String The channel for the campaign, such as Email, SMS, and Push.

Model outputs

You can review values for the following output attributes in the Customer _STOdata object. Attributes represent optimal days of the week and hours of the day.

Attribute Description Data Type Is Key attribute?
SourceCustomer_STOID The unique ID for the data object, which is the same as the CustomerID. String Yes
CampaignID The unique identifier for the campaign. String Yes
SourceCustomerID The source attribute value for the Customer ID. String Yes
SourceID The unique identifier for the source. String Yes
STO_Best_Day_In_Week

Number values represent days of the week.

  • 0 - Any day

  • 1 - Sunday

  • 2 - Monday

  • 3 - Tuesday

  • 4 - Wednesday

  • 5 - Thursday

  • 6 - Friday

  • 7 - Saturday

Integer No
STO_Best_Hour_In_Day

Number values (0 to 23) represent hours in a day. The number 0 represents 12 a.m., and succeeding numbers represent corresponding hours of the day until the number 23 represents 11 p.m.

  • 0 - 12 a.m.

  • 1 - 1 a.m.

  • 2 - 2 a.m.

  • 3 - 3 a.m.

  • 4 - 4 a.m.

  • 5 - 5 a.m.

  • 6 - 6 a.m.

  • 7 - 7 a.m.

  • 8 - 8 a.m.

  • 9 - 9 a.m.

  • 10 - 10 a.m.

  • 11 - 11 a.m.

  • 12 - 12 p.m.

  • 13 - 1 p.m.

  • 14 - 2 p.m.

  • 15 - 3 p.m.

  • 16 - 4 p.m.

  • 17 - 5 p.m.

  • 18 - 6 p.m.

  • 19 - 7 p.m.

  • 20 - 8 p.m.

  • 21 - 9 p.m.

  • 22 - 10 p.m.

  • 23 - 11 p.m.

Integer No

Create and use a Send Time Optimization model

To create and use a Send Time Optimization model, you will need to do the following:

  1. Follow the steps for Creating Send Time Optimization models.

  2. After creating the model, follow the steps for Running training and scoring jobs.

After the model runs and creates output values, you can do the following:

data science, data science model, analyze data, create data science model, how to create a data science model, sto, send time optimization, sto model, send time optimization model