Integrate predictive ML models with SaaS apps and update fields in your business applications.
The Peliqan platform allows you to write predictions to a SaaS application such as Salesforce. Use Writeback to update fields or create new records (e.g. Tasks) to automate actions based on predictions.
This tutorial is tailored for a Churn Prediction App. We will create Tasks in Salesforce, you can modify it to work with other models as well.
Import required modules
from sklearn.feature_extraction.text import TfidfVectorizer
from joblib import load
import pandas as pd
# Loading models to make predictions
model = load('/data_app/model_churn_prediction')
encoder = load('/data_app/encoder_churn_prediction')
Load new records
Load new records that do not have a prediction yet (prediction is null). Make sure you create a “Prediction” column first in the spreadsheet view of the table:
dbconn = pq.dbconnect(pq.DW_NAME)
my_query = 'select * from customer_churn where prediction is null limit 5'
df = dbconn.fetch(pq.DW_NAME, query = my_query, df = True)
Data Preprocessing & Predicting
For predicting, we have to prepare the data in the same format as it was trained on.
X = df.drop(['Prediction', 'Churn', 'CustomerName'], axis=1)
# converting categorical columns to numeric
cat_cols = X.select_dtypes('object').columns
X[cat_cols] = X[cat_cols].apply(lambda x: encoder[x.name].transform(x))
# Making prediction
prediction = model.predict(X)
proba = model.predict_proba(X)[0][prediction]
result = pd.DataFrame({'CustomerID':X['CustomerID'], 'Customer Name':df['CustomerName'],'Prediction': prediction, })#'Probability': proba})
st.dataframe(result)
Note: It's recommended to add Try/Except statement to capture the error when there are no records to update.
Task creation in Salesforce
for _, record in results.iterrows()
if record['Prediction'] == 1:
# create a Task in Salesforce for follow up by an Sales Account Manager
Salesforce.add("task", title = "Reach out to " + record["name"])
Click here to learn more about write-back to SaaS apps.
What’s Next
- You can make real-time predictions on new incoming data and send alerts to slack if the model makes a prediction above a certain threshold. Learn more about sending critical notifications to slack.
- Using Peliqan you can create an app for business users to consume the model you have made in a simple and intuitive UI. Learn more about creating apps for business users to consume your model.