Recs Algorithms Explained
Overview
Netcore Unbxd provides 14 core recommendation algorithms, each powered by a specific signal type and optimised for different page types and user intents.
Let's understand how each algorithm works, their underlying logic, and the minimum data required for reliable performance.
Before You Start
- Signal Type refers to the primary source of data an algorithm uses to generate recommendations.
- Cold Start refers to scenarios where there is insufficient data to generate reliable recommendations.
Available Recommendation Algorithms
Refer to the table below to understand what each recommendation algorithm does.
| Algorithm | What it does |
|---|---|
| Top Sellers | Showcases the most sold products based on historical sales data |
| Category Top Sellers | Highlights best-selling products within a category |
| Recently Viewed | Shows products viewed by the shopper in recent sessions |
| Recommended For You | Recommends products based on a shopper’s browsing and product view history |
| Boutique | Displays curated or manually controlled product collections |
| Cross-Sell | Recommends complementary products based on business logic |
| Bought Also Bought | Recommends products frequently purchased together |
| More Like This | Displays similar products using text and category matching |
| Viewed Also Viewed | Suggests products commonly viewed together |
| AI-based Complete the Look | Uses AI to automatically generate product combinations |
| Complete The Look | Curates complementary products for a given product |
| Brand Top Sellers | Highlights best-selling products within a brand |
| Recs based on Recently Viewed | Recommends products derived from recently viewed items |
| Recs based on Last Viewed | Recommends products based on the most recently viewed product |
To access Algorithms, log in to the Netcore Unbxd Recommendation console and navigate to Algorithms > Core Algorithms.
Below is explained how each of the recommendation algorithms works:
Top Sellers
Top Sellers ranks products based on purchase volume within a rolling time window (default: 7 days). A time decay function ensures that recent purchases are weighted more heavily than older ones.
Formula: TopSeller Score(item) = Σ Orders(item, t) * TimeDecay(t) and TimeDecay(t) = e^(-λ * (T - t)) where:
T = current timestamp t = timestamp of each order event λ = decay constant (default ≈ 0.1 per day)
Refer to the table below for Top Sellers details
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Sales Analytics |
| Available On | Home Page, Product Page, Category Page, Cart Page, Brand Page, Journey Page |
| Minimum Data Required | 200+ order events |
| Cold Start | Not available; falls back to catalog-based popularity. For example: New Arrivals |
Category Top Sellers
It extends the Top Sellers logic to a specific category, surfacing the best-selling products within that category rather than sitewide.
Formula: CategoryTopSeller Score(item, category) = Σ Orders(item, t | category(item) = category) * TimeDecay(t)
Algorithm Details:
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Sales Analytics |
| Available On | Product Page, Category Page |
| Minimum Data Required | 100+ order events (within category) |
| Cold Start | Falls back to Top Sellers (sitewide) |
Recently Viewed
It displays products a shopper has viewed, ordered by recency and weighted by frequency. This is a fully personalised, session-aware algorithm.
Formula: RecentlyViewed Score(item, user) = ViewCount(item, user) * TimeDecay(last_view_time)
Algorithm Details:
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | User Activity (Views) |
| Available On | Home Page, PDP |
| Minimum Data Required | 1 product view per user |
| Cold Start | Fully available from the first session |
Recommended For You
Builds a user-specific interest profile using past interactions (clicks, cart, purchase) and recommends products with similar attributes.
Formula: User Interest Profile(user) = Σ [EventWeight(event) * AttributeVector(item)] RecommendedForYou Score(item, user) = cosine_similarity(AttributeVector(item), User Interest Profile(user)) where
AttributeVector(item) = product attributes (category, brand, price tier, tags, keywords) EventWeight = Order > Cart > Click cosine_similarity = similarity score between vectors
Algorithm Details:
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Behavioral + Catalog |
| Available On | Home Page, PDP |
| Minimum Data Required | 3+ behavioral events per user |
| Cold Start | Falls back to Top Sellers or Trending |
Boutique
A scoped version of Recommended For You, restricted to a specific boutique or brand catalog. It provides personalization within a curated variety. It uses the same user interest profiling logic.
Algorithm Details
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Behavioral + Catalog |
| Available On | Boutique Pages |
| Minimum Data Required | 3+ events per user; 20+ SKUs recommended |
| Cold Start | Same fallback as Recommended For You |
Cross Sell
It identifies categories that are frequently used together and recommends products from complementary categories.
Formula: CategoryAffinity(Cat_A, Cat_B) = |Users who interacted with both Cat_A and Cat_B| / sqrt(|Users Cat_A| * |Users Cat_B|)
Algorithm Details:
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Behavioral (Category Affinity) |
| Available On | PDP, Cart |
| Minimum Data Required | 2,000+ events; 300+ users |
| Cold Start | Not available |
Bought Also Bought
It identifies products frequently purchased by the same users over time, building item-to-item relationships.
Formula: BoughtAlsoBought Score(A, B) = |Users who purchased both A and B| / sqrt(|Users A| * |Users B|)
Algorithm Details:
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Purchase Behavior |
| Available On | PDP |
| Minimum Data Required | 500+ purchase events |
| Cold Start | Not available |
More Like These
It uses semantic similarity across product attributes (title, description, category, brand, tags) to find similar items.
Algorithm Details
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Catalog / Text Embeddings |
| Available On | Product Page, Cart Page |
| Minimum Data Required | Catalog data only |
| Cold Start | Fully available from day one |
AI-Based Complete The Look
This Algorithm generates product combinations based on visual and stylistic compatibility.
Formula: CTL Score(A, B) = α * VisualCompatibility(img_A, img_B) + β * StyleAttributeMatch(attr_A, attr_B) + γ * CategoryComplementarity(cat_A, cat_B) where,
α + β + γ = 1 (weights calibrated per client)
Algorithm Details
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | Visual AI + Catalog |
| Available On | Complete The Look Page |
| Minimum Data Required | Images and style attributes |
| Cold Start | Fully available with catalog |
Complete The Look (Editorial)
It works on manual product associations defined by merchandisers.
Algorithm Details:
| Property | Value |
|---|---|
| Status | Inactive |
| Signal Type | Editorial |
| Available On | Complete The Look Page |
| Minimum Data Required | Manual configuration |
| Cold Start | Not applicable |
Recommendations Based on Recently Viewed
This algorithm uses recently viewed products as seeds to recommend new, similar products that the shopper hasn't seen yet.
Formula: RecsFromRecentlyViewed Score(candidate, user) = Σ [TimeDecay(view_t) * cosine_similarity(AttributeVector(candidate), AttributeVector(seed_item))]
Algorithm Details:
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | User Activity + Similarity |
| Available On | Home Page, PDP |
| Minimum Data Required | 1+ views (optimal at 5+) |
| Cold Start | Falls back to Top Sellers / Recommended For You |
Recommendations Based on Last Viewed
This uses the most recently viewed product as the primary intent signal to generate focused recommendations.
Formula: RecsFromLastViewed Score(candidate, user) = α * cosine_similarity(AttributeVector(candidate), AttributeVector(LastViewedItem(user))) + β * BoughtAlsoBought Score(candidate, LastViewedItem(user)) where:
α + β = 1 (default: α = 0.6, β = 0.4)
Algorithm Details
| Property | Value |
|---|---|
| Status | Active |
| Signal Type | User Activity + Hybrid |
| Available On | Home Page, PDP, Category Page, Cart Page |
| Minimum Data Required | 1 product view |
| Cold Start | Fully available from the first session |
Updated about 2 hours ago
