Predictions are a very powerful tool, enabling you to target your marketing campaigns more accurately and only engage customers with a higher propensity to completing certain actions (open an email, purchase, etc.).
Types of predictions
In predictive analytics, we generally recognize 3 types of predictions:
Determines whether customers will achieve a prediction goal in the future or not.
What is the probability that customers will make a purchase within a week?
Determines which segment is the best one for each customer from a given set of segments.
Which campaign channel is the best one for a customer?
Predicts the numerical value of certain customer attribute in the future.
How much money will a customer spend this month?
How it works in Exponea
Open the prediction module in Analyses > Predictions, pick one of the 5 templates or design a custom prediction by yourself.
Once ready, launch the prediction and wait until the model is trained and returned. After this, a new attribute with prediction value is assigned to each customer in a similar way as any aggregate or segmentation. The predictive model is live, which means that the assigned predictions change in time as new events are being recorded.
There are six templates available in the prediction module:
All of them except the Custom prediction address a specific problem and are already pre-set for you, requiring only basic customizations. The custom prediction is a general template that allows the most customizations. It can be used for specially-tailored predictions and advanced users who can take advantage of in-depth options and settings the template provides. See this guide for a more detailed guide on how to set it up.
Purchase prediction is based on the purchase not purchase_item event.
How you can use predictions in Exponea
All created predictions are stored in Analyses > Predictions. You can see their outputs for each customer directly in a customer profile.
The name of the prediction attribute is equal to the name of a prediction itself. You can use this attribute anywhere across Exponea - filters, reports, segmentation, scenarios, etc. As an example, you can see in the picture below the segmentation based on the probability of purchase.
When setting the Prediction up, you can get a 'Queued' status. Queued means it is waiting in the queue to start this prediction computation job. If you are waiting for hours to even start, this means there is an error on our side.
Optimal email time
Based on your customers' past behaviour, the optimal email time feature allows you to send out campaign emails automatically to individual customers at a time, rounded to an hour, when they are most likely to click/open your email. The feature is a part of the Predictions module.
In order for the feature to work correctly, you should have already run numerous campaigns so that you already have multiple opened and clicked values in the status attribute of the campaign event collected for most of your customers. To read about the difference between the two values go to the System events article.
Optimal email time as prediction
You can calculate optimal email time right in the Predictions module - the output will be stored as an attribute for every customer and thus can be used later in reports or even scenarios. You need to specify information in the following three steps:
1. How much data should be considered?
Select a timeframe according to which all campaign events relevant for the analysis will be retrieved. The longer timeframe you specify the more accurate the result will be.
2. What should be the default send-time?
Choose the default time for sending the email to customers for whom the personalized email time cannot be calculated due to the lack of collected data. 0 value corresponds to midnight.
3. What campaign event and attributes should be considered?
Specify which event and attributes should be used in the analysis. You should fill this information according to the image below so that the optimal email time is calculated for your customers to 'open' your email and then 'click' on the link inside.
After you hit Save and Start, the calculation process takes only a few seconds. You can check the result in any of your customers' profiles or you can create a report to see the optimal time values. Do not expect to see any results right in the module in the Results tab (next to the Design).
Optimal email time as an integrated feature in Scenarios and Campaigns
While the logic for calculating optimal time is the same as in Predictions template, for user it works in a very different way. You can read more about the functionality in Scenarios and in Email campaigns.
How we create models in the cloud
All predictions are computed in the Google Cloud Platform (GCP), which allows us to efficiently process large amounts of data that is required for training an accurate machine learning model.
Depending on data complexity this process usually takes anywhere from 20 minutes to 2 hours. You can track the progress of the whole process in Exponea which receives updates from the GCP whenever the job associated with your prediction advances to the next stage. Once a prediction model is computed, results are returned back to the Exponea in the form of a graphical representation (a decision tree) and model evaluation metrics.
Model quality evaluation
In order to evaluate the quality of prediction model, standard machine learning metrics are available. These includes:
AUC - Area under the curve
Precision and Recall
F1 - combination of precision and recall metrics
Matthews correlation coefficient for binary classification
After the model is returned, it is applied to all customer’s data in real-time using the high-performance Exponea engine.
We return the model of customers' behavior in the form of a decision tree. A decision tree is a chained set of rules which are applied to customer's data in order to find out what is the statistical probability that this customer will reach certain event / fall in a certain segment / achieve a certain value. Following the example tree above, let's take a look at a certain decision node.
We can see that the decision rule can be interpreted as "Customers who purchased at least 6 times in the past month". There are 323 customers (0.2% of all customers) who fell into this node and 60% of them is the target group.
Basically, you can read a decision tree as a set of rules that separate the target group from the rest in the best possible way. From left to right you can read the uncovered rules.