用途
该技能用于分析 Shopify 店铺的订单历史,发现哪些商品经常被一起购买。它通过计算共现频次、提升度(lift)和置信度指标,生成数据驱动的交叉销售建议和捆绑销售候选。该技能为只读操作,不会执行任何数据变更。
主要能力
- 挖掘订单历史中的商品对(pair)和商品三元组(triplet)。
- 计算共现支持度(support)、置信度(confidence)和提升度(lift)。
- 按提升度降序排列商品对,并按最小支持度过滤。
- 输出捆绑销售候选(高支持度 + 高提升度)。
- 生成 CSV 文件,包含商品 ID、标题、支持度、双向置信度、提升度和组合平均价格。
使用方式
前置条件
- 已认证的 Shopify CLI 会话:
shopify store auth --store <domain> --scopes read_orders,read_products - API 权限范围:
read_orders、read_products
参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| store | string | 是 | — | 店铺域名 |
| days_back | integer | 否 | 180 | 订单回溯窗口 |
| min_support | integer | 否 | 3 | 报告商品对所需的最小共现次数 |
| max_results | integer | 否 | 25 | 返回的最大商品对数量 |
| group_size | integer | 否 | 2 | 组合大小:2 为商品对,3 为三元组 |
| collection_filter | string | 否 | — | 限定到特定集合中的商品 |
| format | string | 否 | human | 输出格式:human 或 json |
工作流程
- 查询订单:使用查询条件
created_at:>='<NOW - days_back days>',每页 250 条,选择 lineItems 中的 product { id, title },使用游标分页。 - 对每个包含 2 个以上不同商品的订单,生成所有商品对组合。
- 构建共现矩阵:
- 支持度 = 同时包含两个商品的订单数
- 置信度(A→B) = P(B|A) = support(A,B) / support(A)
- 提升度 = confidence(A→B) / P(B),提升度大于 1.0 表示正相关
- 查询商品详情(富化):根据排名靠前的商品对中的商品 ID 获取标题、图片、价格等信息。
- 按提升度降序排列商品对,并按 min_support 过滤。
GraphQL 操作
订单查询(针对 api_version 2025-01 验证):
query OrderLineItems($query: String!, $after: String) {
orders(first: 250, after: $after, query: $query) {
edges {
node {
id
lineItems(first: 50) {
edges {
node {
product { id title }
quantity
}
}
}
}
}
pageInfo { hasNextPage endCursor }
}
}
商品详情查询(针对 api_version 2025-01 验证):
query ProductDetails($ids: [ID!]!) {
nodes(ids: $ids) {
... on Product {
id
title
vendor
productType
priceRangeV2 {
minVariantPrice { amount currencyCode }
maxVariantPrice { amount currencyCode }
}
totalInventory
status
}
}
}
输出格式
生成 CSV 文件 fbt_pairs_<YYYY-MM-DD>.csv,包含列:product_a_id、product_a_title、product_b_id、product_b_title、support、confidence_a_to_b、confidence_b_to_a、lift、combined_avg_price。
human 格式(默认)会输出分析摘要,包括分析订单数、发现的唯一商品对数量、满足 min_support 的商品对数量、按提升度排名的顶级商品对,以及捆绑销售候选。
适用场景
- 为手动创建商品捆绑或配置追加销售应用提供数据依据。
- 识别强捆绑候选(提升度大于 2.0 的商品对)。
- 发现方向性追加销售机会:当 A→B 置信度高但 B→A 置信度低时,可在购物车包含 A 时展示 B。
- 与 top-product-performance 交叉参考,确保配对商品表现良好。
限制
- 只读技能,不执行任何变更操作。
- 需要已认证的 Shopify CLI 会话和相应 API 权限。
- 若店铺只有单商品订单,将报告为空,建议延长回溯窗口。
- 商品过多时可能出现组合爆炸,限制为按订单数排名前 500 的商品。
- 遇到 THROTTLED(API 速率限制)时,等待 2 秒后重试,最多 3 次。
- 建议使用 days_back: 180 或 365 以获得足够样本量。