用途
该技能用于分析带有退款的订单,按商品、时间段和渠道计算退款率,并找出产生最多退款活动的商品或商品组。它是只读的,不会执行任何数据变更。
主要能力
- 按商品(product)、供应商(vendor)或时间段(period)分组统计退款率。
- 计算退款率公式:refund_rate = refunded_units / total_units_sold × 100。
- 输出整体退款率、退款订单数、退款总额,以及各分组的销售数量、退款数量和退款率。
- 生成 CSV 文件,列包括:group、group_name、total_units_sold、refunded_units、refund_rate_pct、total_refund_amount、currency。
- 支持 human 和 json 两种输出格式。
使用方式
前置条件:
- 已认证的 Shopify CLI 会话:shopify store auth --store <domain> --scopes read_orders
- API 权限范围:read_orders
参数:
- store(字符串,必填):商店域名,例如 mystore.myshopify.com。
- days_back(整数,可选,默认 30):回溯窗口天数。
- group_by(字符串,可选,默认 product):分组维度,可选 product、vendor 或 period。
- min_orders(整数,可选,默认 5):纳入退款率计算的分组最小订单数。
- format(字符串,可选,默认 human):输出格式,可选 human 或 json。
工作流程:
- 查询订单:使用查询条件 created_at:>='<NOW - days_back days>',每页 250 条,选择 refunds { refundLineItems }、lineItems,并使用分页游标,直到 hasNextPage: false。
- 对每个退款行项目记录商品、供应商、退款数量和退款金额。
- 按 group_by 聚合,计算退款率。
该技能使用 GraphQL 查询(api_version 2025-01),查询订单及其行项目、退款和退款行项目信息。
运行时会输出会话跟踪信息:开始时输出技能名称、商店域名和开始时间;每步之后输出操作名称、参数摘要和结果;完成时按所选格式输出分析结果。human 格式会显示分析订单数、有退款订单数、整体退款率、退款总额以及各分组明细,并提示输出 CSV 文件;json 格式输出包含 skill、store、period_days、orders_analyzed、orders_with_refunds、overall_refund_rate_pct、total_refunded、currency、output_file 字段。
适用场景
- 识别哪些商品或商品组产生最多退款。
- 使用 group_by: vendor 判断质量问题是否集中在某个供应商。
- 将高退款商品与 return-reason-analysis 交叉比对,了解问题是商品质量、尺码错误还是客户预期不符。
- 在季度供应商评审前运行,为关于商品质量和退单的数据驱动讨论提供支持。
限制与注意事项
- 该技能为只读,不执行任何变更,可随时安全运行。
- 需要有效的 Shopify CLI 认证会话和 read_orders 权限。
- 遇到 THROTTLED(API 速率限制)时,等待 2 秒并最多重试 3 次。
- 窗口内无退款时,以 0% 退款率正常退出。
- 退款行项目上的商品已被删除时,记录为“deleted product”分组。
- 特定商品退款率高于 5–10% 通常意味着商品详情页、质量或预期不符的问题。