Customer Relationship Management (CRM) systems are a treasure trove of useful data using which machine learning models can be built to assist us in day-to-day decision making. It has multiple benefits from cost reduction to data-driven decision making that can take customer engagement to a whole new level.
Salesforce is the world’s #1 CRM system. Salesforce Einstein learns from this CRM data and helps businesses make smarter decisions. Salesforce Einstein – SMART CRM ASSISTANT – has broad, out of the box, service offerings that cover a wide range of lines of businesses including –
In this article, we are going to explore Einstein Prediction Builder. Einstein Prediction Builder helps build custom intelligence for scenarios where Salesforce Einstein out-of-the-box solutions do not apply. Moreover, you don’t need to be an expert in machine learning to build these prediction models. However, a certain level of exposure to machine learning aids better understanding and implementation of the solution.
So, what can Einstein Prediction Builder predict?
True/False Value Predictions – Scenarios where we are interested in Boolean answers such as whether the borrower is going to default or whether an airline passenger is going to be a no-show.
Numeric Value Predictions [beta] – These predictions deal with numeric values such as quarterly sales revenue prediction.
Imagine spending your precious time and resources on a telemarketing campaign that fails to deliver the expected level of conversions. Very frustrating indeed. Einstein Prediction Builder can not only help you score customers based on future campaign success probability, but also provide insights into the factors that influence success probability.
The Prep Work
The tagline for Einstein Prediction Build is “Point. Click. Predict!”. You don’t have to write any code to build machine learning models, but some preparatory work is needed before you start building predictions.
- Identify the question to which you seek an answer. In this article, you will see how a financial institution can improve marketing campaign effectiveness – will the customer subscribe for the term deposit as a result of the marketing campaign? For this problem statement, I used the Bank Marketing Dataset. This dataset contains data for direct calling campaigns, by a Portuguese banking institution from May 2008 to November 2010. I used this data to find the list of customers who have a higher probability of subscribing to term deposits so that those customers can be targeted in the next marketing campaign.
- This data should be present in the form of Salesforce Objects.
- Create a variable on Salesforce Object that answers your question. In this problem, you can see the ‘deposit’ field on the Bank Customer object that reflects the result of the marketing campaign.
- Collate all the relevant pieces of information on the “Same” Salesforce Object. In this case, it is the “Bank Customer” Salesforce Object.
Building the Prediction
- Go to Einstein > Einstein Platform > Einstein Prediction Builder > New Prediction
- Set Prediction Name
- Select an object (Bank Customer) to predict
- Select a field (deposit) to predict. Additionally, you can specify which records Einstein should use as examples and the rest will be used for making predictions. On clicking “Check Data”, you can see the record count for training and prediction
- Select the fields that Einstein should use for making predictions. These are the fields within the Bank Customer Salesforce Object – this is why it is essential to collate all the relevant information on the Bank Customer object. An important note – fields that are not available at the time of prediction should not be included in this list. For instance, the value for the duration field will be available only after a call with the prospect. The field value is not available at the time of prediction as the call is yet to be made and we want to know beforehand if customer is going to subscribe to the term deposit
- Name the custom field that stores the prediction result. This field will be made available on the Salesforce Object
- Build the prediction
Once the prediction model is built, Einstein Prediction Builder provides a high-level score for the model. Before deploying the prediction model, detailed predictor performance can also be assessed through STATUS > View Scorecard.
Salesforce Einstein abstracts ML model specific performance metrics such as the F1 score and instead provides a high-level score on a scale of 0 – 100. For my model, the score is 79. It also provides top predictors i.e. field values that have a big impact on the prediction model. We can see that “poutcome” has the highest impact on the model. The field “Poutcome” contains the outcome of the previous marketing campaign (categorical: ‘failure’,’nonexistent’,’success’).
Predictors & Details Section
We can get additional details about predictors from the Predictors and Details sections. On selecting the “outcome” variable on the Predictors screen, we can see that the value “Success” has a greater impact on the model than other field values. We can get a list of all predictors and their impact, correlation, and scaled importance from the details section. Also, the details screen tells us that Einstein used the Random Forest algorithm. Currently, Einstein supports the following algorithms –
Binary Classification Algorithms
- Random Forest
- Logistic Regression
Regression Algorithms [In Beta]
- Random Forest
- Linear Regression
Enabling the Prediction Model
By enabling the prediction model, you employ the model on the Salesforce records for the “Bank Customers” object.
Once the Predictor is enabled, it starts scoring. We can see the subscription score on the app page as below. Customers with a higher subscription score have a higher probability of subscribing to term deposits as a result of the marketing campaign.
In this article, you learned how easy it is to build custom intelligence using Einstein Prediction Builder. The use of AI in the CRM space opens a whole new range of use cases and opportunities. It can enable you to deliver an improved customer experience with unprecedented ease. You don’t have to be a machine learning expert and you don’t need to struggle with tasks such as hyperparameter tuning. Essentially, using AI reduces your time-to-market significantly.