mcpField
A
algo-ecom-ranking

algo-ecom-ranking

github.com/asgard-ai-platform开发24336 次安装21 周前更新
代码仓库

关于 algo-ecom-ranking

algo-ecom-ranking 是用于设计电商商品排序的技能,将文本相关性与行为及商业信号结合。它涵盖从规则评分到学习排序的流程,并包括评估及偏差处理。

主要功能

  1. 01结合相关性与商业信号
  2. 02定义规则评分基线
  3. 03根据点击日志构建 LTR 模型
  4. 04使用 NDCG 和 A/B 测试评估
  5. 05处理偏差与冷启动

适用场景

  1. 01改进超越文本匹配的商品搜索
  2. 02将转化率、利润和库存纳入排序
  3. 03根据点击及转化数据训练排序模型

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/algo-ecom-ranking确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

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

详细介绍

电商产品排序

概述

电商排序会将文本相关性(BM25)与商业信号(点击率、转化率、收入、利润率)结合起来,形成统一的排序分数。它使用基于点击和转化数据训练的学习排序(LTR)模型,优化与业务相关的结果。

适用场景

触发条件:

  • 构建超越纯文本相关性的产品搜索/浏览排序
  • 将业务指标(利润率、库存)纳入排序
  • 实现学习排序流程

不适用场景:

  • 仅关注纯文本搜索相关性时(使用 BM25)
  • 没有点击/转化数据时(从基于规则的排序开始)

算法

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?).
阶段 1:输入验证

收集每个产品-查询对的特征:文本相关性分数(BM25)、历史点击率、转化率、平均评分、评论数、价格竞争力、库存水平、利润率。 **门槛:**具备最低限度的特征,且点击数据覆盖 30 天以上。

阶段 2:核心算法

**基于规则的基线:**分数 = w₁×相关性 + w₂×热度 + w₃×评分 + w₄×新近度。手动调整权重。

LTR 方法:

  1. 根据点击日志生成训练数据(点击 = 正例,跳过 = 负例,并进行位置去偏)
  2. 特征:文本匹配度、行为数据(点击率、加入购物车率)、产品质量(评分、评论)、新鲜度、价格
  3. 训练:使用 LambdaMART 或梯度提升排序模型优化 NDCG
  4. 混合:final_score = α × LTR_score + (1-α) × business_boost
阶段 3:验证

离线评估:NDCG@10、MRR。在线 A/B 测试:每次搜索的收入、点击率、转化率。 **门槛:**NDCG 优于基线,且 A/B 测试的主要指标为正向结果。

阶段 4:输出

返回包含分数分解的排序后产品列表。

输出格式

{
  "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}
}

示例

示例输入/输出

**输入:**查询“laptop”,500 个匹配产品 **预期:**排名靠前的结果兼顾文本匹配度、高转化率和良好评分,而不只是关键词相关性。

边界情况
输入预期原因
新产品,无历史数据依赖文本相关性 + 类别平均值冷启动——没有行为信号
缺货商品降低排名或移除展示无货商品会令用户不满
赞助商品将广告排名与自然排名混合清楚区分赞助商品和自然结果

注意事项

  • 训练数据中的位置偏差:无论质量如何,排名靠前的商品都会获得更多点击。使用逆倾向加权或随机化实验对训练数据进行去偏。
  • 热度偏差:如果没有多样性控制,热门商品会主导排名,新品或小众商品得不到曝光。添加探索奖励。
  • 优化收入 ≠ 用户满意度:按利润率排序会让高价商品排名上升。如果结果让用户觉得受商业因素操控,他们会失去信任。
  • 特征时效性:点击信号每天都会变化。应频繁重新训练或更新特征。过时的特征会降低排序质量。
  • 类别专用模型:单一排序模型可能不适用于所有类别。电子产品排序与时尚产品排序有所不同。

参考资料

  • LambdaMART 的实现请参阅 references/lambdamart.md
  • 位置去偏技术请参阅 references/position-debiasing.md

评论

支持 Markdown