From shopify-admin-skills
Calculates Average Order Value (AOV) trends over daily, weekly, or monthly time buckets, segmented by new vs. returning customers. Useful for measuring the impact of upsell programs, bundle offers, or free shipping thresholds.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shopify-admin-skills:shopify-admin-average-order-value-trendsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Calculates Average Order Value (AOV) over configurable time buckets (daily, weekly, monthly) and segments results by new vs. returning customers. Tracks AOV trends to measure the impact of upsell programs, bundle offers, or free shipping thresholds. Read-only — no mutations.
Calculates Average Order Value (AOV) over configurable time buckets (daily, weekly, monthly) and segments results by new vs. returning customers. Tracks AOV trends to measure the impact of upsell programs, bundle offers, or free shipping thresholds. Read-only — no mutations.
shopify store auth --store <domain> --scopes read_orders,read_customersread_orders, read_customers| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| store | string | yes | — | Store domain (e.g., mystore.myshopify.com) |
| days_back | integer | no | 90 | Total lookback window |
| bucket | string | no | week | Time bucket: day, week, or month |
| format | string | no | human | Output format: human or json |
ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.
OPERATION: orders — query
Inputs: query: "created_at:>='<NOW - days_back days>'", first: 250, select totalPriceSet, customer { id, numberOfOrders }, createdAt, pagination cursor
Expected output: All orders in window; paginate until hasNextPage: false
Classify each order: if customer.numberOfOrders == 1 → new customer order; else → returning
OPERATION: customers — query (optional enrichment for cohort context)
Inputs: Recent customers for new vs. repeat segmentation validation
Group orders by time bucket; calculate AOV per bucket and per customer segment
# orders:query — validated against api_version 2025-01
query AOVData($query: String!, $after: String) {
orders(first: 250, after: $after, query: $query) {
edges {
node {
id
name
createdAt
totalPriceSet {
shopMoney {
amount
currencyCode
}
}
customer {
id
numberOfOrders
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
# customers:query — validated against api_version 2025-01
query NewVsReturningCustomers($query: String!, $after: String) {
customers(first: 250, after: $after, query: $query) {
edges {
node {
id
numberOfOrders
createdAt
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
Claude MUST emit the following output at each stage. This is mandatory.
On start, emit:
╔══════════════════════════════════════════════╗
║ SKILL: Average Order Value Trends ║
║ Store: <store domain> ║
║ Started: <YYYY-MM-DD HH:MM UTC> ║
╚══════════════════════════════════════════════╝
After each step, emit:
[N/TOTAL] <QUERY|MUTATION> <OperationName>
→ Params: <brief summary of key inputs>
→ Result: <count or outcome>
On completion, emit:
For format: human (default):
══════════════════════════════════════════════
AOV TRENDS (<days_back> days, bucket: <bucket>)
Orders analyzed: <n>
Overall AOV: $<amount>
New customer AOV: $<amount>
Returning AOV: $<amount>
Period Orders AOV New AOV Returning AOV
────────────────────────────────────────────────────
2026-W14 <n> $<n> $<n> $<n>
Output: aov_trends_<date>.csv
══════════════════════════════════════════════
For format: json, emit:
{
"skill": "average-order-value-trends",
"store": "<domain>",
"period_days": 90,
"overall_aov": 0,
"new_customer_aov": 0,
"returning_customer_aov": 0,
"by_period": [],
"output_file": "aov_trends_<date>.csv"
}
CSV file aov_trends_<YYYY-MM-DD>.csv with columns:
period, order_count, aov, new_customer_orders, new_customer_aov, returning_orders, returning_aov, currency
| Error | Cause | Recovery |
|---|---|---|
THROTTLED | API rate limit exceeded | Wait 2 seconds, retry up to 3 times |
| Guest checkout orders | No customer record | Count in totals but exclude from new/returning segmentation |
| No orders in window | New store or quiet period | Exit with 0 AOV |
bucket: week is best for campaign measurement; bucket: month for long-term trend tracking.npx claudepluginhub 40rty-ai/shopify-admin-skills --plugin shopify-admin-skillsRead-only: parses each order's landing site and referrer URL to break down orders, revenue, and AOV by traffic source — direct, organic, paid, social, email, or referral domain.
Queries Wix orders via REST API for revenue calculation, trend analysis, and cohort analysis. Filters by date range, payment/fulfillment status, and value.
Generates a weekly WooCommerce store performance review with revenue, orders, customers, products, attribution, refunds, and prioritised next actions.