ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides8 min read

Fill rate — the formula, the three versions, and how to measure it from Shopify data

The fill rate formula explained — order fill vs line fill vs unit fill — with a worked example from Shopify order data and how to set an honest target.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

Fill rate is the percentage of demand you actually fulfilled from stock — orders shipped complete ÷ orders placed, expressed as a percentage. It's the customer's-eye view of inventory: unlike sell-through or turnover, which measure how stock performs, fill rate measures how availability performs. The formula is simple; the honest version requires three decisions most stores skip — what counts as an "order" (whole order, order line, or unit), what window you measure, and what to do about demand that never became an order because the product was already dark. Here are the three fill-rate formulas, a worked example you can rebuild from your own Shopify data tonight, and how to set a target without inventing a benchmark.

The three fill rates (pick one, name it, stick with it)

1. Order fill rate (the strictest)

Orders shipped complete ÷ total orders × 100. An order counts as filled only if every line on it was in stock. Brutal but honest: a customer who ordered three items and got two is an unfilled order — because from their side, the experience was incomplete. For stores with multi-item carts, this number is always the lowest of the three, and it's the one that best predicts repeat-purchase damage.

2. Line fill rate (the most useful)

Order lines shipped complete ÷ total order lines × 100. Each product line on each order is a unit of measurement. If 100 orders contained 280 product lines and 12 lines couldn't ship from stock, line fill rate = (280 − 12) ÷ 280 = 95.7%. This is the version that maps directly to inventory decisions — every missed line is a SKU with a data point — and it's the default meaning of "fill rate" in most operations practice (the metric is standard in supply-chain references like the ASCM/APICS dictionaries; accessed October 2026).

3. Unit fill rate (the loosest)

Units shipped ÷ units ordered × 100. Smooths everything into volume. Useful for wholesale cases and single-SKU volume lanes; least useful for a mixed DTC catalog, because one dark hero SKU disappears inside the unit total.

For a Shopify store with a real catalog: measure line fill rate as your headline, track order fill rate alongside it to see the cart-completeness damage, and skip unit fill unless you're selling wholesale.

Worked example: a month of orders from your own data

Take a stationery shop's October: 400 orders, 940 order lines. The owner pulls line items from Shopify's order export (order data is exportable as CSV; product-level availability detail lives in Shopify's inventory reports and admin) and counts lines that shipped complete vs. lines where some or all units couldn't ship from stock:

  • Lines shipped complete: 902
  • Lines partially or fully unfilled: 38 (concentrated, as usual: 22 of them from two hero SKUs)

Line fill rate = 902 ÷ 940 = 96.0%

Now the order-level view. Of the 400 orders, 71 contained at least one unfilled line:

Order fill rate = (400 − 71) ÷ 400 = 82.3%

Read the gap between those two numbers: 96% line fill sounds fine; 82% order fill says that roughly 1 in 5 customers got an incomplete order. Same month, same data — the metric choice changes the story entirely. This is why you name your version and never quietly switch between them; a fill rate that improves 3 points after a report change is a reporting artifact, not an operations win.

One more cut worth making: rank unfilled lines by SKU. In the example, 22 of 38 misses came from two SKUs — meaning fill rate isn't a store-wide property, it's a per-SKU problem wearing a store-wide average. Fix the two heroes and line fill jumps to ~98.3% ((940−16)÷940); nothing else needs to change.

What low fill rate actually costs

Every unfilled line is a customer who wanted to give you money and couldn't, fully, that day. What happens next is well documented in retail research: in the 2002 out-of-stock study commissioned by the Grocery Manufacturers of America — 71,000 shoppers across 29 countries — when shoppers hit a missing item, 31% bought the item at another store, 26% bought a different brand, 19% substituted, 15% delayed the purchase, and only 9% left without buying anything. Translate to a fill-rate miss: the majority of affected customers still bought something, but a meaningful share took the sale to a competitor or a substitute — and the ones who switched stores for it are the expensive ones, because they demonstrated where their loyalty actually lives. The per-incident dollar cost of a missed line is the out-of-stock cost math; fill rate is how often you're paying it.

There's also a quieter cost the formula doesn't show: partial shipments and "item will ship separately" emails are a service recovery you're running at scale. The order still filled eventually; the customer's confidence didn't.

Setting a target honestly

Here's the discipline: there is no universal fill-rate benchmark you should trust, and any "best-in-class stores run 98%+" figure you read deserves the same question as every invented benchmark — measured by whom, on what mix of single-line and multi-line orders? Build your own baseline instead:

  1. Measure one full month using the line-fill method above. That's your baseline — not your target.
  2. Find the concentration. Rank unfilled lines by SKU; if the top three SKUs drive most misses (they usually do), your first target is SKU-specific, not store-wide.
  3. Set the next target one point above baseline, concentrated on those SKUs. Chasing 99.9% store-wide forces over-buying on the whole tail — each added point of fill rate is bought with either more buffer stock or fewer dark days, and only your own numbers can price that trade.
  4. Re-measure monthly, same method, same window. The trend matters more than the level.

Where fill rate fits in your measurement stack

Fill rate is one number in a small set worth watching — sell-through rate, cover, aging, and fill rate answer different questions and belong on the same one-page dashboard (the full set and the weekly rhythm around them are covered in the inventory KPIs guide). Fill rate's specific job is to be the customer-experience check on your buying discipline: strong sell-through with weak fill rate means you're buying the right things and not enough of them; weak sell-through with strong fill rate means you're well-stocked on things that don't move.

One honest limitation, as of October 2026: Shopify's native reports don't compute fill rate for you — no line-fill metric ships in the admin. InventoryX works the availability side of this problem (its Leak Report tracks out-of-stock days per SKU, ranked worst-first, with estimated lost sales labeled as estimates), which attacks the same root cause from the inventory side rather than the order side. The order-data export above stays the way to measure the customer-experience number itself.

Common questions

What is the fill rate formula? Fill rate = orders (or lines, or units) shipped complete from stock ÷ total ordered × 100. The line version — complete order lines ÷ total order lines — is the most useful for a mixed catalog. Example: 902 of 940 order lines shipped complete gives a 96.0% line fill rate.

What's the difference between order fill rate and line fill rate? Order fill rate counts an order as filled only if every line shipped complete; line fill rate scores each product line separately. Line fill runs higher and maps to inventory decisions per SKU; order fill runs lower and captures the customer's actual experience. A 96% line fill can coexist with an 82% order fill.

How do I calculate fill rate from Shopify data? Export your orders for the period, count total order lines, and count lines where demand exceeded available stock (partial or unshipped lines). Divide complete lines by total lines. Shopify doesn't report fill rate natively as of October 2026, so it's a spreadsheet job — about ten minutes per month.

What is a good fill rate? No trustworthy universal benchmark exists — published figures vary wildly by catalog mix and measurement method. Build your own baseline from one month of line-fill data, then target one point of improvement concentrated on the SKUs causing most misses. The trend and the concentration matter more than the absolute level.

Why does fill rate matter if customers still buy substitutes? Because the 2002 GMA study's breakdown shows what substitution actually costs: only 19% substituted within your store, while 31% bought elsewhere and 26% switched brands. A "filled" order with a substituted item is partly a transferred sale — fill rate measures how much demand you kept rather than redirected.

Next step

Run the line-fill calculation on last month's orders tonight — export, two counts, one division. Then rank the unfilled lines by SKU and look at the top three: that's not a store-wide availability problem, it's three specific replenishment decisions you've been underweighting. Fix those, re-measure next month, and let the number climb one honest point at a time.