Personalized Re-ordering of Rows

It is usually the cornerstone of the OTT platform homepage to show the picks from various (micro) genres. You can make these rows truly personalized: Pick the top genres for the particular user, and also show the most appealing assets inside these rows.
The same approach is besides the homepage often also used in the category pages, such as Movies or Series.

With Composite Recommendations, you can easily personalize both:

  1. The order of those rows (so genres appear in the order each user is most interested in), and
  2. The content inside each row (so that within each genre, the user sees the most relevant items).

Composite Recommendations return both a source entity (for example, a genre Segment) and a list of results (items from that Segment) in a single response.

They are requested via the Composite Recommendation API endpoint.

In our case:

  • Source: ID of the row, e.g. the genre (Item Segment)
  • Result: Items (videos) for that row
Genre Rows Setup

Because the source is personalized (which genre the user likes), and the result is personalized (which items within that genre they like), you get dynamic row ordering and item ordering in one request.

First, in the Admin UI you create a Segmentation of your catalog items by genre.

  1. Navigate to Segmentations → Create.
  2. Set Segmentation Type to Property-based.
  3. Select the item property (e.g., genre) which defines the genre classification.

After picking the property, a preview opens up and you can see what genres exist in your catalog and the number of items per genre.

Go to Scenarios → Create Scenario.

  1. Choose a Scenario ID, e.g. homepage-rows-and-videos.

  2. Set the Recommendation Type to Composite (see Composite Recommendations).

  3. Then pick one of the Templates:

    depending on the nature of your rows and create the Scenario.

You always want to recommend only movies, series, and episodes that are currently available to watch for your users. Therefore you need to apply a Filter rule to allow only such assets.

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, so it is always applied everywhere.

The particular filter depends on how you specify such assets in your catalog:

  • If you have a boolean property that marks the asset as available you can use the predefined Available items [boolean] rule.
  • If you have a timestamp property that specifies when the asset is published (becomes available) you can use the predefined Published items rule.
  • Or if you have a licensing window (start date, end date) you can use the predefined Items within their licensing window rule.
  • In every other case, you can create a custom filter rule to allow only the available assets according to your own logic.

There are two ways to show multiple personalized rows in your application:

  1. Using the API Client

Using an API Client of your choice, send multiple Composite Recommendation requests within a single Batch request, with the distinctRecomms parameter set to true to deduplicate content across rows.

Tip

Composite Recommendations automatically ensure distinct source entities (genres), while the distinctRecomms flag removes duplicate videos between rows.

See this example for guidance on how to implement this approach in your programming language.

Once you receive the response, render each source (genre) as a row title and populate it with the corresponding results (videos) to create a fully personalized homepage layout.

  1. Using the Widget SDK

For web applications built with HTML, CSS and JavaScript, the Widget SDKs support Composite Recommendations out of the box.

Place one widget per row on your page, each sending its own Composite Recommendation request. Design the row title with the SourceItemComponent parameter and the videos inside it with ItemComponent.

Multiple widgets on one page are deduplicated automatically, for videos as well as for source entities (genres).

For full code examples and in-depth guidance, see the relevant SDK documentation on Composite Recommendations:

© Copyright 2026, Recombee s.r.o
docs.recombee.com