Predict if Users will Subscribe to a Specific Package
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 if a user will Subscribe to a Specific Package.
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:
- Subscribe Event Type: an event representing that a user has subscribed. In this example, each user has the option of different subscription packages, e.g. Package #1-#3. In order to accomplish this, each Subscribe Event should have an additional Parameter that indicates the Package of the subscription.
- Subscriber Status User Attribute: this prediction will only be made for, and trained on, data from users who are not current subscribers. In order to accomplish this, we need to set an attribute that indicates the Subscriber Status of each user. In this example, we will be using the attribute Subscriber Status=Anonymous, i.e. they haven’t registered or subscribed previously.
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 a User will Subscribe to Package #1?
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 Subscription to Package #1 happens 1 time where Subscription Status=Anonymous within 14 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 only for those users who are Anonymous, i.e. they have not previously subscribed or registered.
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 “Predict Subscription to Package #1” and the “Subscription and Purchase” tags has been added as well.
Additionally, you can choose to run this pipeline only once, or have it rerun weekly. In this example, the pipeline is set to re-run every Sunday. This means that your pipeline will use the latest available data to retrain and re-generate up-to-date predictions on a weekly basis.
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 user subscriptions.
- 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!