关于 merchandising-rules
面向电商商品运营团队的商品排序与搜索规则技能,介绍如何利用平台内置功能、应用或自定义逻辑管理商品展示。涵盖手动置顶、自动排序、搜索提升及规则效果评估。
主要功能
- 01设置集合页商品排序
- 02创建基于条件的自动集合
- 03置顶或降权指定商品
- 04按销量与转化表现排序
- 05配置搜索提升与筛选
适用场景
- 01在集合页突出主推或新品
- 02将缺货商品排在较低位置
- 03为季节活动设置限时规则
- 04调整搜索结果中的商品顺序
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill merchandising-rules安装后在 Claude Code 中输入/merchandising-rules确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/collection-ranking-pipeline/criteria.jsontask.mdevals/product-scoring-engine/criteria.jsontask.mdevals/search-boosting-admin-audit/criteria.jsontask.md详细介绍
商品陈列规则
概述
商品陈列规则用于控制哪些商品优先显示在商品集合和搜索结果中。目标是展示更有可能促成转化的商品——有库存、受欢迎、利润率高的商品——同时让商品运营人员能够手动固定主推商品、隐藏缺货商品,并提升季节性商品集合的排名。各大平台都提供一些内置排序选项;Searchpie、Intelligems 或 SearchPie 等应用则能根据表现自动排名。
何时使用此技能
- 构建商品集合页和分类页的商品排名逻辑时
- 根据商品属性、标签或表现创建自动化(智能)商品集合时
- 实施搜索结果提升和降权功能,以便控制商品陈列时
- 为商品集合页添加固定(手动排序)和基于位置的商品陈列功能时
- 衡量不同商品排名策略对收入的影响时
核心说明
第 1 步:确定平台并选择合适的商品陈列工具
| 平台 | 推荐工具 | 原因 |
|---|---|---|
| Shopify | Shopify 内置的商品集合排序 + Kimonix 或 SearchPie | Shopify 提供内置排序选项;Kimonix 和 SearchPie 添加了基于表现的自动排序,并支持手动覆盖 |
| WooCommerce | WooCommerce 默认排序 + YITH WooCommerce Catalog Mode 或 WooCommerce Product Table | WooCommerce 支持基础排序;YITH 等插件可提供高级商品目录控制 |
| BigCommerce | 内置商品集合排序 + SearchPie 或 Boost Commerce | BigCommerce 提供完善的内置分类排序;Boost Commerce 可提供高级搜索商品陈列功能 |
| Custom / Headless | Algolia 或 Elasticsearch,搭配商品陈列规则层 | Algolia 在其控制面板中内置了“Rules”和“Pinning”功能;Elasticsearch 则需要自定义评分规则 |
第 2 步:配置基本商品集合排序
Shopify
内置排序选项(无需应用):
- 前往 Products → Collections → [Collection] → Products
- 在“Sort”下拉菜单中选择:
- Best Selling — 按历史总销量排序(最受欢迎的排在前面)
- Newest — 最近添加的商品排在前面
- Price (Low to High / High to Low) — 按价格排序
- Manually — 可将商品拖动到指定位置
- 使用“Manual”排序可以通过拖动将特定商品固定在顶部,适用于主推商品和新品发布
智能(自动化)商品集合:
- 前往 Products → Collections → Create collection
- 将类型设置为 Automated
- 添加条件,例如:“Tag is equal to 'summer'”或“Product price is greater than $50”
- Shopify 会自动添加或移除符合条件的商品
- 设置智能商品集合的排序方式(Best Selling、Newest 等)
Shopify Search & Discovery 应用(免费):
- 从 App Store 安装 Shopify Search & Discovery 应用(由 Shopify 提供,免费)
- 此应用可在搜索结果和商品集合页中提升特定商品的排名
- 前往应用 → Collections → [Collection] → Boost products,将商品固定在顶部
- 前往 Bury products,将低优先级商品(清仓商品、非当季商品)推至底部
WooCommerce
内置排序:
- 前往 WooCommerce → Settings → Products → Default product sorting
- 可选项:Default(自定义排序)、Popularity、Average Rating、Latest、Price (Low to High)
- 使用“Custom ordering”可在 WooCommerce → Products 中将商品拖动到指定位置
- 前往 WooCommerce → Settings → Products → Enable sorting,为客户启用多个排序选项
分类商品展示(手动控制):
- 前往 Products → Categories → [Category] → Products tab
- 拖动商品,在分类页中重新排序
- 如需通过程序控制:安装 WooCommerce Custom Order / Alphabetical Order 插件
BigCommerce
- 前往 Products → Product Categories → [Category]
- 点击 Sort 选项卡,为该分类设置默认排序顺序
- 可选项:名称、价格、日期、销量(最畅销)、精选、手动
- “手动”排序允许将产品拖动到指定位置
- “精选”排序会优先显示标记为“精选”的产品,然后采用默认排序
BigCommerce 搜索:
- 默认情况下,BigCommerce 搜索会根据相关性返回结果
- 如需提升特定产品在搜索结果中的排名,请将其标记为“精选”,或在产品 SEO 字段中添加关键词
- 如需高级搜索营销功能,请从 BigCommerce App Marketplace 安装 Boost Commerce
步骤 3:设置基于表现的自动排名
基于表现的排名会自动提升销量好的产品,并降低滞销产品的排名。通常需要使用应用。
Shopify — Kimonix
- 从 Shopify App Store 安装 Kimonix(付费,起价约为 $30/月)
- Kimonix 会连接到 Shopify 分析数据,并根据以下指标为每个产品计算得分:
- 销售速度(近期售出的件数)
- 转化率(从系列页面添加到购物车的比率)
- 库存水平(降低即将缺货产品的优先级)
- 利润率(可选,前提是已录入成本数据)
- 在 Kimonix → Strategies 中配置权重,例如:销售速度占 50%,转化率占 30%,库存占 20%
- Kimonix 会按计划(每小时、每天或由事件触发)自动重新排列系列中的产品
- 覆盖设置:手动将产品固定在指定位置——Kimonix 会保留手动固定的位置,并按算法对其余产品排序
使用 Shopify Search & Discovery(免费)进行简单加权:
- 打开 Search & Discovery 应用
- 在 Collections 下,选择一个系列并点击“Add boost”
- 你可以按产品标签(例如,提升所有带有“new-arrival”标签的产品)、特定产品或产品类型来加权
- “Bury”的用法相同,可用于清仓商品或过季产品
WooCommerce
使用 YITH WooCommerce Ajax Product Filter + WooCommerce Visual Products Configurator:
- 如需基于销量进行基本自动排序:WooCommerce 内置的“Sort by Popularity”使用
total_sales元字段,该字段会在每次销售后递增 - 如需高级评分,请安装 Booster for WooCommerce,它支持根据自定义标准进行加权产品排序
BigCommerce — Boost Commerce
- 从 BigCommerce App Marketplace 安装 Boost Commerce
- Boost Commerce 会为分类页面添加智能排序(按收入、转化率或自定义得分排序)
- 在 Boost Commerce 中创建“Merchandising Rules”,以固定、提升或降低特定产品的排名
- 为季节性营销活动设置限时规则(例如,在 12 月至 2 月期间提升带有“winter”标签的产品)
步骤 4:设置搜索结果营销
Shopify
Shopify Search & Discovery — 搜索加权:
- 打开 Search & Discovery 应用 → Search
- 在“Boosts”下,点击“Add boost”为特定搜索查询设置加权
- 示例:对于“jacket”这一查询,将带有“featured-jacket”标签的产品提升到顶部
- 在“Synonyms”下:添加常见的拼写变体(例如,“t-shirt” = “tshirt” = “tee”)
- 在“Product filters”下:配置搜索结果中显示的筛选条件(价格、颜色、尺码等)
WooCommerce
- WooCommerce Product Search 插件(WooCommerce.com)可添加基于相关性的搜索
- 配置搜索权重:标题权重 = 5,标签权重 = 3,分类权重 = 2,描述权重 = 1
- 如需高级营销功能,请使用 SearchWP 及其 WooCommerce 集成来创建自定义搜索规则
自定义 / 无头 — Algolia
- 在 algolia.com 注册,并在你的商店中安装 Algolia 客户端
- 通过后台任务将产品目录推送到 Algolia
- 在 Algolia 的控制面板 → Rules 中,创建商品陈列规则:
- 针对特定查询,将某个产品置顶到第 1 位
- 提升具有特定属性的产品的排名(例如,
in_stock: true) - 将
clearance: true的产品排名下调
- 自定义排名:在 Algolia → Indices → Ranking → Custom Ranking 中,添加:
desc(sales_30d)— 按近期销量降序排列desc(conversion_rate)— 次要排序依据为转化率
- 将新的产品指标推送到索引后,Algolia 会实时更新排名
步骤 5:自定义 / 无头 — 评分引擎
// Compute a merchandising score for a set of products
interface ProductMetrics {
productId: string;
unitsSold30d: number;
revenue30d: number;
conversionRatePct: number; // (add-to-carts / page views) × 100
grossMarginPct: number;
daysInStock: number; // 0 = out of stock
daysSinceAdded: number;
}
interface ScoreWeights {
salesVelocity: number; // e.g., 0.35
revenue: number; // e.g., 0.20
conversion: number; // e.g., 0.20
margin: number; // e.g., 0.15
recency: number; // e.g., 0.10 (newer products get a boost)
}
function scoreProducts(metrics: ProductMetrics[], weights: ScoreWeights): { productId: string; score: number }[] {
// Normalize each metric to 0–1 range across the set
const normalize = (values: number[]) => {
const min = Math.min(...values);
const max = Math.max(...values);
return values.map(v => max === min ? 0.5 : (v - min) / (max - min));
};
const salesScores = normalize(metrics.map(m => m.unitsSold30d));
const revenueScores = normalize(metrics.map(m => m.revenue30d));
const conversionScores = normalize(metrics.map(m => m.conversionRatePct));
const marginScores = normalize(metrics.map(m => m.grossMarginPct));
// Recency: newer = higher score (invert daysAdded)
const recencyScores = normalize(metrics.map(m => -m.daysSinceAdded));
return metrics.map((m, i) => {
const score =
salesScores[i] * weights.salesVelocity +
revenueScores[i] * weights.revenue +
conversionScores[i] * weights.conversion +
marginScores[i] * weights.margin +
recencyScores[i] * weights.recency;
// Out-of-stock products get pushed to the bottom
const adjustedScore = m.daysInStock === 0 ? score - 2 : score;
return { productId: m.productId, score: Math.round(adjustedScore * 1000) / 1000 };
}).sort((a, b) => b.score - a.score);
}
最佳实践
- 将缺货产品的排名下调,而不是将其排除 — 缺货产品仍应出现在搜索结果中(有利于 SEO 和愿望清单),但排名应靠后;只有彻底下架的产品才应完全移除
- 每天刷新评分,而不是每次加载页面时刷新 — 预先计算并存储产品评分;每次集合请求都实时计算评分,速度太慢
- 手动置顶主打产品和新品 — 自动评分适合处理长尾产品;每个季节手动置顶你正在重点推广的 3–5 款关键产品
- 应用新规则前提供预览模式 — Shopify Search & Discovery 应用和 Kimonix 都提供预览功能;上线前可使用该功能确认集合中的产品顺序
- 限制置顶产品的数量 — 如果置顶产品过多,算法就无法展示其他产品;每个集合的手动置顶产品数量应不超过 5 款
常见问题
| 问题 | 解决方案 |
|---|---|
| 畅销产品长期占据每个集合的主导位置 | 为销量指标添加近期权重,并为过去 14 天内添加的产品设置“新品提升”;这样新品才有机会获得曝光 |
| 商品陈列规则与其他规则冲突 | 在 Shopify Search & Discovery 和 Kimonix 中,规则有优先级顺序 — 明确哪些规则会覆盖其他规则,并记录优先级方案 |
| 智能集合添加了不应包含的产品 | 仔细检查集合条件;使用“任一条件”而非“所有条件”是意外加入产品的最常见原因 |
| 单日爆红导致表现评分偏高 | 销量指标使用滚动 30 天窗口,而不是累计总量;将极端异常值限制在第 95 百分位 |
相关技能
- @multi-channel-selling
- @demand-forecasting
评论
支持 Markdown