Inventory and stock

How to calculate sell-through rate for WooCommerce products

Sell-through rate is units sold ÷ units available × 100, over a period. WooCommerce doesn't calculate it, so you work it out: get units sold from Analytics › Products for the period, and units available from your stock at the start plus anything you received during it. For a batch you bought once, units available is simply the quantity you bought.

Below: the formula in detail, how to get each number from WooCommerce, a worked example, how to read the result, and why it's harder to measure for products you restock often.

The sell-through formula

Sell-through rate = units sold ÷ (stock at start of period + units received) × 100

Some people use units sold ÷ (units sold + stock at end). If no stock was lost, damaged or returned to the supplier, the two give the same answer, because start + received = sold + end.

The second version is often easier in WooCommerce, because you can read end stock today and units sold from Analytics without knowing what you received. The sell-through rate glossary entry covers both.

Where to get the numbers in WooCommerce

Number Where it comes from
Units sold in the period Analytics › Products (or Analytics › Variations), Items sold column
Stock now (end of period) Analytics › Stock, the product's Inventory tab, or a product export
Stock at start of period Not stored by WooCommerce. You need a snapshot taken at the time (an export you saved)
Units received Not stored by WooCommerce. Use your purchase orders or supplier invoices

WooCommerce shows current stock only; Analytics › Stock has no date range. That's why the "sold + end stock" version is so useful: it only needs today's stock.

The free way, step by step

  1. Go to Analytics › Products, set the date range (for example the last 30 days or the season so far) and click Download. For variable products, also download Analytics › Variations.
  2. Go to Products › All Products, click Export, and generate a CSV for current stock.
  3. Match the two lists by SKU.
  4. Add a column: sell-through = items sold ÷ (items sold + stock) × 100.
  5. Sort by sell-through.

A worked example

Say you bought 200 linen tote bags for spring. After 60 days you've sold 150 and have 50 left.

  • Sell-through = 150 ÷ (150 + 50) × 100 = 75% in 60 days.

A second product, a straw hat, was a 100-unit buy. After the same 60 days you've sold 22 and have 78 left.

  • Sell-through = 22 ÷ (22 + 78) × 100 = 22%.

The tote is on track to clear before the season ends. The hat will need a push (a feature, a bundle or a discount) or it'll still be sitting there in autumn.

How to read sell-through rate

  • Compare like with like. A 30-day rate and a 90-day rate aren't comparable. Use the same period for every product you're comparing.
  • High is good, until it's too high. 95% sell-through in a week on a product you can't restock quickly usually means you ran out and lost sales. Check Analytics › Stock for out-of-stock items with high rates.
  • Low means overstocked or under-promoted. A low rate on a new product can be a slow start. A low rate after a whole season is a buying mistake to learn from, and possible dead stock.
  • Look at variations. A product with 60% overall might be 90% in medium and 20% in extra large. That tells you how to split the next order.

Why sell-through is tricky for restocked products

Sell-through works best on a fixed batch: a seasonal buy, a limited run, a new product's first order. For a staple you restock every few weeks, "units available" keeps changing, and WooCommerce doesn't record when stock was added.

For those products, a forward-looking number is more useful: days of stock left, which is stock ÷ average daily sales. It answers "will this last until the next delivery?" rather than "did I buy the right amount?" See how to find products about to sell out and how to set reorder points.

Making sell-through easier next time

Since WooCommerce won't keep a history of stock levels for you:

  • Export your products (Products › All Products › Export) on the first day of each month or season, and keep the file. That's your start-of-period stock.
  • Record what you receive, with the date, in a spreadsheet or your supplier invoices.
  • Use the same periods every time, so this season's numbers compare with last season's.

What to do with the result

  • High sell-through, stock still on hand: reorder early and consider a bigger batch next time. Check the product's days of stock left so you don't run out before the delivery.
  • High sell-through, now out of stock: you probably under-bought. Estimate what the gap cost you with the method in what running out of stock costs a WooCommerce store, and size the next order up.
  • Middling sell-through: usually fine. Watch the trend over the next period rather than acting straight away.
  • Low sell-through late in the season: stop reordering, feature the product while there's still demand, and plan a discount before the season ends rather than after.

What Askshelf can and can't tell you

Askshelf doesn't calculate sell-through rate, and it doesn't keep stock history. It can give you the units-sold half of the formula quickly: its top products lookup ranks best sellers by units sold (up to 25) for any date range, optionally compared with an earlier period.

Askshelfexample answer

What were my top 25 products by units sold in the last 60 days?

Your top seller was the linen tote bag with 150 units, then the canvas apron (96) and the waxed market bag (71). The straw hat sold 22.Top products by units sold, last 60 days
An example on a demo store. In your store, the numbers come from your own orders.

Divide those figures by units sold plus current stock to get each product's sell-through. Askshelf's stock runway lookup then tells you which of the fast sellers will run out soon. For how the pieces fit together, see the WooCommerce inventory forecasting guide.

Common questions

Does WooCommerce calculate sell-through rate?

No. Core WooCommerce and WooCommerce Analytics don't report sell-through rate. You calculate it from units sold (Analytics › Products) and the stock you had at the start of the period plus anything you received.

What's a good sell-through rate?

It depends on the product and the period, so compare products against each other and against their own history rather than a universal target. A seasonal product you expect to clear should be close to 100% by the end of its season; a staple you restock monthly will naturally sit lower over a month.

What's the difference between sell-through rate and days of stock left?

Sell-through looks back: what share of the stock you had did you sell. Days of stock left looks forward: how long current stock will last at the recent pace. Use sell-through to judge a buy, and days left to plan the next order.

See how Askshelf handles this: Stock forecasting for WooCommerce