Predict which Users will Watch a Series
In this use case example, we will be walking through how to predict the future behavior of users using a Machine Learning Pipeline. Specifically, we’ll cover how to predict which Users are most likely to watch a particular series. This prediction works for any media business and is especially useful when doing promotion for a popular series, for example a new season premier or finale.
What data do I need for this prediction?
The actions available for you to predict with a Future Events pipeline are based on the Event data that you are sending into Cortex. This sample prediction requires two pieces of information:
- Watch Event Type: an event representing that a user Watched a particular episode
- Item Details: For each Watch event, it is important to also include additional information on the item being watched. For this example, that should include information about the specific series and episode. We will use this additional information to make prediction on specific series later in this article.
While the above are the only pieces of information required to set up our sample prediction, more data will typically lead to better predictive performance. Other information that can be used to build features for our pipeline include:’
- Additional User Behaviors (e.g. logins, clicks, pageviews, adds to cart, etc.) with additional metadata (e.g. What device is the user on? Where was the user referred from? etc.) which give more detail to the event. As an example of additional metadata for an event, an item category can passed along with the event in order to differentiate which purchases occurred specifically for the category of interest. Alternatively, item details can be sent in a separate feed as long as the item is identified within your purchase events with a shared ID.
- User Attributes (e.g. demographics, loyalty status, etc.)
How do I predict which Users will Watch a Series?
Step 1: Choose Pipeline Type
Select ‘Create New Pipeline’ from within your Cortex account, and choose the Future Events pipeline type.
Step 2: Define Event
Future Events pipelines are used to predict the probability that some event happens in the future for each of your data points. Any future events prediction can be stated as a sentence as follows:
(A) happens (B) or more times where (C) within (D) days.
For our prediction, that reads:
A Watch happens 1 time where Series = “My Awesome Series” within 7 days.
Here is how that will look in Cortex
Step 3: Define Groups
Sometimes you are looking to make a prediction for every user in your system, while other times you want a prediction only for a certain group of users. This prediction will be made for All Users, so nothing needs to be done for this step.
Step 4: Specify Settings
Settings is where you give a Name to your pipeline as well as the option to add Tags. Name and Tags are the two main ways to find your pipeline within Cortex after it has been created, so best practice is to use descriptive Names and Tags specific to each prediction.
In this example, the pipeline name is “Watch Series Prediction Pipeline” and the Tag “Watch” has been added as well.
Additionally, you can choose to run this pipeline only once, or have it rerun weekly. For this example where we are promoting a specific series event like a season premier or finale, we will only run this pipeline once without rerunning. However, if this is a prediction that will be used often in the future, we could set it up to rerun weekly.
Step 5: Review
The final step is to review your pipeline and ensure all settings look accurate! If anything needs updated, simply go ‘Back’ in the workflow and update any step. Otherwise, click ‘Start Training’ and sit back while Cortex generates the predictions.
Those are all the steps necessary to create a future events pipeline that predicts which users will watch a series..
- Future Events Performance
- How to Build a Look Alike Pipeline
- How to Build a Classification Pipeline
- How to Build a Regression Pipeline
Still have questions? Reach out to firstname.lastname@example.org for more info!