SuperAPI AI 工具集

sales-by-channel-report

数据与分析

查看项目

更新于 10-15 10:43

技能介绍

用途

该技能按订单来源渠道分析订单,生成每个渠道的收入、销量和客单价(AOV)拆分报告。它帮助多渠道商家理解收入来源,包括 Online Store、POS、Draft Orders(B2B)、移动应用或第三方渠道。技能为只读,不执行任何变更操作。

前置条件

需要已认证的 Shopify CLI 会话: shopify store auth --store <domain> --scopes read_orders

API 权限范围:read_orders

参数

store:字符串,必填,无默认值,店铺域名(例如 mystore.myshopify.com)。

days_back:整数,可选,默认 30,回溯窗口天数。

format:字符串,可选,默认 human,输出格式可选 human 或 json。

安全性

该技能为只读技能,不执行任何变更操作,可随时安全运行。

工作流程

操作 orders — 查询。输入为 query: "created_at:>='<NOW - days_back days>'"、first: 250、select channelInformation { channelDefinition { handle, displayName } }、totalPriceSet、lineItems { quantity }、分页游标。预期输出为带渠道归因的订单,持续分页直到 hasNextPage: false。

按 channel.displayName 分组,计算每个渠道的订单数、总收入、总销量、客单价(AOV)。

GraphQL 操作

以下查询已针对 api_version 2025-01 验证:

query OrdersByChannel($query: String!, $after: String) { orders(first: 250, after: $after, query: $query) { edges { node { id name createdAt totalPriceSet { shopMoney { amount currencyCode } } channelInformation { channelDefinition { handle displayName } } lineItems(first: 50) { edges { node { quantity } } } } } pageInfo { hasNextPage endCursor } } }

会话跟踪

Claude 必须在每个阶段输出指定内容,此为强制要求。

开始时输出:

╔══════════════════════════════════════════════╗ ║ SKILL: Sales by Channel Report ║ ║ Store: <store domain> ║ ║ Started: <YYYY-MM-DD HH:MM UTC> ║ ╚══════════════════════════════════════════════╝

每一步之后输出:

[N/TOTAL] <QUERY|MUTATION> <OperationName> → Params: <brief summary of key inputs> → Result: <count or outcome>

完成时输出,format 为 human(默认)时:

══════════════════════════════════════════════ SALES BY CHANNEL (<days_back> days) Total revenue: $<amount> Total orders: <n>

Channel Orders Revenue AOV Units Share ───────────────────────────────────────────────────────────── Online Store <n> $<n> $<n> <n> <pct>% POS <n> $<n> $<n> <n> <pct>% Draft Orders <n> $<n> $<n> <n> <pct>% Output: sales_by_channel_<date>.csv ══════════════════════════════════════════════

format 为 json 时输出:

{ "skill": "sales-by-channel-report", "store": "<domain>", "period_days": 30, "total_revenue": 0, "total_orders": 0, "currency": "USD", "by_channel": [], "output_file": "sales_by_channel_<date>.csv" }

输出格式

CSV 文件 sales_by_channel_<YYYY-MM-DD>.csv,列包含:channel_handle、channel_name、order_count、total_revenue、aov、total_units、revenue_share_pct、currency。

错误处理

THROTTLED:API 速率限制超出,等待 2 秒后重试,最多重试 3 次。

Null channel info:来自已删除或未知渠道的订单,归入 “Unknown” 分组。

No orders in window:窗口期内无订单,以 0 收入退出。

最佳实践

与 Online Store 相比,POS 订单客单价异常偏低时,可能提示员工折扣滥用或结账错误,值得交叉核对。

Draft Orders 渠道代表 B2B/批发订单;如果该渠道增长,可能值得建立专门的 B2B 报告工作流。

渠道组合随时间的变化可反映营销支出的效果,结合 average-order-value-trends 可获得完整视图。