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.

Take the guesswork out of scheduling messages and let Airship’s predictive models optimize send times for you.

Send time predictions update weekly and are exposed as TagsMetadata that you can associate with channels or Named Users for audience segmentation. Generally, they are descriptive terms indicating user preferences or other categorizations, e.g., wine_enthusiast or weather_alerts_los_angeles. Tags are case-sensitive. for segmentation and analysis in Performance AnalyticsA customizable marketing intelligence tool that provides access to reports and graphs based on engagement data., and exposed as Tag Change events in Real-Time Data StreamingA service that delivers engagement events in real time via the Data Streaming API or an Airship partner integration..

 Note

Optimal Send Time is available for iOS, Android, and Fire OS only.

The Optimal Send Time Model

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

After enabling the feature, Airship runs the predictive model for your iOS, Android, and Fire OS audience members. Then you can target them using the optimal send time model.

Optimal Send Time Use Cases

Schedule notifications without having to guess the optimal time for user engagement. By delivering a message to your users at the best time for them, you can optimize for a higher open rate.

  • Send an important update to all users at the time they are most likely to read your message.
  • Deliver a coupon to your users at a time when they are most likely to engage.
  • Send a long form story to you readers at the best time for them.
  • Distribute user engagement across the day to meter traffic flow to the app.
  • Compare performance between regular scheduled messages and messages sent using Optimal Send Time.
  • Analyze Optimal Send Time user level distribution across hours of the day.
  • Analyze correlation between churn risk and user’s best send time.

Optimal Send Time Data and 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.

You can also use Real-Time Data Streaming to observe changes in optimal send time as TAG_CHANGE events for the ua_send_time_prediction tag group.

Enable Optimal Send Time

First you must enable Optimal Send Time in the dashboard. Send time prediction supports your production projects only and updates weekly on Wednesdays.

  1. Go to Settings » Project configuration and click Manage for Predictive AI.
  2. Enable Optimal Send Time.

Schedule a Message Using Optimal Send Time

You can use Optimal Send Time in the Message and A/B Test composers. In the Delivery step:

  1. Select Optimize and enter a date.

OR (Message composer only)

  1. Select Recurring.
  2. Specify the delivery interval by number of hours/days/weeks/months/years.
  3. Set the date for the initial delivery. This is the first time that Airship will send your message.
  4. Select Optimal time.

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

In 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 management.

  1. Go to Audience » Contact Management.

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

  3. Click a result to view the named user ID or channel ID page, then click the channel ID 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.