Search Recall Precision Algorithms

This guide helps you dive deeper into the functioning of Bloomreach Search Recall Precision algorithms.

Overview of the Search Recall Precision Algorithms

Bloomreach algorithms continuously optimize the ranking of products in the search results to ensure a rich and relevant product discovery experience. However, there can be cases where some noise can surface in the search recall. The search recall can be noisy if your product data is noisy.

Noisy and irrelevant search recall makes it hard for end-users to find what they’re looking for. Bloomreach has powerful precision modes that eliminate unrelated products from the search recall. This leads to a more compact, relevant, and precise recall set.

The following precision modes are supported for Search recall:

Text Match Precision (default mode)

This precision mode is based on a basic term match. Suppose a customer searches for the query “red dress” - this mode retrieves all the products for which there is a match on the term "red" AND the term "dress" in all searchable fields.

The recall set may contain noise if the data in your searchable fields is noisy. However, Bloomreach's intelligent ranking algorithms solve this problem by ranking relevant products higher in the recall set.

Product Type Precision

This precision mode leverages the Bloomreach Semantic system and filters the result set based on a product type match. Product Type Precision identifies a set of product types that should be retained in the recall for every query. This product type set is created from the three sources described below.

For a query "black shoes",

  1. Product type identified in the query itself: this would identify the product type as "shoes"

  2. Product types extracted from synonyms: if you have a synonym of shoes → boots, this will also keep products identified as "boots"

  3. Product types extracted from user behavior data: if customers search for "black shoes" and click on "heels" and "pumps," then the products that match these product types will be retained in the recall for “black shoes

To summarize, the recall set for the query “black shoes” will include:

  • all products that match product type "shoes"
  • the product type “boots” extracted from the synonym rule "shoes → boots"
  • the product types "heels" and "pumps" identified from user data

All other products will be eliminated from the recall. For instance, this could eliminate a product say “black shoe lace” which contains the term “black shoe” but of a different product type. We recommend enabling this mode if you want to make the recall slightly more precise but not too restrictive.

Note: No precision will be applied for queries that do not have a product type (e.g. brand queries like "Gucci"). The Default precision algorithm (Text Match) will be the fallback in such cases.

Product Type Precision FAQs

  1. What happens when you introduce new product types in the catalog, and it is not showing up in the recall?
    Product Type Precision is reliant on the Bloomreach Semantic system. If a product type is unknown to the Bloomreach system, the product might not appear in the recall set. This tends to be the case when you introduce many new product types in the catalog.

    This precision algorithm pulls product types from user behavior data. If we stop supplying the algorithm with user behavior information, it will not have a chance to learn about user interactions with the newer product types.

    Consider the example of "sandals" search page. Let's say you introduce a new product type, "crocs." The recall of query "sandals" will not include this new product type, as the precision filter only includes "shoes," "boots," "heels" and "pumps."

    Therefore, as a quick fix, you can add synonym rules for displaying the new product types.

  2. What to do if many products are missing from the recall?
    The precision mode can cut many products if sufficient user behavior data is not available for it to learn from. In such a case, you may take either of the following actions:

  • Create a temporary synonym rule for the new product type to start showing.
  • Contact Bloomreach Support to add the query to a blocklist. This will exempt the blocklisted query from product type precision. Therefore, you will get results based on our default “Text match” precision algorithm.
  1. How to troubleshoot recall set issues?
    Please reach out to the Bloomreach support team in case you have any queries.

  2. Can this mode be AB tested?
    Yes, please get in touch with our Business Services team if you’d like to AB test this mode.

  3. Will ranking merchandising rules still apply when this precision mode is enabled?

  4. Can non-English customers enable this mode?

Category Precision

Category Precision filters the result set based on product type match and dominant category. Therefore, the recall in this mode includes:

  • Products with the matching query product type
  • Products that belong to the dominant category.

For instance, for the query “red shoes”, the recall will consist of products that have product type as “shoes” AND “red” as a term somewhere in the product details;
Products that have “shoes” as a term as well as “red” as a term somewhere in the product details AND if those products belong to the same dominant category for that particular query(red shoes).


What is a Dominant Category?

Dominant category is a list of categories that are most applicable to the result set for a query. A dominant category is computed by taking the top products and identifying the categories they belong to. The number of top products used for the dominant category calculation is configurable though it is set to 50 by default.

