Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
40rty-ai avatar

Shopify Admin Average Order Value Trends

  • 7 installs
  • 173 repo stars
  • Updated June 26, 2026
  • 40rty-ai/shopify-admin-skills

shopify-admin-average-order-value-trends is a Claude Code skill that tracks Shopify Average Order Value over time buckets and segments it by new versus returning customers.

About

shopify-admin-average-order-value-trends calculates Average Order Value over configurable daily, weekly, or monthly buckets and segments results by new versus returning customers. An operator runs it to measure the impact of upsells, bundles, or free-shipping thresholds on AOV. It is read-only and exports a CSV of AOV per period and segment.

  • Calculates AOV over daily, weekly, or monthly buckets
  • Segments AOV by new vs. returning customers
  • Read-only Shopify Admin skill that exports a CSV

Shopify Admin Average Order Value Trends by the numbers

  • 7 all-time installs (skills.sh)
  • Ranked #1,587 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 1, 2026 (Skillselion catalog sync)
At a glance

shopify-admin-average-order-value-trends capabilities & compatibility

Free; requires an authenticated Shopify session with read_orders and read_customers scopes.

Capabilities
average order value trends · shipping cost analysis · carrier performance comparison
Use cases
data analysis
Pricing
Free
From the docs

What shopify-admin-average-order-value-trends says it does

Read-only: tracks AOV over time buckets and segments by new vs. returning customers.
SKILL.md
Calculates Average Order Value (AOV) over configurable time buckets (daily, weekly, monthly) and segments results by new vs. returning customers.
SKILL.md
npx skills add https://github.com/40rty-ai/shopify-admin-skills --skill shopify-admin-average-order-value-trends

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs7
repo stars173
Last updatedJune 26, 2026
Repository40rty-ai/shopify-admin-skills

What it does

Track Shopify Average Order Value trends over time and by new vs. returning customer segments.

Who is it for?

Operators measuring how upsells, bundles, or free-shipping thresholds move AOV over time.

Skip if: Segmenting guest-checkout orders as new vs. returning, which lack a customer record.

When should I use this skill?

You want to see AOV trends by week or month and by customer segment.

What you get

AOV per time bucket and per new/returning segment, exported as a CSV.

  • CSV of AOV per period, split by new and returning customers

By the numbers

  • Default 90-day lookback window
  • Buckets: day, week, or month
  • Queries up to 250 orders per page

Files

SKILL.mdMarkdownGitHub ↗

Purpose

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.

Prerequisites

  • Authenticated Shopify CLI session: shopify store auth --store <domain> --scopes read_orders,read_customers
  • API scopes: read_orders, read_customers

Parameters

ParameterTypeRequiredDefaultDescription
storestringyesStore domain (e.g., mystore.myshopify.com)
days_backintegerno90Total lookback window
bucketstringnoweekTime bucket: day, week, or month
formatstringnohumanOutput format: human or json

Safety

ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.

Workflow Steps

1. 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

2. Classify each order: if customer.numberOfOrders == 1 → new customer order; else → returning

3. OPERATION: customers — query (optional enrichment for cohort context) Inputs: Recent customers for new vs. repeat segmentation validation

4. Group orders by time bucket; calculate AOV per bucket and per customer segment

GraphQL Operations

# 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
    }
  }
}

Session Tracking

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"
}

Output Format

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 Handling

ErrorCauseRecovery
THROTTLEDAPI rate limit exceededWait 2 seconds, retry up to 3 times
Guest checkout ordersNo customer recordCount in totals but exclude from new/returning segmentation
No orders in windowNew store or quiet periodExit with 0 AOV

Best Practices

  • A free shipping threshold increase or bundle introduction should show up as an AOV lift in the week/month it launched — use this report to measure the impact.
  • Returning customer AOV is typically higher than new — a shrinking gap may indicate loyalty erosion.
  • bucket: week is best for campaign measurement; bucket: month for long-term trend tracking.
  • Guest checkout orders cannot be segmented as new vs. returning — for stores with high guest checkout rates, the segmentation will under-count new customers.

Related skills

FAQ

Can it separate new and returning customers?

Yes. It classifies an order as a new customer order when customer.numberOfOrders equals 1, otherwise returning.

What time buckets are supported?

Daily, weekly, or monthly buckets, set by the bucket parameter, with a default 90-day lookback.

Automation & Workflowsecommercefinance

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.