Use Profiles’ predictive features to train machine learning models.
ProfilesML is part of our Early Access Program, where we work with early users and customers to test new features and get feedback before making them generally available. These features are functional but can change as we improve them. We recommend connecting with our team before running them in production.
ProfilesML extends Profiles’ standard feature development functionality and lets you easily create predictive features in your warehouse. You can predict boolean features like:
Is a customer likely to churn in the next 30 days?
Will a user make a purchase in the next 7 days?
Is a lead going to convert?
Finally, you can add the predicted feature to user profiles in your warehouse automatically and deliver ML-based segments and audiences to your marketing, product, and customer success teams.
Use case: Churn prediction
Predicting churn is one of the crucial initiatives across businesses. Without a predicted churn score, your actions are reactive, whereas you can act proactively with a user trait like is_likely_to_churn. Once you have such features, you can activate them with the appropriate outreach programs to prevent user churn.
Follow the Feature table guide to start with a basic Profiles project. Then, mark one of the entity_var as your label. Note that the label must be of Boolean type.
The following example computes the 30-day churn status of a user:
entity_var:name:churn_30_daysselect:case when days_since_last_seen >= 30 then 1 else 0 end
2. Training
RudderStack simplifies your training configuration to a set of parameters. Start with a python_model type and mention the following parameters:
Definition of the feature that needs to be defined only for a segment of users.
For example, country='US' and is_payer=true
ignore_features
List of columns from the feature table which the model ignores for training.
3. Prediction
In your python_model, mention the following parameters:
predict:inputs:- packages/feature_table/models/shopify_user_featuresconfig:data:*model_data_input_configsoutputs:column_names:percentile:&percentile_namepercentile_churn_score_7_daysscore:churn_score_7_daysfeature_meta_data:&feature_meta_datafeatures:- name:*percentile_namedescription:'Percentile of churn score. Higher the percentile, higher the probability of churn'
Parameter
Description
inputs Required
Path to the base features project.
percentile Required
Column in the output table having the percentile score.
score Required
Column in the output table having the probabilistic score.
description Required
Custom description to give for the feature.
4. Scheduling
Upload your project to a GitHub repository.
Create a Profiles project in the RudderStack dashboard. Use the GitHub repository to set up the project.
Schedule your project with the required cadence. Note that this schedule is for prediction.
Trainings are scheduled as per your configuration of the file_validity parameter in the training section of your project.
Results
Final output or the predicted features are pushed to your customer360 table. Use the Explorer tab to check the predicted value for any given user along with the historical values upto last 5 runs.
To check the predicted value for a given user:
In the Preview section, go to the Predictive features tab.
Check the user profile for which the predictive feature has a value.
Search the USER_MAIN_ID of the profile in Profile viewer.
The value of the predictive feature is a probability. You can consider it as true or false based on your threshold.
All your predictive features are listed separately in the Overview tab of your Profiles project. You can check the logs of each run in the artifacts directory (available in the History tab of your Profiles project).
FAQ
Is there a project to understand ProfilesML further?
This site uses cookies to improve your experience while you navigate through the website. Out of
these
cookies, the cookies that are categorized as necessary are stored on your browser as they are as
essential
for the working of basic functionalities of the website. We also use third-party cookies that
help
us
analyze and understand how you use this website. These cookies will be stored in your browser
only
with
your
consent. You also have the option to opt-out of these cookies. But opting out of some of these
cookies
may
have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This
category only includes cookies that ensures basic functionalities and security
features of the website. These cookies do not store any personal information.
This site uses cookies to improve your experience. If you want to
learn more about cookies and why we use them, visit our cookie
policy. We'll assume you're ok with this, but you can opt-out if you wish Cookie Settings.