From shopify-admin-skills
Groups Shopify customers by first-purchase month and tracks repeat purchase rate, order count, and revenue per cohort over time. For measuring retention and subscription health.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shopify-admin-skills:shopify-admin-customer-cohort-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Groups customers by the month of their first purchase and tracks how each cohort performs over time: how many customers repurchase, how many orders they place, and how much revenue each cohort generates in subsequent months. Cohort analysis is the gold standard for measuring retention and the health of a subscription or loyalty program. Read-only — no mutations.
Groups customers by the month of their first purchase and tracks how each cohort performs over time: how many customers repurchase, how many orders they place, and how much revenue each cohort generates in subsequent months. Cohort analysis is the gold standard for measuring retention and the health of a subscription or loyalty program. Read-only — no mutations.
shopify store auth --store <domain> --scopes read_customers,read_ordersread_customers, read_orders| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| store | string | yes | — | Store domain (e.g., mystore.myshopify.com) |
| cohort_months | integer | no | 6 | Number of months of cohorts to analyze |
| follow_months | integer | no | 3 | Number of months to follow each cohort after acquisition |
| format | string | no | human | Output format: human or json |
ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.
OPERATION: customers — query
Inputs: query: "created_at:>='<NOW - cohort_months months>'", first: 250, select id, createdAt, numberOfOrders, pagination cursor
Expected output: Customers acquired in the cohort window
OPERATION: orders — query
Inputs: query: "created_at:>='<NOW - cohort_months + follow_months months>'", first: 250, select customer { id }, createdAt, totalPriceSet, pagination cursor
Expected output: All orders to build per-customer purchase timeline
Group customers by first-order month (cohort); for each cohort, calculate repeat purchase rate and total revenue in months 1, 2, 3+
# customers:query — validated against api_version 2025-01
query CohortCustomers($query: String!, $after: String) {
customers(first: 250, after: $after, query: $query) {
edges {
node {
id
createdAt
numberOfOrders
amountSpent {
amount
currencyCode
}
defaultEmailAddress {
emailAddress
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
# orders:query — validated against api_version 2025-01
query CohortOrders($query: String!, $after: String) {
orders(first: 250, after: $after, query: $query) {
edges {
node {
id
createdAt
totalPriceSet {
shopMoney {
amount
currencyCode
}
}
customer {
id
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
Claude MUST emit the following output at each stage. This is mandatory.
On start, emit:
╔══════════════════════════════════════════════╗
║ SKILL: Customer Cohort Analysis ║
║ 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):
══════════════════════════════════════════════
CUSTOMER COHORT ANALYSIS
Cohort months analyzed: <n>
Total customers tracked: <n>
Cohort Acquired M+1 Repeat M+2 Repeat M+3 Repeat
──────────────────────────────────────────────────────────
2026-01 <n> <pct>% <pct>% <pct>%
2026-02 <n> <pct>% <pct>% <pct>%
Output: cohort_analysis_<date>.csv
══════════════════════════════════════════════
For format: json, emit:
{
"skill": "customer-cohort-analysis",
"store": "<domain>",
"cohorts": [],
"output_file": "cohort_analysis_<date>.csv"
}
CSV file cohort_analysis_<YYYY-MM-DD>.csv with columns:
cohort_month, customers_acquired, repeat_purchasers, repeat_rate_pct, total_revenue, revenue_per_customer, month_offset
| Error | Cause | Recovery |
|---|---|---|
THROTTLED | API rate limit exceeded | Wait 2 seconds, retry up to 3 times |
| Insufficient history | Store newer than cohort window | Analyze available months only |
| Guest checkout orders | No customer record | Exclude from cohort tracking |
follow_months: 6 for subscription-oriented businesses where the repeat window is longer.customer-spend-tier-tagger — customers from high-repeat cohorts are your best candidates for the Gold/Platinum tier.npx claudepluginhub 40rty-ai/shopify-admin-skills --plugin shopify-admin-skillsCalculates the percentage of customers who place 2+ orders within N days, segmented by product or collection.
Queries Wix orders via REST API for revenue calculation, trend analysis, and cohort analysis. Filters by date range, payment/fulfillment status, and value.
Analyze customer cohorts for acquisition, retention, LTV, and behavioral segmentation using time-based, channel-based, behavioral, or revenue-tier analysis.