Your Shopify store processes hundreds or thousands of orders, but you probably look at one number: total revenue. Average Order Value tells you a different story, whether your revenue comes from lots of small orders or fewer large ones, which product categories pull up the average, and whether your bundling or upsell strategies are actually working. Export your orders CSV to review order values and trends.
Worked Example: Did Mean Order Value Change After an Offer? (Simulated Data)
Question: Did the mean order value change after a made-up offer began?
Inputs: Simulated data, seed 17. The script makes a before group and an after group of order totals, six orders each. Before totals are whole dollars from $30 to $90 and after totals are whole dollars from $30 to $110. The script builds in a higher mean after the offer: $60 before and $70 after, a rise of $10.
Method: For each group, add the order totals and divide by the order count. Then subtract the before mean from the after mean.
Result: The before AOV is $58.33 and the after AOV is $59.00. The observed change is $0.67, far from the built-in $10. Six orders in each group is too few to see the built-in rise. This is low power, not no change: the built-in $10 and the drawn $0.67 both fit chance.
Limit: These are made-up orders. A change like this does not show that an offer caused a change in real orders, and a small sample can miss a real shift.
Complete Python script:
import random
seed = 17
rng = random.Random(seed)
orders = []
for period, bounds in (("before", (30, 91)), ("after", (30, 111))):
low, high = bounds
for _ in range(6):
orders.append({"period": period, "total": rng.randrange(low, high)})
print(f"Simulated data, seed {seed}")
for period in ("before", "after"):
values = [order["total"] for order in orders if order["period"] == period]
revenue = sum(values)
count = len(values)
aov = revenue / count
print(f"{period}: orders={count}, revenue=${revenue:.2f}, AOV=${aov:.2f}")
all_values = [order["total"] for order in orders]
print(f"all: orders={len(all_values)}, revenue=${sum(all_values):.2f}, "
f"AOV=${sum(all_values) / len(all_values):.2f}")
before_aov = sum(o["total"] for o in orders if o["period"] == "before") / 6
after_aov = sum(o["total"] for o in orders if o["period"] == "after") / 6
print(f"observed AOV change after minus before=${after_aov - before_aov:.2f}")
Printed output:
Simulated data, seed 17
before: orders=6, revenue=$350.00, AOV=$58.33
after: orders=6, revenue=$354.00, AOV=$59.00
all: orders=12, revenue=$704.00, AOV=$58.67
observed AOV change after minus before=$0.67
What Is Average Order Value Analysis?
Average Order Value (AOV) is the mean order total: add the order totals, then divide by the number of orders. The worked example above shows this calculation on simulated data. If your store made $50,000 from 1,000 orders last month, your AOV is $50. Simple, but the number alone does not tell you much. What matters is how AOV changes over time, which products drive higher baskets, and where your distribution clusters.
AOV analysis goes beyond the single number to answer the questions that actually move revenue. An apparel brand running a "buy 2, get 15% off" promotion can track whether AOV increased during the promotion window, and by how much. A home goods store can compare AOV across product categories to discover that kitchen orders average $120 while bathroom accessories average $35, directing where to focus cross-sell efforts. A subscription box company can see whether their AOV is trending up quarter over quarter as they add premium options, or if it has quietly plateaued.
The reason AOV matters so much for Shopify stores specifically is that it separates traffic from monetization. You might be spending more on ads and getting more orders, but if each order is smaller, your margins shrink. Conversely, a flat order count with rising AOV means you are extracting more value from existing traffic: usually a sign that merchandising, bundling, or upselling strategies are working. AOV analysis gives you that signal clearly.
When to Use AOV Analysis
The most immediate use case is evaluating pricing and merchandising changes. Suppose you introduced a bundle: three candles for $45 instead of $18 each. Did customers actually buy the bundle? AOV analysis can show whether mean order value changed after the bundle launch. To assess whether the bundle caused a change, compare similar groups with and without the offer, or run a controlled test, while tracking order value and order count.
Seasonal patterns are another reason to run AOV analysis. AOV can move around Black Friday and the holiday season, and the pattern varies by category. A gift-oriented store may see its highest AOV in December, while a fitness brand may peak in January when New Year's resolution buyers invest in equipment. Knowing your seasonal AOV pattern lets you plan inventory, promotions, and ad spend around the times when customers are already inclined to spend more.
AOV analysis is also critical for understanding customer segment differences. If you have a vendor or product category column in your export, the analysis breaks down AOV by segment. You might discover that orders containing products from Vendor A average $95 while Vendor B orders average $40. That insight shapes everything from which brands to feature on your homepage to which products to recommend in post-purchase emails.
Finally, AOV analysis helps you set realistic targets. If your trailing 6-month AOV is $62 with a standard deviation of $15, aiming for a $100 AOV next month is fantasy. But pushing from $62 to $68 through strategic bundling is a grounded, measurable goal, and AOV trend tracking tells you whether you are on pace.
What Data Do You Need?
You need a Shopify orders export CSV. Go to Shopify Admin, click Orders, then Export. Choose the columns and date range that cover the period you want to analyze. The tool requires three columns at minimum:
- Order ID: the unique order identifier (Shopify's
NameorIdcolumn) - Order date, when the order was placed (
Created atin Shopify exports) - Order total: the total value of the order (
Totalin Shopify exports)
Beyond the required columns, several optional columns unlock deeper analysis:
- Vendor: the product vendor or brand, enabling AOV comparison across vendors
- Line item name: product names for understanding what goes into high-value baskets
- Discount code, which discount codes were applied, so you can measure whether discounts increase or decrease AOV
- Financial status: payment status (paid, refunded, pending) to filter out non-revenue orders
Trend lines are only as steady as the number of orders behind each period, so monthly trend lines will be noisy with small samples. Spotting seasonal patterns takes data from more than one season, and year-over-year context takes at least a full year.
The tool also offers parameters to tune the analysis. You can set the aggregation period (monthly, weekly, or daily), adjust the outlier threshold to handle unusually large orders that might skew your average, and set a minimum order count for trend calculations. The default settings work well for most Shopify stores, but stores with very high volume or very high price variance may want to adjust the outlier threshold.
How to Read the Report
The report contains the analysis cards listed below, each answering a question about your order values. Here is what each one tells you and how to act on it.
Analysis Overview
This is your summary dashboard. It shows the total number of orders analyzed, the overall AOV, and high-level statistics about your order value distribution. Think of it as the vital signs, if anything looks off here (like an unusually high AOV driven by a single outlier order), you will know before diving deeper. The overview also reports the date range of your data and any preprocessing steps applied, such as outlier removal.
Data Preprocessing
Before calculating AOV, the tool cleans your data: parsing dates, handling missing values, and optionally removing extreme outliers. This card shows exactly what was done: how many rows were removed, why, and what the data looks like after cleaning. If you see a significant number of excluded orders, check whether those are legitimate large orders or data entry errors. Transparency here means you never have to wonder if the numbers are hiding something.
AOV Trend Over Time
This is usually the most actionable card. It plots your AOV by the aggregation period you chose (default is monthly), alongside the number of orders in each period. Look for the direction of the AOV trend and for sharp changes. If AOV and order volume move together, treat that as a pattern to investigate. Compare the dates and discount codes for any promotions; this pattern alone cannot show that a promotion caused the change.
For example, a Shopify store running a "free shipping over $75" promotion might see AOV jump from $58 to $78 during the promotion month. The trend card makes this immediately visible. If you see AOV dropping over time despite stable traffic, that is a signal to review your pricing, product mix, or discount strategy.
AOV by Product Category
If you mapped a vendor or line item column, this card breaks down AOV by product category. It shows the mean AOV, order count, and revenue contribution for each category. This is where you discover that your electronics category has an AOV of $180 while accessories average $25, meaning a single electronics upsell in an accessories order could double the basket value.
Pay attention to both AOV and order count together. A category with high AOV but very few orders contributes less to total revenue than a moderate-AOV category with heavy volume. The best opportunities are categories with high volume and room to grow AOV through bundling or cross-selling.
Order Value Distribution
This card shows a histogram or density plot of your order values. Order values are often right-skewed: lots of orders clustered around a lower value with a long tail of high-value orders. The shape of this distribution tells you how your AOV is composed. A tight cluster around $50 means most customers spend similarly. A wide spread with multiple peaks might indicate distinct customer segments (casual browsers vs. bulk buyers).
Understanding the distribution helps you set threshold-based promotions. If 40% of your orders fall between $40 and $50, a "free gift at $55" promotion targets exactly those customers who are close to spending more. Without seeing the distribution, you might set the threshold at $75 and miss most of your customer base.
Items per Order vs. AOV
This card plots the relationship between basket size (number of items) and order value. More items often means higher AOV, but the relationship is not always linear. Some stores find that orders with 3-4 items have the highest AOV, while orders with 5+ items are heavily discounted bundles that actually lower the per-order value. This card reveals whether your upsell strategy is increasing revenue per order or just increasing item count without proportional revenue gain.
Executive Summary
The TL;DR card synthesizes findings across all other cards into plain-language insights with AI-generated recommendations. It highlights the most important patterns: the direction of your AOV trend, your top-performing categories, distribution anomalies, and the relationship between basket size and order value. This is what you share with stakeholders who do not want to read charts.
Illustrative Scenarios (Hypothetical)
Illustrative scenario: A skincare shop compares mean order value before and after adding a sample offer. Any change is an observed pattern; the comparison alone does not show what caused it.
Illustrative scenario with made-up numbers: Suppose a furniture retailer uses the items-per-order card and sees that orders with 2 items average $890, single-item orders average $420, and orders with 3 or more items average only $750 because the third item is often a discounted add-on accessory. That pattern would point to bundle pricing as the place to look.
Illustrative scenario with made-up numbers: Suppose a seasonal gift shop runs AOV analysis across 12 months and sees November and December AOV well above the annual average. That pattern would be a reason to test whether gift sets and premium packaging options could extend into other gifting seasons.
When to Use Something Else
If you want to understand not just how much customers spend per order, but how they cluster into behavioral segments based on purchase frequency and recency, use RFM segmentation. RFM groups customers into segments like "champions" (high value, frequent, recent) and "at risk" (high value, but not seen lately). AOV tells you about order-level patterns; RFM tells you about customer-level patterns.
If you suspect your pricing is too high or too low and want to quantify how demand changes with price, price elasticity analysis is the better tool. AOV analysis shows you the result of your current pricing; price elasticity analysis shows you what would happen if you changed it.
If you want to understand geographic differences in spending, whether customers in California spend more than customers in Texas, or whether international orders have higher AOV, use geographic analysis. It breaks down revenue, order count, and AOV by location, which AOV analysis does not do on its own.
And if you need to forecast future revenue rather than analyze past order patterns, consider a time series forecast. AOV analysis shows you where you have been; forecasting shows you where you are headed.
Your turn
Bring your own data and the question you actually need answered.
MCP AnalyticsData science by email Send us your data and your question, and we will reply. ds@mcpanalytics.ai