Predictive Send Time Optimization

Predictive Send Time Optimization makes it easy for you to send messages when users are most open to receiving them. Take the guesswork out of scheduling messages and let our predictive models optimize the time for you. Whether you are sending via the dashboard or our API, just tell us to send at the best time, and we'll handle the rest.

Note

Predictive Send Time Optimization is available on iOS, Android, and Amazon only.

Overview

The Predictive Model

Predictive Send Time Optimization is the second release in Urban Airship’s suite of Predictive products, which use machine learning and probabilistic modeling to predict user behaviors and optimize engagement strategy for our customers. For details about our first Predictive offering, see: Predictive Churn.

Predictive Send Time Optimization is an algorithm that determines the best hour, personalized to each user, for optimal engagement activity.

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

Getting Started

Note

Send Time Optimization is one of our Predictive features. Please contact your Urban Airship Account Manager to purchase.

Once your account is enabled, we will run the model on the users of your mobile apps on iOS, Android, and Amazon platforms. Then you can target them using the optimal time model via our dashboard or API.

Dashboard

To schedule an optimal-time message via the dashboard, choose the Optimize option when you reach the Delivery step in the Message workflow

Then enter a date in YYYY-MM-DD format.

We recommend scheduling at least three days in advance due to the combination of time zones and optimal times. If your audience is more localized, e.g., only in the United States or in a certain European region, less lead time is necessary.

You may query an individual user's optimal send time via the dashboard Audience menu. See: Audience Menu Guide: Device Lookup.

API

To deliver notifications at your users’ optimal times via the API, schedule your message using best_time.

In the following example, we are creating 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 attributed to users with the "normalPeople" tag.

POST /api/schedules HTTP/1.1
Authorization: Basic <master authorization string>
Content-Type: applicaticon/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": "all"
      }
   },
   {
      "name": "Everybody Else",
      "schedule": {
         "best_time": {
            "send_date": "2018-06-03"
         }
      },
      "push": {
         "audience": {
            "tag": "normalPeople"
         },
         "notification": {
            "alert": "Stay Up Late"
         },
         "device_types": "all"
      }
   }
]

See the following resources in our API reference for more detail:

Use Cases

With Predictive Send Time optimization, you can more easily schedule notifications for your users without having to guess the optimal time for them. 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 Predictive Send Time Optimization.

  • Analyze Predictive Send Time user level distribution across hours of the day.

  • Analyze correlation between churn risk and user’s best send time.

Data Products

Because we utilize tags to attribute best time to users, tag change event and related data become immediately available in our data and analytics products, Connect and Insight.

Insight

Insight’s Predictive Send Time Optimization dashboard provides a deeper look into the best time model, including a distribution of best hours across your audience, and general best hour broken out by platform and day of week.

The dashboard is available from the Shared space. From within Insight, navigate to Spaces » Shared » Predictive, then click Predictive Send Time Optimization in the dashboard list at the top of the menu.

Connect

Changes in a user's "best hour" for receiving messages appear in the Connect event stream as Tag Change Events.