mcpField
A
algo-ecom-ranking

algo-ecom-ranking

github.com/asgard-ai-platformDevelopment24336 installsUpdated 21w ago
Repository

About algo-ecom-ranking

algo-ecom-ranking is a skill for designing e-commerce product ranking that combines text relevance with behavioral and commercial signals. It guides teams from rule-based scoring to learning-to-rank, with evaluation and safeguards for ranking bias.

Key features

  1. 01Combines relevance and business signals
  2. 02Defines rule-based scoring baseline
  3. 03Builds LTR models from click logs
  4. 04Evaluates with NDCG and A/B tests
  5. 05Addresses bias and cold starts

Use cases

  1. 01Improve product search beyond text matching
  2. 02Factor conversion, margin, and inventory into ranking
  3. 03Train rankings from click and conversion data

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/asgard-ai-platform/skills --skill algo-ecom-ranking

After installing, type/algo-ecom-rankingin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

examples/
sample_scenario.md
references/
lambdamart.md
position-debiasing.md

Details

From the project README

E-Commerce Product Ranking

Overview

E-commerce ranking combines text relevance (BM25) with commercial signals (CTR, conversion rate, revenue, margin) into a unified ranking score. Uses learning-to-rank (LTR) models trained on click and conversion data to optimize for business-relevant outcomes.

When to Use

Trigger conditions:

  • Building a product search/browse ranking beyond pure text relevance
  • Incorporating business metrics (margin, inventory) into ranking
  • Implementing a learning-to-rank pipeline

When NOT to use:

  • For pure text search relevance only (use BM25)
  • When no click/conversion data exists (start with rule-based ranking)

Algorithm

IRON LAW: Relevance Is Necessary But NOT Sufficient for E-Commerce Ranking
A result that is textually relevant but has zero sales history, no
reviews, and is out of stock serves no one. E-commerce ranking must
balance: relevance (does it match the query?), quality (is it a good
product?), and commercial value (does it generate revenue?).
Phase 1: Input Validation

Collect features per product-query pair: text relevance score (BM25), historical CTR, conversion rate, average rating, review count, price competitiveness, inventory level, margin. Gate: Minimum features available, click data from 30+ days.

Phase 2: Core Algorithm

Rule-based baseline: Score = w₁×relevance + w₂×popularity + w₃×rating + w₄×recency. Manually tune weights.

LTR approach:

  1. Generate training data from click logs (clicked = positive, skipped = negative, with position debiasing)
  2. Features: text match, behavioral (CTR, add-to-cart rate), product quality (rating, reviews), freshness, price
  3. Train: LambdaMART or gradient-boosted ranking model optimizing NDCG
  4. Blend: final_score = α × LTR_score + (1-α) × business_boost
Phase 3: Verification

Evaluate offline: NDCG@10, MRR. A/B test online: revenue per search, click-through rate, conversion rate. Gate: NDCG improves over baseline, A/B test positive on primary metric.

Phase 4: Output

Return ranked product list with score decomposition.

Output Format

{
  "results": [{"product_id": "P123", "rank": 1, "final_score": 0.92, "components": {"relevance": 0.85, "popularity": 0.95, "quality": 0.90}}],
  "metadata": {"query": "wireless earbuds", "model": "lambdamart", "ndcg_at_10": 0.72}
}

Examples

Sample I/O

Input: Query "laptop", 500 matching products Expected: Top results balance text match + high conversion + good ratings, not just keyword relevance.

Edge Cases
InputExpectedWhy
New product, no historyRely on text relevance + category avgCold start — no behavioral signal
Out of stock itemDemote or removeShowing unavailable products frustrates users
Sponsored productBlend ad rank with organicSeparate sponsored from organic clearly

Gotchas

  • Position bias in training data: Higher-ranked items get more clicks regardless of quality. Debias training data using inverse propensity weighting or randomization experiments.
  • Popularity bias: Without diversity controls, popular items dominate rankings. New or niche products get no exposure. Add exploration bonus.
  • Revenue optimization ≠ user satisfaction: Ranking by margin pushes expensive products up. Users lose trust if results feel commercially manipulated.
  • Feature freshness: Click signals change daily. Retrain or update features frequently. Stale features degrade ranking quality.
  • Category-specific models: A single ranking model may not work across all categories. Electronics ranking differs from fashion ranking.

References

  • For LambdaMART implementation, see references/lambdamart.md
  • For position debiasing techniques, see references/position-debiasing.md

Comments

Markdown supported