Optimal Send Time

Optimal Send Time is an algorithm that determines the best hour for optimal engagement activity — when each individual member of your audience is most likely to receive and act on your message. iOS, Android, and Amazon platforms only.

“Best Time” is determined from recent engagement history. To start, app opens are localized to the user’s time zone and aggregated to the hour over the last 60 days of app activity. Best hour is determined by striking a balance between the user’s engagement patterns and a generalized model of engagement patterns across the app audience. The model also outputs a general best hour which is applied to dormant or low-activity users. The general best hour aggregates opens across app users and selects the best hour based on more frequent opening time for each app platform.

Enable Optimal Send Time

Send time prediction supports your production projects only and updates weekly on Wednesdays.

 Note

Optimal Send Time is an add-on predictive feature. Contact Airship Sales to enable predictive features for your account.

  1. Go to Settings » Configuration » Predictive AI.
  2. Enable Optimal Send Time.

Schedule a Message Using Optimal Send Time

In the Delivery step of the Message composer:

  1. Select Optimize.
  2. Enter a date in YYYY-MM-DD format.

Airship recommends scheduling your message at least three days in advance due to the combination of time zones and optimal times. You can reduce the lead time if your audience is more localized, e.g., only in the United States or in a certain European region.

Schedule best_time Messages Using the API

Optimal Send Time is represented as the best time key. To deliver notifications at your users’ optimal times via the API, schedule your message using best_time.

The following example shows two schedules for an upcoming message. The first schedule uses a specific scheduled_time for users with the “earlyBirds” tag, and the second schedule lets the model decide when to send the message, based on the best_time for users with the “normalPeople” tag.

POST /api/schedules HTTP/1.1
Authorization: Basic <master authorization string>
Content-Type: application/json
Accept: application/vnd.urbanairship+json; version=3;

[
	{
		"name": "Morning People",
		"schedule": {
			"scheduled_time": "2018-06-03T09:15:00"
		},
		"push": {
			"audience": {
				"tag": "earlyBirds"
			},
			"notification": {
				"alert": "Good Day Sunshine"
			},
			"device_types": [
				"ios",
				"android",
				"sms",
				"web"
			]
		}
	},
	{
		"name": "Everybody Else",
		"schedule": {
			"best_time": {
				"send_date": "2018-06-03"
			}
		},
		"push": {
			"audience": {
				"tag": "normalPeople"
			},
			"notification": {
				"alert": "Stay Up Late"
			},
			"device_types": [
				"ios",
				"android",
				"sms",
				"web"
			]
		}
	}
]

Look Up a User’s Optimal Send Time

You can look up optimal send time for an individual user from the dashboard. See also: Contact Lookup.

  1. Go to Audience » Contact Lookup.

  2. Enter a Channel IDAn Airship-specific unique identifier used to address a channel instance, e.g., a smartphone, web browser, email address. , Named User IDA customer-provided identifier used for mapping multiple devices and channels to a specific individual. , or Device TokenAn identifier used to identify an instance of your app running on an iOS device. Device tokens are provided by Apple Push Notification Service (APNs) and must be included in a push notification request targeting the associated device. . Results are listed per channel ID.

  3. Click a result and go to the Tag Groups tab. The hour tag is listed in the UA_SEND_TIME_PREDICTION tag group.

In the API, the ua_send_time_prediction tag group represents Optimal Send Time. You can look up a channel or named user and check the ua_send_time_prediction tag group to find the optimal send time for a user. See Channel Lookup and Named User Listing or Lookup in our API documentation.

Observe Optimal Send Time in Performance Analytics

The Optimal Send Time dashboard in Performance Analytics provides a deeper look into the best time model, including a distribution of best hours across your audience, and the generalized best hour for your audience by platform and day of week.

Go to the Optimal Send Time dashboard:

  1. Go to Reports » Performance Analytics.
  2. Go to Spaces » Shared » Predictive and select Optimal Send Time.

Optimal Send Time Events

The ua_send_time_prediction tag group contains the send time prediction for each channel. Changes in a user’s ua_send_time_prediction tag appear as Tag Change Events in the event stream.