Skip to content
Development
Skill

/algo-ecom-ranking

\"Design multi-objective e-commerce product ranking combining relevance, conversion, and business metrics. Use this skill when the user needs to build a product ranking system beyond text relevance, balance relevance with commercial objectives, or implement learning-to-rank —

From plugin
awesome-agent-skill
27200 skills4 commands

Claude Code

$ npx -y skills add charlieviettq/awesome-agent-skill --skill algo-ecom-ranking --agent claude-code

SKILL.md

algo-ecom-ranking.SKILL.md
name: "\"algo-ecom-ranking\""
description: "\"Design multi-objective e-commerce product ranking combining relevance, conversion, and business metrics. Use this skill when the user needs to build a product ranking system beyond text relevance, balance relevance with commercial objectives, or implement learning-to-rank — even if they say 'product sorting', 'search result ranking', or 'how to rank products'.\"."
allowed-tools: Read, Glob, Grep

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

| Input | Expected | Why | |-------|----------|-----| | New product, no history | Rely on text relevance + category avg | Cold start — no behavioral signal | | Out of stock item | Demote or remove | Showing unavailable products frustrates users | | Sponsored product | Blend ad rank with organic | Separate 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`
Read more
@charlieviettq
Ships withawesome-agent-skill

Curated skill pack for LLM agents in engineer and science workflow (Cursor & Claude ready).

Stars on GitHub

Momentum

stars in total
27
Star history of charlieviettq/awesome-agent-skill on GitHub, a chart by star-history.com

Other skills on awesome-agent-skill.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about algo-ecom-ranking.

Which coding agents can use algo-ecom-ranking?
algo-ecom-ranking installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.