(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-8457997-9', 'auto'); ga('send', 'pageview');

Recommendations and Boosting

Signals contain data about how users interact with search results. Once your Fusion app has accumulated a sufficient number of aggregated signals, they become useful for automatically producing recommendations and boosts for better relevance and higher conversion rates.

The same data used to produce recommendations can also be used for automatic boosting. So although recommendations and boosts are different (as explained below), these topics use "recommender data" to refer to the data that can be used for boosting as well as for recommendations.

Recommendations vs boosts

Recommendations and boosts are two ways of presenting AI-powered estimations about which items are most likely to interest a user:

Recommendations Boosts

Personalized search results from a special, automatic query, whether or not the user has performed a query.

Recommendations can be based on a variety of criteria, as in the examples below:

  • "Based on your purchase history, you might be interested in these items."

  • "People who viewed this item also viewed these items."

  • "People who searched for 'ipad' also searched for these items."

Modifications to the scores of the items in a query’s search results.

The set of search results does not change, but their ranking does. For example:

  • Boost the most popular items

  • Boost items this user has clicked before

  • Boost seasonal items

Boosts can also be configured manually, using the Query Workbench or the Query Rewriting UI. You can also perform boosts within a set of recommendations.

These topics explain how to configure and use recommendations and boosts:

  • Getting Started shows you how to quickly enable the basic feature set and see some results.

  • Recommendation Methods explains the available approaches to recommendations and boosting, including methods that do not rely on signals.

Recommendations data flow

The diagram below shows the flow of data between the default objects created when you enable recommendations. You can create additional object for different recommendation methods.

Recommendations data flow

  1. Signals data is aggregated into a format that can be consumed by recommender jobs.

    Your search application should be sending well-formed signals data to Fusion whenever there is user activity on your site.

    By default, the _click_signals_aggregation job runs every 15 minutes while the _user_item_preferences_aggregation and _user_query_history_aggregation jobs run once per day.

    You can use signals data for boosting, without enabling recommendations, using the Boost with Signals query pipeline stage. The default query pipeline includes this stage.

  2. Recommender data is produced when recommender jobs analyze aggregated signals.

    The default _item_recommendations job must be manually scheduled or run on demand. Make sure that the _user_item_preferences_aggregation job runs first.

  3. Query pipelines retrieve recommender data to produce recommendations and boosts.

    When recommendations are enabled, Fusion creates two query pipelines for recommendations: _items_for_user_recommendations _items_for_item_recommendations

Recommendations storage requirements

Collaborative recommendations are derived from data generated by Fusion AI jobs and stored in special collections. You can estimate the required storage for this data if you know the following:

  • the number of unique users in the signals collection (num_users)

    To find the number of unique values of the user_id field, navigate to Analytics > App Insights > Analytics > Users. The Number of Distinct Data Values panel displays the number of unique users:

    The <code>user_id</code> field

    If no value is displayed here or the value is not accurate, see Important fields for signals to verify that your signals data is well-formed.

  • the number of unique items in the main collection (num_items)

    Navigate to Collections > Collections Manager to see the total number of documents in your main collection.

  • the number of recommendations to be computed per user (num_recs_per_user)

    This is a configuration parameter in the recommender job, with a default value of 10.

  • the number of item similarities to be computed per item (num_item_sims)

    This is a configuration parameter in the recommender job, with a default value of 10.

Every time the recommender job runs, this many new recommender documents are created:

num_users * num_recs_per_user + num_items * num_item_sims

Each of these documents is about 300 bytes. This is the minimum size; they can be larger if you configure the recommender job to pull item metadata fields from the main collection for inclusion in recommender documents. These fields are useful when displaying recommendations in your front-end search application.

Tip
In your recommender jobs, verify that Delete Old Recommendations is selected so that only the latest recommender data is stored.