# Bestsellers

> Source: https://docs.recombee.com/recipes/e-commerce/fully-personalized-homepage/bestsellers

> For the complete documentation index, see [llms.txt](/llms.txt).

**Table of contents**

* [Introduction](#introduction)
* [Scenario Setup](#scenario-setup)
* [Logic](#logic)
* [Filters](#filters)
* [Requesting Recommendations](#requesting-recommendations)

# Bestsellers

![](/img/recipes/e-commerce/bestsellers.png) 

## Introduction

The "Bestsellers" scenario suggests products that have the highest number of purchases. These recommendations are based on the popularity and widespread demand for these items across the whole user base of your platform.

## Scenario Setup

In the Recombee Admin UI, navigate to the **[Scenarios](/scenarios)** section and choose **Create Scenario**.

1. Enter a **Scenario ID**. Select a distinctive label for your recommendation scenario, such as _"bestsellers"_
2. Choose **Recommendation type** \- _[Items to User](/api#recommend-items-to-user)_

![Admin UI - Scenario Setup](/img/recipes/e-commerce/bestsellers-create-scenario.png)

## Logic

The [Logic](/recommendation_logics) defines the behavior of the recommendation engine.

* Choose the **[ecommerce:bestseller](/recommendation_logics#ecommerce-bestseller)** logic type from the **E-commerce** models

This Logic utilizes a model specifically designed for recommending globally popular and highly purchased items, ensuring effective suggestions based on their widespread demand.

![Admin UI - Logic](/img/recipes/e-commerce/bestsellers-logic.png)

## Filters

Available Products (Global Settings)

You always want to recommend only the products that are in stock. Therefore you need to apply a [**Filter**](/scenarios#filters) rule to allow only such products.

As it would be tedious and prone to error to add this rule to all the Scenarios, this rule shall be added to the [**Global Settings**](/scenarios#global-settings), so it is always applied everywhere.

You can select a **predefined rule from the Recombee Library** to allow only the available products.

Depending on how you represent availability in the catalog, it can be **one of the following rules:**

* **Not deleted items** \- when you have a _deleted_ property (true/false)
* **Available items** \- when you have an _available_ property (true/false)
* **Items in stock \[Google Merchant\]** \- when you have a string _available_ property with _"in stock"_ as its value

![Admin UI - Global Settings - Filter](/img/recipes/e-commerce/filter.png)

## Requesting Recommendations

There are three ways to get recommendations.

1. **[No-Code Widget](/no-code-widgets)** \- create a No-Code Widget using the **visual editor in the Admin UI**.
2. **[Widget SDKs](/widget-sdks)** \- use the SDK for a [Carousel](/widget-sdks#carousel), [Grid](/widget-sdks#grid) or [Feed](/widget-sdks#feed) to display the recommendations in the design of your choice. Use the [Recommend Items to User endpoint](/api#recommend-items-to-user) when initializing the widget.
3. **[API SDK](/api_clients)** \- request the [Recommend Items to User endpoint](/api#recommend-items-to-user) of the Recombee API using an SDK of your choice.

For more information, navigate to the Integration tab of the Scenario in the Admin UI.

In order to request content for multiple homepage boxes with a single API request, use the [Batch endpoint](/api#batch) and put the recommendation requests inside it. Set the parameter `distinctRecomms` in order to [deduplicate the items among the boxes](/api#batch-example-using-distinctrecomms-parameter-to-deduplicate-results-in-multiple-boxes).