TL;DR: Sell through rate is units sold divided by units received, multiplied by 100, over a set time window. Shopify brands use it as a trigger — by week 4, 8, and 12 — to reorder, discount, or kill a SKU. Track it weekly at the SKU level, pair it with inventory turnover monthly, and tie low-STR SKUs to writedowns at quarter-end.
Sell through rate is the percentage of inventory a store sold during a period, divided by the inventory it received in that same period. It's the fastest signal a Shopify operator has for whether a SKU is working. This guide skips the textbook definition and gets into how 100+ DTC brands actually use sell through rate to trigger reorders, plan markdowns, and avoid the dead-stock spiral.
What is sell through rate, in one sentence?
Sell through rate (STR) is units sold divided by units received, multiplied by 100, over a defined time window. If a Shopify brand received 1,000 units of a hoodie and sold 650 of them in 8 weeks, the 8-week STR is 65%. The window matters more than the number itself.
The competitors ranking for this keyword stop right here. They give the formula, quote a vague "good benchmark," and move on. That's not how brands actually run inventory. The real question isn't what STR means — it's what to do when STR is 35% in week 8 and your supplier needs a 60-day lead time on a reorder.
STR is not a report card. It's a trigger. By week 4, week 8, and week 12, it tells operators to reorder, mark down, or kill the SKU.
Takeaway: Treat sell through rate as a decision trigger tied to a time window, not a static KPI. Always pair the percentage with the number of weeks since the product launched or restocked.
How do you calculate sell through rate for a Shopify SKU?
The formula is units sold ÷ units received × 100. The trick on Shopify is choosing the right denominator. Some operators use units received in the period. Others use units on hand at the start of the period. Both are valid. What matters is using the same definition every week so trends are comparable.
Two common denominators
| Method | Denominator | Best for |
|---|---|---|
| Period STR | Units received during the period | Launch and reorder cohorts |
| Weekly STR | Units on hand at start of week | Ongoing weekly forecasting |
| Lifecycle STR | Total units ever received for SKU | End-of-season markdown decisions |
Here is a quick comparison of the two denominators most Shopify brands choose between:
STR denominator: period vs. lifecycle
- Period STR — units sold this period ÷ units received this period. Best for launches and seasonal drops. Resets every cycle. Easy to compare week over week.
- Lifecycle STR — total units sold ÷ total units received across all POs. Best for evergreen SKUs. Smooths out reorder lumps. Harder to compare across SKUs at different ages.
- Weekly STR — units sold this week ÷ units on hand at start of week. Best for ongoing forecasting. Tightest feedback loop. Most operators run this in their Friday standup.
A typical example: a candle brand receives 500 units of a new scent on June 1. By June 29, they've sold 180 units. Period STR for month one is 180 ÷ 500 = 36%. If they received a 300-unit reorder on July 1 and sold 220 units in July, lifecycle STR through July is 400 ÷ 800 = 50%.
Takeaway: Pick one denominator definition and stick with it across every SKU. Most Shopify brands Ottit works with use period STR for launches and weekly STR for ongoing forecasting.
What's a good sell through rate by week 4, 8, and 12?
Across the 100+ Shopify stores Ottit closes books for, healthy lifecycle STR lands in a predictable range for most categories. The exact target depends on lead time, margin, and whether the product is seasonal or evergreen. The pattern below covers DTC apparel, accessories, and CPG with 60-90 day lead times.
| Week | Healthy STR | Watch zone | Danger zone |
|---|---|---|---|
| Week 4 | 25-40% | 15-24% | Under 15% |
| Week 8 | 55-75% | 40-54% | Under 40% |
| Week 12 | 75-90% | 60-74% | Under 60% |
| Week 16 | 85-95% | 70-84% | Under 70% |
Sell through rate benchmarks by week and channel
- Week 4, healthy: 30-40% lifecycle STR on a new launch. Reorder window opens here if lead time is 60+ days.
- Week 8, healthy: 60-70% lifecycle STR. If a SKU is below 40%, plan the markdown now — not in week 14.
- Week 12, healthy: 80-90% lifecycle STR. Sub-60% by week 12 signals a writedown review at quarter-end.
- Amazon and marketplaces, week 8: 40-60% STR is typical for non-bestsellers because of fulfillment lag and competing listings.
- Wholesale weekly STR at the retailer: 5% is weak, 15%+ earns a reorder.
- Faire and B2B marketplaces, monthly: 30-50% STR is healthy for non-replenishment categories.
Replenishment categories like supplements, coffee, and skincare run on different math. A typical replenishment SKU should hit 25-40% monthly STR forever, with subscriber demand carrying the floor. For those brands, attribution tools like Triple Whale help isolate whether new demand or subscriber demand is driving the number.
Wholesale STR is reported differently. A retail buyer measuring your brand at their store cares about weekly STR. A 5% weekly STR at a boutique is poor. 15%+ is strong and earns a reorder. Marketplace STR on Amazon or Faire is measured monthly, with 30-50% considered healthy for non-replenishment categories.
If a SKU hasn't crossed 40% STR by week 8, brands rarely sell through at full price. Plan the markdown now, not in week 14.
Takeaway: Build the week 4 / week 8 / week 12 grid into a weekly inventory standup. Every SKU should be colored green, yellow, or red. The reds need action that week.
When should a Shopify store reorder versus discount?
The reorder-versus-discount decision is the highest-leverage call STR drives. Reorder too late and the SKU goes out of stock at peak demand. Discount too early and you destroy margin on inventory that would've sold anyway. The right answer depends on STR, lead time, and weeks of supply remaining.
The reorder decision matrix
| Lifecycle stage | STR | Weeks of supply left | Action |
|---|---|---|---|
| Week 4 | Above 40% | Less than lead time | Reorder now, larger PO |
| Week 4 | 25-40% | Greater than lead time | Reorder same quantity |
| Week 4 | Under 15% | Any | Pause, test promo before reorder |
| Week 8 | Above 75% | Less than lead time | Reorder, consider line extension |
| Week 8 | 40-55% | 1-2x lead time | Hold, watch week 10 trend |
| Week 8 | Under 40% | Any | Plan markdown cadence |
| Week 12 | Under 60% | Any | Markdown 15-25%, reallocate ad spend |
| Week 16 | Under 70% | Any | Liquidate via Faire, Whatnot, or bundle |
Reorder vs. discount decision rules
- STR ≥ 60% by week 4, lead time 60+ days, weeks of supply < 12: reorder now. Out-of-stock risk is real.
- STR 40-60% by week 4, weeks of supply 12-20: hold. Reassess at week 8 before committing capital.
- STR < 40% by week 8: plan a 15% markdown for week 12. Do not reorder.
- STR < 50% by week 12: start the markdown ladder. 15% off in week 12, 25% off in week 16, bundle or liquidate by week 20.
- STR < 60% by week 16: flag for inventory writedown review at quarter-end close.
A common mistake: brands look at STR in isolation. A 50% STR in week 4 with a 90-day lead time means by the time the reorder lands, the original buy will be gone for two months. Weeks of supply remaining and lead time matter as much as the STR percentage.
Markdown depth follows a curve too. Most brands Ottit works with start at 15% off in week 12, move to 25% off in week 16, and bundle or liquidate by week 20. Going straight to 40% off in week 12 trains the customer to wait.
Takeaway: Build a reorder matrix that combines STR, weeks of supply, and lead time. Don't make the reorder call on STR alone.
How does sell through rate connect to inventory turnover and DSI?
STR is the leading indicator. Inventory turnover and days sales of inventory (DSI) are the lagging indicators. STR tells operators what's happening this week at the SKU level. Turnover and DSI tell the CFO what happened last quarter at the portfolio level. All three should move together — if they don't, something is broken.
Here's how they connect in a typical Shopify P&L close. STR drives reorder and markdown decisions in real time. Those decisions show up two months later in inventory turnover and days sales of inventory. If STR is healthy but turnover is dropping, the brand is over-buying on reorders.
How the three metrics relate
| Metric | Scope | Time horizon | Used by |
|---|---|---|---|
| Sell through rate | Single SKU or category | Weekly to quarterly | Buyer, ops, marketing |
| Inventory turnover | Full portfolio | Quarterly to annual | CFO, finance |
| Days sales of inventory | Full portfolio | Quarterly to annual | CFO, lender, investor |
STR vs. turnover vs. DSI — at a glance
- Sell through rate: SKU-level, weekly cadence, leading indicator. Triggers reorder, markdown, and kill decisions.
- Inventory turnover: portfolio-level, quarterly cadence, lagging indicator. Shows how many times the brand sold through total inventory in a year. 4-6x is healthy for most DTC brands.
- Days sales of inventory (DSI): portfolio-level, monthly or quarterly, lagging indicator. Shows average days inventory sits before selling. 60-90 days is healthy for most DTC categories.
A brand with a 65% blended STR at week 8, 6x annual turnover, and 60-day DSI is in a healthy operating zone. A brand with 65% STR but 3x turnover and 120-day DSI has a tail of dead stock dragging the portfolio down. The STR average is hiding the problem at the SKU level.
Takeaway: Review STR weekly at the SKU level. Review turnover and DSI monthly at the portfolio level. When they disagree, dig into the bottom 20% of SKUs by STR — that's almost always where the cash is trapped.
How should Shopify brands track STR by channel?
Blended STR across all channels hides bad decisions. A SKU at 70% blended STR might be 90% on DTC and 30% on Amazon, which means the Amazon allocation was wrong. Most Shopify brands track STR separately for DTC, wholesale, marketplace, and retail when they have multi-channel distribution.
Typical channel STR patterns
- DTC (Shopify.com store): highest STR for new launches because the brand controls merchandising. Week 8 STR of 60-80% is normal.
- Amazon and marketplaces: slower STR because of fulfillment lag and competing listings. Week 8 STR of 40-60% is typical for non-bestsellers.
- Wholesale: lumpy. STR is measured by the retailer, not the brand. Brands track sell-in (units shipped to retail) vs. sell-out (units sold by retail) instead.
- Faire and B2B marketplaces: similar to wholesale but with shorter cycles. Track weekly reorder rates by retailer.
- Retail pop-ups and showrooms: high STR windows. A 30% weekly STR during a 6-week pop-up is the benchmark.
Allocation between channels is where STR really pays off. If DTC STR is 80% and Amazon STR is 30% on the same SKU, the next reorder should weight DTC heavier. Tools like Cin7 and ShipBob's inventory dashboard let operators split allocation by channel before the PO ships, not after.
Takeaway: Never make allocation decisions on blended STR. Split it by channel before every PO and rebalance allocation when the gap between channels exceeds 20 percentage points.
What does low STR do to your financial statements?
Low STR doesn't show up as a line on the income statement, but it drives two big accounting events: markdowns and inventory writedowns. Both reduce gross margin. Bookkeepers serving Shopify brands typically book a markdown reserve when STR signals a SKU won't sell at full price, then true it up when the actual discount runs.
Here's a realistic journal entry. A brand has 200 units of a slow SKU on the books at $18 landed cost. STR at week 12 is 45%, well below the 75% target. The team plans a 30% markdown that will reduce net realizable value below cost. Under lower-of-cost-or-market, the inventory needs to be written down.
In this case no writedown is needed because NRV is still above cost. But if the markdown went to 50% off and NRV dropped to $15 per unit, the writedown would be ($18 - $15) × 200 = $600. The journal entry looks like this: Dr. Inventory Writedown Expense $600 / Cr. Inventory Reserve $600.
Brands using QuickBooks or Xero with the A2X documentation for Shopify accounting for payout sync still need to book inventory adjustments manually or through their ERP. STR-driven markdowns are one of the most missed entries in monthly closes for Shopify brands under $10M in revenue. For sales tax and revenue recognition on the markdown side, we use Bookkeep across the 100+ Shopify stores Ottit closes books for monthly.
Takeaway: Tie STR to a quarterly inventory review. Any SKU with lifecycle STR below 60% by week 16 should be evaluated for a writedown, not just a discount.
How do you pull STR weekly inside Shopify?
Shopify Admin doesn't have a dedicated sell through rate report, but the data is all there. Most brands pull units sold from the Sales by Product report and units received from purchase orders or transfers. The cleanest path is a weekly export to a sheet, or an inventory app that calculates STR automatically.
The weekly STR workflow
- Pull Sales by Product report from Shopify Admin > Analytics > Reports for the trailing week.
- Pull units received from your PO system or inventory app (Cin7, Inventory Planner, ShipBob) for the same period and for lifecycle-to-date.
- Calculate weekly STR (units sold this week ÷ units on hand at start of week) and lifecycle STR (total units sold ÷ total units received) per SKU.
- Tag each SKU green/yellow/red based on the week 4 / 8 / 12 grid.
- Review reds in a 30-minute Friday standup with merchandising and ops.
- Update reorder dates and markdown calendar in the same sheet.
Apps that automate this for Shopify brands include Inventory Planner, Cin7, and Stocky (the Shopify-native app included with POS Pro). For attribution-linked STR — showing which ad campaigns drove the sell through — most operators layer in Triple Whale or Northbeam.
Operators should also check the Shopify Help Center guide to payouts when reconciling unit sales against revenue, since refund timing affects net STR. Returns processed in a later week reduce the gross STR you reported earlier — most brands run a monthly trueup.
Takeaway: Set up a weekly STR sheet by Friday EOD, with the week 4 / 8 / 12 grid built in. Make it the agenda for a 30-minute inventory standup. The brands that do this catch problems 4-6 weeks earlier than brands that don't.
Related Ottit playbooks
- Inventory Turnover Ratio for Shopify Brands — the portfolio-level counterpart to STR.
- Days Sales of Inventory: The Shopify Operator's Playbook — DSI math and how it pairs with STR.
- Landed Cost for Shopify Brands — getting unit cost right so STR-driven writedowns are accurate.
- Contribution Margin for Shopify Brands — the margin math behind markdown decisions.
- How to Record Inventory Accounting Journal Entries — the bookkeeping side of writedowns.