Boosting, Pinning, and Burying

Create campaigns to promote or demote specific products or brands to customize the order in which they appear search results

Example for Boosting, Pinning, and Burying

Introduction

Boosting is the promotion of a subset of products to the top of a customer’s search results or recommendation feed.

Pinning is a type of boosting where products are strategically promoted to specific positions, not necessarily at the top of the list.

Burying is the opposite of boosting, where a subset of products are demoted to the bottom of a customer's search results or recommendation feed.

Popular use-cases for boosting and pinning include: “editor picks”, vendor deals, and seasonal goods. On the other hand, burying can be used for products that have low review scores, a thin margin, or whose metadata quality is below a certain threshold (e.g. low resolution images, lacking an accurate description)

By default, Miso’s Search and Recommendation Engines will return and rank the most relevant results to the user, based on a combination of user insights, semantic query analysis, and product catalog understanding. With boosting, pinning, and burying, you can fine-tune those results to better align with your unique business objectives.

Let’s take a closer look at how we can apply the concepts, using both Dojo and programmatically via APIs.

The following steps assume you have already set up an engine for Search. If not, head over to the Quickstart guide to get started.

Do it with Dojo

Dojo provides an intuitive, no-code UI for managing your Miso data sets and engines.

In this example, we’ll practice merchandising with a fictional online grocery store. We’ve been tasked with promoting the sale of “Red Baron” branded frozen pizzas due to a vendor discount for Super Bowl weekend. Additionally, there is a specific SKU (product id: 910224) that is excluded from the promotion and so we don't want to promote that to our customers.

  1. From the left navigation pane of the Dojo Dashboard, under the Engines category, select Search.

    Dojo Navigation Pane - Search Engine

  2. Navigate to the Boosting tab, where you can create and manage boosting campaigns. A boosting campaign is where you specify both a query trigger and the resulting set of promoted products.

    Create New Boosting Campaign

  3. Name your boosting campaign - Give your boosting campaign a descriptive name and press Confirm.

    Let’s name our boosting campaign: “Red Baron Pizza Super Bowl Promo”

    Name Boosting Campaign

  4. Define boosting criteria - In this section, you must specify the criteria for triggering the boosting campaign and the set of products to be boosted.

    First, set the criteria for triggering the boosting campaign using either a “query contains” or “query is” operator.

    Boosting Operator Table

    You can specify multiple terms to trigger the boosting campaign by separating them with commas. In our example, we want Red Baron frozen pizza to be boosted when a customer searches for “pizza”, “frozen”, or “pepperoni”. Click confirm.

    Choose Boosting Triggers

    Next, define the set of boosted products to be returned by specifying product attributes such as the title, description, or brand. Since we want Red Baron frozen pizzas to be returned when one of the trigger words is searched, we will define a rule that returns products with titles containing “Red Baron”. For your own use-cases, you can just as easily create a rule that searches on a product’s category, description, brand, or id.

    Choose Boosting Rule

    However, as mentioned earlier, we also want to bury a particular product id that is not part of the promotion. Let's add an additional rule using the + Add Rule button. The product id we want to bury is 910224 so we'll add that as the condition value. Select the Add Action dropdown and choose Bury.

    Set additional burying rule

  5. Optional: Set boosting positions (pinning) - By default, boosted products will appear at the very top of the list of relevant products. If your set of boosted products is large, it may negatively impact the diversification and relevance of your search results. To avoid this, you can pin boosted products to specific positions (or range of positions) and return a richer result set.

    For our example, we’ll pin Red Baron pizzas to the first, third, and fifth positions.

    Set Boosting Positions

  6. Optional: Schedule - You can include a date/time range for your boosting campaign. This is useful for setting up campaigns in advance or for seasonal campaigns such as holiday sales.

    For our example, we configure the Super Bowl promotion to be active from February 11th, 2022 to February 13th, 2022:

    Boosting Schedule

  7. Press Save to finish configuring your boosting campaign.

After creating your boosting campaign, you can preview the search results in the Dojo sandbox by selecting Preview from the Boosting tab:

Preview Results

Once you’re ready to start your boosting campaign on live data, toggle “GO LIVE” to on. If you’ve scheduled your campaign to run during a specific timeframe, it will automatically go-live on the start date/time.

For more information about Dojo, see the official documentation .

Do it with APIs

As an alternative to Dojo, you can apply product boosting programmatically. Every Miso Engine API supports boosting which is implemented identically across APIs. In this example, we will focus on the Search API.

To enable boosting, simply include the boost_fq parameter (using Lucene syntax) in the request body. For example, if we want to boost Red Baron pizzas when a user searches for “pizza”, the API request will look like the following:

POST /v1/search/search 
{
    "q":"pizza",
    "user_id":"user-123",
    "boost_fq": "title:\"Red Baron\""
}

Similar to the functionality of the Dojo Dashboard, we can also pin boosted products to specific positions with the boost_positions parameter (using a zero-based numbering array):

