Machine Learning
Leverage the power of machine learning to deliver personalised product recommendations to your users. By creating and training models based on your product catalogue and user behaviour, you can increase engagement, discovery, and conversion.
This guide will walk you through creating a recommendation model, managing its lifecycle, analysing its performance, and fetching recommendations via the API.
Prerequisites
Before you can create a recommendation model, you must have the following set up in your UserFlux workspace:
A Configured Product Schema: Your products must have a defined structure. Please see the Managing Products guide for more information.
A Synced Product Catalogue: Your product catalogue must be populated with data via the Products API.
An Up-to-Date Data Dictionary: The user events that you intend to use as signals (e.g., product views, adds to watch-list, clicks) must be actively tracked and appear in your Data Dictionary.
Step 1: Understanding Recommendation Models
UserFlux offers several types of machine learning models, each designed for a specific recommendation strategy.
Vibe (Affinity-based): This model is ideal for deep personalisation. It analyses an individual user's behavioural patterns (e.g., what they click on, watch, or add to a list) to recommend products that match their unique personal style and interests.
Blend (Collaborative Filtering): Coming soon. This model helps users discover new items by identifying interests across different user cohorts.
Surge (Trending): Coming soon. This model keeps you ahead of the curve by surfacing what's popular and trending right now based on collective user interactions.

Step 2: Creating and Configuring a Vibe Model
Follow these steps to build your first recommendation model.
Navigate to the Machine Learning Page
From the main navigation menu on the left, expand the Infrastructure section.
Click on Machine Learning.

Configure Your New Model
On the Personalised Recommendations page, locate the relevant model card and click create model eg.g. Create Vibe model.
On the Model page, fill in the following details:
Model Name: Provide a clear, descriptive name for your model (e.g.,
New Movie Recommendations
).Product Type: Select the Product Schema your model will generate recommendations from (e.g.,
movie
). This connects your model to the correct product catalogue.

Define User Signals: User Signals are the events that inform the model about a user's preferences. You need to define at least one signal.
Click Add Signal.
For each signal, configure the following:
Name: A user-friendly name to identify the signal (e.g.,
Movie Add to Watchlist
).Event: Select the corresponding user event from your Data Dictionary (e.g.,
userflux_event_movie_card_watchlist_add
).Product ID Path: Specify the property path within the event that contains the unique product identifier (e.g.,
id
). This path must correspond to a property in your Product Schema.Weight: Assign a numerical weight to the signal to indicate its importance. Actions with higher weights will have a stronger influence on the recommendations.
💡 Best Practice for Signal Weights Signal weights must be positive numbers. We recommend using a scale of 1-10. Actions that indicate strong user intent (like adding to a watchlist or making a purchase) should be given a higher weight than passive actions (like a page view).
Once you have configured your model and its signals, click Create Model.
Step 3: Managing the Model Lifecycle
After creation, your model must be provisioned before it can be used.
Draft Status: Your newly created model will have a Draft status. In this state, it is inactive and can be edited or deleted.
Provisioning the Model: To activate the model, click Provision Model.
A confirmation modal will appear. Click Provision Model again to proceed.
The model's status will change to Provisioning while the necessary infrastructure is prepared and the initial training begins. This may take several minutes.
Running Status: Once complete, the model's status will update to Running. It is now active and ready to serve recommendations.
Stopping the Model: To deactivate a running model, click Stop Model. This will de-provision the model and return it to Draft status, at which point it can be re-configured or deleted.

Step 4: Analysing Model Performance
For any running model, you can monitor its performance and the data it's processing.
On the Machine Learning page, find your running model.
Click the Analytics tab.
You can review three key areas:
Overview: Displays the total number of user profiles and interactions evaluated by the model.

Weight Distribution: A pie chart that visualises the contribution of each user signal to the model's recommendations.

Weights Per Day: A line graph showing the daily volume of each signal, which helps you understand user behaviour trends over time.

Step 5: Fetching Recommendations via the API
Once your model is in a Running state, you can retrieve personalised recommendations for your users by calling the Recommendations API. Please visit the Recommendations API to see the full detailed documentation.
Last updated