12 Retail KPIs Shopify Merchants Should Track to Protect Revenue
Retail KPIs are the numbers that tell you whether inventory, products, and merchandising are making or losing money. For a Shopify merchant, the useful set is short: sell-through, days of inventory, stockout rate, inventory aging, product conversion rate, revenue per product, traffic quality, collection conversion, winner visibility, gross margin, AOV, and repeat purchase rate.
Track those twelve, then act. Reorder, promote, demote, discount, or fix the product. Native Shopify reports are mainly historical, with limited forward-looking signal such as days of inventory remaining. These KPIs exist to change what happens next.
The retail KPIs that matter most for a Shopify store
Most KPI lists were written for multi-store chains, finance teams, or BI dashboards. A growing Shopify catalog does not need fifty metrics. It needs a weekly scorecard that answers five questions.
- What will stock out before the next PO lands?
- Which SKUs convert well enough to deserve more traffic?
- Which SKUs soak up ads or collection space without orders?
- Which collections help conversion, and which bury winners?
- Is margin holding while volume moves?
If a metric cannot change a reorder, a promo, a collection rank, or a pause on spend, drop it from the weekly review. Keep it in a monthly finance pack if your accountant wants it.
The 12 KPIs, grouped by the decision they support
Group metrics by the action they trigger. That is how you avoid a dashboard that looks complete and still leaves the catalog unmanaged.
| Decision | KPIs to watch | Typical trigger |
|---|---|---|
| Reorder or pull a PO forward | Sell-through rate, days of inventory, stockout rate | DOI below lead time, or stockout rate rising on a seller |
| Discount, markdown, or stop replenishing | Inventory aging, sell-through rate | Units sitting past your aging cutoff (pick a starting cutoff such as 90 days, then move it to match category and lead time) with weak sell-through |
| Promote or raise collection rank | Product conversion rate, revenue per product, winner visibility | High conversion, low sessions or buried collection position |
| Cut ads or demote in merchandising | Traffic quality, product conversion rate, collection conversion | Sessions up, orders flat, or a SKU dragging collection CR |
| Protect profitability and customer value | Gross margin, AOV, repeat purchase rate | Discounting that lifts volume while margin and AOV fall |
Inventory KPIs: sell-through, days of inventory, stockout rate, and aging
1. Sell-through rate
Sell-through rate is units sold divided by units available in a period, usually expressed as a percentage. It tells you whether a SKU is moving at a healthy pace relative to the stock you actually put on the shelf.
A high sell-through on a bestseller is a reorder signal, not a victory lap. A low sell-through on a deep buy is a cash problem.
Shopify reports sell-through as a native inventory KPI in Inventory reports and on the Products analytics bar. In the Products by sell-through rate report, Shopify defines the rate as quantity sold divided by (quantity sold plus quantity still in inventory at the end of the period). The Products page metric uses the most recent 30-day window and usually lags about two days.
Use that native figure as the default, then know its limits. Quantity sold does not reflect returns, manual adjustments, or transfer receipts. Untracked products are treated as zero units sold. Variants that have never sold may not appear. Inventory-based history only goes back to October 1, 2023. If you include incoming stock in available, calculate your own period. For the formula and a worked example, see how to calculate sell-through rate.
2. Days of inventory (DOI)
Days of inventory estimates how many days current on-hand will last at the recent sales rate. The common formula is on-hand units divided by average daily units sold.
Compare DOI to supplier lead time plus a buffer for inbound delay. If DOI is shorter than lead time on a SKU that still converts, you are already late. If DOI is many times lead time and sell-through is weak, you are tying up cash.
3. Stockout rate
Stockout rate is the share of SKUs (or of selling days) that hit zero available inventory. Track it on bestsellers first. A low catalog-wide stockout rate can hide frequent stockouts on the handful of products that actually make the month.
When a bestseller hits zero, the loss is not only that SKU's missed orders. Shoppers who wanted it leave the PDP empty-handed, the collection has a gap, and paid traffic keeps hitting a product that cannot convert. That is why stockout rate belongs on the weekly scorecard for sellers, not as a catalog-wide average that hides the damage.
4. Inventory aging
Aging buckets on-hand by how long it has sat. A common starting split is 0-30, 31-60, 61-90, and 90+ days. Treat 90 days as an example cutoff, then move it if your category turns faster or slower and if lead time is longer. Aging is the KPI that catches dead stock before it becomes a write-off.
Shopify inventory reports can show on-hand and value, but aging by receipt date usually needs a dedicated view or export. Pair aging with sell-through: old stock that still sells may only need a smaller replenishment. Old stock that does not sell needs a markdown plan. See how to read an inventory aging report for buckets and next actions.
Product KPIs: conversion rate, revenue per product, and traffic quality
5. Product conversion rate
As this scorecard's proposed operating definition, product conversion rate is orders attributed to the product divided by product-page sessions for that SKU. It answers whether the product sells when people land on its page.
This article attributes an order to the product when that SKU appears on the order. That is an operating rule for the scorecard, not a standard Shopify or analytics-tool conversion rate, and the results can differ substantially from those tools. Pick one attribution model and keep it consistent when you compare periods. Keep the denominator as product-page sessions for the same period so every SKU is comparable. Do not mix add-to-carts into this rate. Add-to-cart rate (add-to-carts divided by product-page sessions) is a separate mid-funnel metric. Mixing the two produces scorecards you cannot compare week to week.
Shopify Analytics can report conversion at store and session level. Product-level conversion needs product-page sessions and orders attributed to that product, which many merchants pull from Shopify reports or a product analytics view. A SKU with strong conversion and thin traffic is an underexposed winner. A SKU with heavy traffic and weak conversion is an ad leak or a merchandising problem. Detail and formulas live in product conversion rate.
6. Revenue per product
Revenue per product is net sales attributed to the SKU over the period. Rank the catalog by this number every week, and read how concentrated it is. A small set of SKUs often funds the rest of the assortment, but that split has to come from your ranking, not a generic rule.
Use it with conversion, not instead of it. A high-revenue SKU with falling conversion is a warning. A mid-revenue SKU with excellent conversion and spare inventory is often the cheapest place to add traffic.
7. Traffic quality (sessions vs. orders)
Traffic quality is whether sessions on a product produce orders at an acceptable rate. The practical check is simple: sessions up, conversion flat or down, revenue not keeping pace.
This is the KPI performance marketers need before they scale a product ad. Promoting a low-converting SKU spends budget to buy more of the same failure. Promoting a high-converting SKU that is already thin on inventory creates a stockout. Pair traffic quality with DOI before you raise spend.
Merchandising KPIs: collection conversion and winner visibility
8. Collection conversion rate
As this scorecard's proposed operating definition, collection conversion rate is orders attributed to sessions that viewed the collection, divided by collection sessions. It tells you whether the assortment and sort order on that page help people buy.
This article attributes the order to the collection session that preceded the purchase in the same visit. That is an operating rule for the scorecard, not a standard Shopify or analytics-tool conversion rate, and the results can differ substantially from those tools. Pick one attribution model and keep it consistent when you compare periods. Keep product clicks as their own metric: collection click-through rate is product clicks from the collection divided by collection sessions. Do not fold click-through into collection conversion. The two measure different steps, and mixing them makes collections look better or worse than they are.
One weak SKU in a hero position can drag the whole collection. One high-converting SKU in position 24 never gets a fair test. Shopify collection pages are merchandising, not decoration. For a workflow on sort order and underperformers, see Shopify collection optimization.
9. Winner visibility
Winner visibility is whether your highest-converting, in-stock products actually appear in the first screen of key collections, homepage modules, and campaigns. Measure it as the share of top-converting in-stock SKUs that sit in the first screen of your main collections. A practical starting target is the first 8-12 positions. Change the range to match your theme, grid density, and how many products shoppers see before they scroll.
If conversion leaders are buried, you are paying for traffic that lands on weaker products. Fixing visibility is often faster than buying more ads.
Store health KPIs: margin, AOV, and repeat purchase
10. Gross margin
Gross margin is (net sales minus cost of goods) divided by net sales. Track it at SKU and at store level. Volume that only appears after deep discounts is not the same as healthy demand.
Shopify can show cost and margin when cost is stored on the product or variant. If cost is missing, margin KPIs are fiction. Fill cost first, then watch margin when you markdown aged inventory.
11. Average order value (AOV)
AOV is total revenue divided by number of orders. Shopify includes AOV in standard analytics. Use it as a companion to conversion: a promo that lifts conversion while AOV collapses may not be a win.
AOV also flags assortment problems. If customers stop attaching a second item after you bury accessories in collections, AOV falls even when traffic is stable.
12. Repeat purchase rate
Repeat purchase rate is the share of customers who place a second order in a defined window (for example, 90 days as a starting window; shorten or lengthen it to match replenishment cycle and category). It is a lagging KPI, so it does not belong in a daily scramble. It belongs in the weekly or monthly scorecard so you do not grow by constantly replacing one-time buyers.
Stockouts on replenishment products and poor post-purchase merchandising both show up here. If repeat rate slides while you keep acquiring traffic, you are leasing revenue, not building it.
How to set a weekly KPI review without drowning in dashboards
Run one short weekly review, often 20-30 minutes as a starting point depending on catalog size. Same day each week. Same twelve numbers. No extra tabs unless a KPI is off.
- Export or open last week's units sold, on-hand, product sessions, product conversion, collection conversion, net sales, margin, AOV, and new vs returning customers.
- Flag SKUs where DOI is below lead time, stockouts occurred, or aging crossed your cutoff (use a starting cutoff such as 90 days, then move it for category and lead time).
- Flag SKUs where sessions rose and conversion fell, or conversion is high and sessions are thin.
- Flag collections where conversion dropped or winners sit below the fold.
- Write five actions max: reorder, markdown, promote, demote/pause ads, fix PDP or collection rank.
- Assign an owner and a due date. Review those five items first next week.
If you need a wider set of store-level metrics for a monthly board pack, keep them there. The weekly operating list should stay at twelve. For a broader map of ecommerce metrics and how they nest, see ecommerce performance metrics.
What to do when each KPI moves in the wrong direction
A KPI without a playbook becomes a report. Use this as the default response, then adjust for your lead times and category.
- Sell-through too high on a core SKU: check DOI vs lead time and pull the PO forward. Do not celebrate an empty warehouse.
- Sell-through too low: stop replenishing, then markdown by aging bucket. Do not reorder "to have it in stock."
- DOI below lead time: treat as a stockout in progress. Reduce paid traffic to that SKU if you cannot inbound fast enough.
- Stockout rate up on sellers: protect those SKUs in collections and ads until inventory lands. Redirect spend to the next best converter that is in stock.
- Aging past your cutoff rising (start with 90 days if you have not set one; move it for category and lead time): set a markdown calendar. Holding dead stock does not preserve margin if it never sells.
- Product conversion down with stable traffic: fix PDP (price, reviews, photos, variant availability) before buying more clicks.
- Product conversion high, traffic low: raise collection rank and add the SKU to campaigns only if DOI covers the extra demand.
- Traffic quality poor (sessions up, orders flat): pause or recut ads. Demote the SKU in collections until conversion recovers.
- Collection conversion down: audit the first screen (a starting point is the first 12 positions, then match your theme). Remove or bury chronic non-converters. Surface in-stock winners.
- Winner visibility down: manually pin or rank the converting, in-stock set. Recheck after every catalog import.
- Gross margin down: separate mix shift from discounting. If markdowns are the cause, cap discount depth on SKUs that still sell at full price.
- AOV down: check attach rates and whether accessories or bundles lost collection visibility.
- Repeat purchase rate down: look first at stockouts on replenishment SKUs and at whether post-purchase recommendations feature in-stock winners.
A simple Shopify retail KPI scorecard template
Copy this into a spreadsheet. One row per KPI. Update weekly. Color only the cells that need an action.
| KPI | This week | Last week | Target or trigger | Action if off |
|---|---|---|---|---|
| Sell-through rate (core SKUs) | Set by category; alert if far above or below plan | Reorder or stop replenishing | ||
| Days of inventory | Greater than supplier lead time + buffer on sellers | Pull PO or cut spend | ||
| Stockout rate (top sellers) | As close to 0% as operations allow | Protect remaining stock, inbound | ||
| Inventory aging (90+ % of units or value, example cutoff) | Trend down week over week | Markdown calendar | ||
| Product conversion rate (watchlist SKUs) | At or above your catalog median | Fix PDP or change traffic | ||
| Revenue per product (top 20) | Stable or up | Defend inventory and visibility | ||
| Traffic quality (sessions vs orders) | Orders move with sessions | Pause ads or demote | ||
| Collection conversion rate | Stable or up on money collections | Re-rank first screen | ||
| Winner visibility (% of top converters in first 12, starting target) | High share of in-stock winners above the fold | Pin / re-rank | ||
| Gross margin | At or above your floor | Cap discounts, fix mix | ||
| AOV | Stable or up | Restore attach items | ||
| Repeat purchase rate (90-day example window) | Stable or up | Fix replenishment stockouts |
You do not need a perfect historical baseline to start. Fill last week, fill this week, and write one action per red cell. After four weeks you will have a real baseline that belongs to your catalog, not a generic retail benchmark.
Where Shopify stops and a product-level view starts
Shopify's analytics and reports cover store sales, sessions, conversion, AOV, inventory on-hand, sell-through rate, and days of inventory remaining when you use Shopify's inventory tracking. They are weaker as a ranked, product-level action list: which SKU to reorder this week, which product is wasting clicks, which collection is hiding a converter.
If you already export to sheets, keep the scorecard above. If you want those signals ranked by revenue impact without a weekly rebuild, product analytics is the Skymetrics view built for conversion, traffic, and revenue per product on Shopify. Use it as the product slice of this scorecard, not as a replacement for margin, AOV, and repeat rate.
Pick twelve KPIs. Review them on a fixed weekday. Leave the meeting with five actions, not another dashboard.