Unit economics for a Shopify fashion or beauty brand
Unit economics is the contribution of an order, or of a customer’s first order, after the costs that move with it. It is not AOV. An £85 average order that returns a third of the time, ran a gift-with-purchase, and sat on paid social is not an £85 unit.
Shopify is the example stack in this piece because that is the store many fashion and beauty operators already run. The same arithmetic applies on other platforms. TwoKai is not a Shopify-only shop. A healthy unit on Magento, a headless build, or a wholesale-plus-DTC mix follows the same lines.
This article names the line items that eat a fashion or beauty order and why vanity AOV misleads. It will not produce your contribution number. That takes your COGS, your return rate, your app stack and the ads you actually ran.
Contribution after the costs that move
AOV answers “how large was the basket.” Contribution answers “what was left.”
Operators reach for AOV because it is on the home dashboard and because upsell apps promise to raise it. A larger basket can improve contribution. It can also add a second item that gets returned, a kit with worse margin, or a threshold gift that wipes the extra pounds.
In operator English, a useful first-order contribution looks like:
Revenue
minus product cost
minus shipping you did not recover
minus payment fees
minus expected returns and refunds (not last year’s folklore. This category)
minus the variable discounts that sat on the order
minus attributable variable selling cost (the ads you are willing to attach)
minus per-order app and fulfilment costs that scale with volume
What you keep is closer to a unit you can manage. What you ignore becomes a surprise in the monthly P&L.
AOV still has a job: merchandising, threshold design, and “are we selling one item or a basket.” Keep it. Do not let it stand in for unit economics.
The line items that eat an order
Fashion and beauty orders share a skeleton and diverge in the meat.
Product cost. Not the supplier quote from two seasons ago. The cost of the unit you actually shipped, including kits, samples and gift-with-purchase COGS that never appear on the PDP.
Shipping and packaging. “Free shipping” is a price architecture choice. It still sits on the unit. Beauty liquids and fashion returns both make this line move.
Payment and platform fees. Shopify (or any platform) takes a slice. Payment providers take a slice. These are small until you look at them next to a thin fashion margin.
Apps. Subscription apps are overhead. Some also tax the order: reviews, upsell, loyalty, subscription, returns portals. The right question is not “is this app good.” It is “does this cost still earn its place on the unit.”
Returns. Fashion size and “ordered two, kept one” behaviour can dominate. Beauty is usually lighter, except shade and “the texture wasn’t for me.”
Markdown. If the style will be 30% off in six weeks, a full-price AOV today is not the life of the unit.
Ads. Not a separate universe. If you paid to create the session, the unit has to know.
You do not need a data warehouse to start. You need one honest row for a hero SKU and one honest row for a problem SKU. If those two rows cannot be built from the admin, spreadsheets and ads manager you already have, the stack is not the first problem. The definitions are.
Fashion: returns, markdown and size
Fashion unit economics are a size-and-time problem as much as a price problem.
A converting /products/linen-shirt session is not finished. If a third of those shirts come back, your true revenue is not the checkout total. Your true shipping cost is not the outbound label. Your true CAC is higher than the ads manager showed, because some of those “customers” were fittings.
Markdown is the other clock. Drops and /collections/new-in create a launch window where AOV and ROAS look healthy. The unit you should care about is contribution across the style’s life: launch, mid, sale, leftover sizes. A good week-one AOV can fund a bad week-six clearance.
Habits that help. Not a full method:
- put a return-rate assumption on the unit by category, not one store-wide percentage
- do not treat exchanged items as free; they still consume shipping and attention
- when you raise AOV with a second item, check whether that item’s return rate is worse than the hero’s
If your fashion contribution only works at full price, you do not have a merchandising problem yet. You have a unit that cannot survive the calendar you already run.
Beauty: COGS, kits and replenishment
Beauty units often look cleaner on returns and messier on COGS.
Kits, sets and gift-with-purchase hide cost. The PDP shows a generous basket. The warehouse ships a full-size hero plus a deluxe sample that was never in the margin model. Conversion and AOV rise. Contribution may not.
Replenishment is the offset. A moisturiser with a real eight-to-twelve-week empty date can justify a weaker first-order contribution if the second order arrives without the same discount and without a second CAC. That “if” is the whole game. Kits that never lead to the hero SKU are fashion-shaped one-offs wearing a beauty label.
Shade and colour behave closer to fashion: higher uncertainty, more returns, weaker replenishment. Skincare hero SKUs and colour should not share one beauty unit template.
Shipping liquids, hazardous rules and temperature stories also move the unit in ways a clothing brand does not see. Include them when they are real. Do not invent them as atmosphere.
Ads and apps sit on the same unit
A common failure is to review “the store” and “the ads” as two P&Ls.
The customer paid once. The unit has to survive both.
If paid social created the session, attaching no ad cost to the Shopify order makes every product look more profitable than the business is. If you attach all brand spend to the first SKU, you will kill products that also get email and direct. Pick a rule you can defend for a quarter: first-click, a simple paid-only attach for cold traffic, or a contribution view that shows with ads and without ads side by side. Perfect attribution is not required. A stable rule is.
Apps are the quieter leak. A store can accumulate a reviews app, an upsell app, a returns app, a loyalty app and a subscription layer, each justified in isolation. Together they take a fee, a percentage, or a hit on speed that then hits conversion. Prioritise the apps that change a number you measure. Integrate only what the unit can carry. Automate the rest away if it is not earning its place.
This is not an argument against apps or against paid. It is an argument against reviewing AOV in one tab and spend in another and calling the gap “brand.”
Shopify as an example stack, not the only one
On Shopify you can usually get close to a unit view with orders export, product costs if you maintain them, the reports you already pay for, and the ads platforms. Shopify Payments, Shopify’s own conversion rate, and the app charge list are convenient because they live in one admin. Convenience is not exclusivity.
If you run another stack, the line items do not change. You will pull fees from a different invoice and orders from a different export. Headless builds add engineering cost that is mostly overhead, not per-order, unless you have built a custom checkout you maintain like a product.
Wholesale plus DTC is a different unit again. Do not blend a wholesale carton with a DTC /checkout order and call it AOV. The contribution stories are not the same business wearing one dashboard.
Use Shopify in examples because readers recognise /products/, /collections/, /cart and /checkout. Build the economics around the business, not around a preferred platform.
When a “good” AOV is still a weak unit
Tripwires:
- AOV up, contribution down → kits, gifts, or a second item that returns.
- AOV up, conversion down → you raised the basket and lost the marginal shopper. Sometimes correct. Measure.
- AOV stable, paid up, bank down → ads and returns are eating a unit the dashboard still likes.
- AOV higher on sale weeks → you may be measuring discount depth, not a healthier basket.
- Fashion AOV fine, return rate quietly up → size and “order two sizes” after a campaign.
The useful response is not an AOV project. It is one hero SKU and one problem SKU, contribution with and without ads, including the return assumption you actually observe. If you cannot produce those two rows, the missing work is definitions and joins. Not a new AOV app.
Cross-link this family in your head with CAC and payback. Unit economics on the first order is what makes a “good CAC” possible. LTV stories that skip the first-order unit are novels.
What's missing
Unit economics is contribution. AOV is a supporting signal. Fashion and beauty line items usually move the number. This page cannot tell you your contribution after ads, returns and apps. That is an investigation on your orders and your stack. Shopify or otherwise. You can check one typed order at the ROAS calculator.
Related: Is your ROAS target making you money? · MER vs ROAS: which number do you spend against? · What is a good ROAS for ecommerce? · Check break-even on one order
If you want that investigation, Explore an opportunity with TwoKai.