POST /v1/search/search
{
    "q":"pizza",
    "user_id":"user-123",
    "boost_fq": "title:\"Red Baron\"",
    "boost_positions": [0, 3, 6]
}

Case Study: Boosting for a Party

In the above examples, we showcased boosting using the Search API. However, this functionality can also be applied just as easily to the Recommendation APIs, as shown in the following example:

Suppose we want to promote items from a curated list of Super Bowl party snacks whenever a user adds a relevant product to their cart:

Add to Cart -> Red Baron Frozen Pizza

Suggest -> Carrot Ranch Dipping Sticks, Totino’s Pizza Rolls, Football Cupcake

The Product to Products API combined with boosting makes this a simple task. First, we need to indicate which products are part of the Super Bowl party collection. Using the Products/Content Upload API, we can add a custom attribute called super_bowl_boost and set it to true for the product_ids we want to boost:

POST /v1/products
//apply to Carrot Ranch Dipping Sticks, Totino’s Pizza Rolls, Football Cupcakes
"data" : [
{
     "product_id": "carrot_ranch_sticks"
     //additional attributes omitted for brevity
     "custom_attributes": {
          "super_bowl_boost": true
      }
}
]

Next, using the Product to Products API, we can recommend similar products that would pair well with the item(s) in the user’s cart:

POST /v1/recommendation/product_to_products
{
     "user_id" : "user_123",
     "product_id": ["red-baron-pizza-3"],
     "buy_together" : true, //indicates cross-sell instead of upsell 
     "boost_fq": "custom_attributes.super_bowl_boost : true",
     "boost_positions": [0,2,4,6] //blend products with Miso’s recommendations
}

Additional Resources

For more information on Miso’s Search API, check out the official API Documentation.

For additional personalization use-cases, visit the Recipes page on our Docs site.

Published Date: February 25th, 2022

API Reference

💻

Need more info on the API? Check out our dedicated API page with all the info you could ever want.

Read API Reference
Icon/Activity Icon/Add Icon/API Icon/Arrow/Down Icon/Arrow/Left Icon/Arrow/Right Icon/Arrow/TopRight Icon/Arrow/Up Icon/Bento Icon/Billing Icon/Bin Icon/Book Icon/Bookmark/Default Icon/Bookmark/Filled Icon/Calendar Icon/Caret/Down Icon/Caret/Up Icon/Chavron/DownIcon/Chavron/LeftIcon/Chavron/RightIcon/Chavron/UpIcon/Checknox/CheckedIcon/Checknox/Unchecked Icon/Checklist Icon/Chip Icon/Clipboard / Copied Icon/Clipboard/Default Icon/Clock/Stopwatch Icon/CMD Icon/Data/Catalog Icon/Data/Engine Icon/Data/Group Icon/Data/Interact Icon/Data/Users Icon/Dive Icon/Docs/Key Icon/Dojo Icon/Email Icon/Env/Development Icon/Env/Playground Icon/Env/Prod Icon/Folder Icon/Fullscreen/Collapse Icon/Fullscreen/Expand Icon/Guides/Multiple Icon/Guides/Single Icon/Hashtag Icon/Heart/Outline Icon/Heart/Solid Icon / Cart z Icon / Click Icon / Clock Icon / Data Icon / Doc Icon / EmptyCart z Icon/Social/Facebook Icon / Genome Incognito Icon / Money Icon/Social/ProductHunt Icon / Search Icon/Social/Twitter Icon / User Icon/Info/Error Icon/Info/Info Icon/Info/Question Icon/Info/Warning Icon/Interact/Download Icon/Interact/Edit Icon/Interact/External v2 Icon/Interact/External Icon/Interact/Filter Icon/Interact/Logout Icon/Interact/Options Icon/Interact/Re-order Icon/Interact/Reload Icon/Interact/Remove Icon/Interact/Replace Icon/Interact/Search Icon/Interact/Shuffle Icon/Interact/Undo Icon/Interact/Upload Icon/Interact/Video Icon/Invoice Icon/Loading Icon/Loading Icon/Lock/Locked Icon/Lock/Unlocked Icon/Lock Icon/Mapping Menu Icon/Notification Icon/Overview Icon/Person/Team Icon/Person/User Icon/Plan/Enterprise Icon/Plan/Growth Icon/Plan/Startup Icon/Plan/Trial Icon/Recipe Icon/Rocket Icon/Settings/App Icon/Settings/User Icon/Settings Icon/Shrine Icon/Sidebar/Close Icon/Sidebar/Open Icon/Slideout Icon/Sort/Ascending Icon/Sort/Default Icon/Sort/Descending Icon/Star/Filled Icon/Star/Outlined Stopwatch Icon/Support Icon/Tag Icon/Interact/Thumb/Dislike Icon/Interact/Thumb/Like Icon/Tick Icon/Trend/New Icon/Trend/Trending Icon/Tutorial Icon/Lock/Unlocked Icon/View/Grid Icon/View/List Icon/Watchlist/Add