If for a search query, products with the matching product type and products from the relevant dominant category match are not found in the recall then it falls back to the Default search algorithm. Additionally, this mode only applies to the head (top searched, top revenue) queries. For tail queries, the Default search algorithm will be applied. We recommend enabling this mode if you have clean category data.

Category Precision Mode FAQs

  1. Can this mode be AB tested?
    Yes, please get in touch with our Business Services team if you’d like to AB test this mode.

  2. Will ranking merchandising rules still apply when this precision mode is enabled?

  3. Can the number of top products used to compute dominant categories be changed?
    Yes, please reach out to the Bloomreach Support team for the same.

  4. Can non-English customers enable this mode?
    Yes, Category Precision Mode works for French and German.

  5. Does category precision mode apply to all queries?
    If a product type is not found for a query, then category precision mode will not be applied, and the system would fall back to the default precision mode.

LLM-based Precision

LLM-based precision leverages cutting-edge ML technology (Vector-based models) to truly recognize the related product types behind the entire range of head, torso, and tail queries.

How does LLM-based Precision work

  1. The search engine first performs a keyword match of the query to show all the products in the recall.
  2. Then, the engine looks for only the product type and related product types from the query. Product type is extracted by Bloomreach’s semantic understanding, whereas related product types are determined by a Large language model and user behavior data.
  3. The search engine removes any irrelevant products and retains only those products that match either the identified product type or related product types from the previous step.
    Consider the scenario where a shopper searches for "white shoes".
    • Bloomreach search engine leverages semantic understanding to identify “shoes'' as the product type for this query.
    • Then, the Large language model — fine-tuned on customer product data like type, size, color, brand, and material — recognizes related product types such as "boots," "cleats," or "pumps." User behavior data may provide related product types such as “loafers” and “trainers”.
    • Consequently, only products belonging to these specific product types are included in the recall set.
      This allows you to accurately display the right products and remove irrelevant products from the recall.

How to enable this precision mode

LLM-based precision is generally available for all English catalogs. You can enable this precision mode via two methods:

  • Enable this by navigating to the Algorithm Customizations > Recall Algorithms section in the Bloomreach dashboard. Read this article to learn more.
  • Enable through API controls by passing the following parameter in the front-end call:

LLM-based Precision FAQs

  1. Can non-English customers enable this mode?
    At this moment, only English catalogs are supported.
  2. Is there an additional charge for a customer to use this feature?
    This feature will be available for free until July 31, 2024.
  3. Does this require pixel changes?
    There is no requirement to add pixel on your site for using this mode.
  4. Can this mode be AB tested?
    Yes, use this front–end API parameter to perform the AB test: query.precision=llm_based_precision.
  5. Will ranking merchandising rules still apply when this precision mode is enabled?
    Yes, it has no effect on merchandising rules
  6. How is this precision mode different from Product type precision?
    Product type precision mode relies on user-behavior data to identify related product types whereas LLM-based precision mode relies on a large language model that’s fine-tuned on e-commerce data to generate related product types. Additionally, since it doesn’t rely on pixel data, it works for all queries where product types could be extracted.
  7. What to do if LLM-based precision mode doesn’t understand one of the related product types and kicks out some relevant products?
    There may be cases where LLM-based precision mode might not accurately understand all the related product types. If this happens, you can create a User created synonym to influence the results.
    Suppose, for the query “white shoes”, the model considers “cleats” as an unrelated product type and excludes all products that are cleats. To include the cleats product type in the recall, you can add a User created synonym from “shoes” -> “cleats”. This way, all products that were "cleats" in the original recall will be retained after the precision mode is applied. Note that the product types added through User created synonyms for a query could take up to a week to influence the recall.
  8. How can I add a related product type for a given product type in all queries? Suppose I want to add “cleats” as a related product type for all queries where “shoes” is a product type.
    The Bloomreach support team can assist you in adding additional related product types for a given query.
  9. Does this precision mode support both Search as well as Category?
    Like other precision modes, it only applies at the Search level.
  10. Does this precision mode support Pathways?

Search Recall Precision Algorithms Enablement

Text Match Precision is enabled for all customers by default. You can easily switch to a different precision algorithm as per your business needs. Take a look at our Algorithm Controls guide to understand the algorithm enablement process.