Enhanced content discovery with AI-powered recommendations
We are integrating Totara’s AI-driven recommendation engine directly into the learning catalogue via the Recommended for you block. This block includes content types that are personalised and recommended for the user, i.e. Courses (default), Micro-learning, Workspaces, Programs and Certifications (that have self-enrolment enabled).
The Recommendation engine transforms interaction data, user attributes, and content metadata into intelligent recommendation for users. It supports different use cases depending on available data and personalisation needs.
How are recommendations determined?
Totara’s Recommendation engine works a bit like a smart assistant, it watches what you and other users interact with, learns from it, and suggests the most relevant content based on those actions.
Interaction-based scoring
Each positive user interaction (e.g., views, ratings, completions) gives content a score of 1.
Interactions are capped, multiple actions won’t boost the score beyond 1.
A first-time view counts as casual browsing (score = 0); a repeat view confirms interest (score = 1).
The more users that meaningfully engage with a piece of content, the higher it ranks.
Metadata-driven enhancement
Basic metadata: Includes things like course type, category, difficulty level, or user attributes like role or location.
Free text metadata: Draws meaning from course summaries, descriptions, titles, and other long-form text fields to match content with user interests more precisely.
Models available for the Recommendation engine
We have 3 models available to use for the Recommendation engine with Full hybrid being the default:
Matrix factorisation is simple and powerful—but needs a lot of user activity.
Partial hybrid adds flexibility by using extra info—but recommendations may still lack personalisation.
Full hybrid is the most powerful and personal—but also requires the most computational resources to run.
Comparing recommender models
Model | What it uses | Strengths | Limitations | Best for |
|---|---|---|---|---|
Matrix factorisation | User behaviour (e.g. ratings and clicks) | Learns patterns, very personalised | Needs lots of user activity; struggles with new users or content | Platforms with lots of rating data |
Partial hybrid | Behaviour + basic full text (e.g. profile and content descriptions) | More accurate, helps with new users | Needs some structured information about users and content. Basic metadata (age, location) can group different users together | When you have some user/item information to work with |
Full hybrid | Behaviour + full text (e.g. profile and content descriptions) | Deep personalisation, works even with minimal behaviour data | Resource hungry and requires clean, rich text | Rich content platforms like courses, news or learning tools |
Recommendation engine settings
You can configure how the Recommendation engine works by navigating to Quick-access menu > Plugins > Machine learning settings > Recommendation engine.
Note: that the Recommendation engine will not work until you install and configure the engine. Find out how to do this in the developer documentation.
Remember to click Save changes when you have finished configuring these settings. The other settings on the Recommendation engine page are only used by the legacy recommendation engine, and will be deprecated in a future release.
The Recommendation algorithm and Processing threads configurations can be modified from their default values by setting environment variables before starting the Machine Learning Service, as described in the README.md file of the Machine Learning Service (integration/extensions/ml_service/README.md).
Setting | Description | Notes |
|---|---|---|
Number of items-to-user recommendations | Select the number of items-to-user recommendations generated by the recommendation engine | The default/recommended value is 5 |
Number of items-to-item recommendations | Select the number of items-to-item recommendations generated by the recommendation engine | The default/recommended value is 5 |
Time to analyse interactions | Set the time period (in weeks) from which user-item interaction data will be drawn | The default/recommended value is 16 weeks. |
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2026 Totara Learning Solutions. All rights reserved.