How to calculate Order Fill Rate

Order fill rate is the percentage of ordered quantity that was shipped from stock on the first attempt.

Formula

Fill rate = units shipped ÷ units ordered × 100

SQL query

This example assumes: order_lines(order_id, product_id, qty_ordered, qty_shipped). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.

SELECT product_id,
       SUM(qty_shipped) * 100.0 / NULLIF(SUM(qty_ordered), 0) AS fill_rate_pct
FROM order_lines
GROUP BY product_id
ORDER BY fill_rate_pct;

Common mistakes that make Order Fill Rate wrong

  • Units back-ordered and shipped later should not count as filled on the first attempt.
  • Line fill rate and order fill rate differ; say which.
  • Cancelled lines should be removed from both sides.

Ask for Order Fill Rate in plain English

Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.

  • What is our fill rate by product?
  • Which customers had the lowest fill rate this quarter?

Frequently asked questions

What is Order Fill Rate?
Order fill rate is the percentage of ordered quantity that was shipped from stock on the first attempt.
How do you calculate Order Fill Rate?
Fill rate = units shipped ÷ units ordered × 100. The SQL example on this page shows the same calculation against a simple table.
What commonly goes wrong when calculating Order Fill Rate?
Units back-ordered and shipped later should not count as filled on the first attempt.