Warehouse KPIs you can measure honestly
The 10 warehouse KPIs worth tracking, with formulas, worked examples and the measurement rules that keep them honest: date basis, scope and exclusions.
This guide covers the ten warehouse KPIs most operations actually need, with the formula for each, a worked example and the traps that make a number look better than the floor feels. It also covers the measurement rules you should write down before the first report runs, because a KPI without a defined date basis and scope is an opinion. Use it to build a short scorecard your team can trust.
How to choose warehouse KPIs
A KPI earns its place when someone will change what they do because of it. If a number moves and nobody reacts, it is decoration. Start with the promises the warehouse makes: stock records match the shelves, received goods become sellable quickly, orders ship complete and on time, and the building is used well. Each of the ten metrics below maps to one of those promises.
Keep the scorecard small. Five to eight metrics reviewed weekly beats thirty reviewed never. Give each one an owner, a target and a defined action when it misses. Mix lagging measures (on-time shipment, fill rate) with leading ones (dock-to-stock time, count accuracy) that warn you before customers notice.
- Tie every metric to a decision: staffing, slotting, supplier follow-up or process change.
- Name one owner per metric, even if many people influence it.
- Review on a fixed rhythm: daily for flow metrics, weekly or monthly for accuracy and space.
- Retire a metric that has not triggered an action in a quarter.
Define the date basis and scope before you measure
Most bad warehouse numbers are not calculation errors. They are definition errors. The same on-time rate can be 97% or 88% depending on whether you count orders that shipped in the period or orders that were due in the period. The first version quietly drops every late order that has not shipped yet, which is exactly the order you most need to see.
Write a one-line definition for each KPI that answers four questions: which date puts a record in the period, what the unit of count is (orders, lines or units), what is excluded and why, and where the clock starts and stops. Then keep it stable. If you change a definition, restate history or mark the break on the chart, otherwise the trend line is lying.
- Date basis: due date, created date, received date or shipped date. Pick one per metric and say so.
- Unit of count: an order with one missing line is one late order but only one late line out of many.
- Exclusions: cancelled orders, customer-requested holds, damaged-on-arrival receipts. Keep the list short and visible.
- Clock: calendar hours or working hours, and whether weekends and public holidays count.
- Distribution: report the 90th percentile next to the average for any time-based metric.
Inventory accuracy
Inventory accuracy tells you whether the system can be trusted to allocate stock. Measure it at the level where picking happens: the combination of location, SKU and, where tracked, lot. The formula is simple: records counted with no variance divided by records counted, times 100.
For example, you count 400 location-SKU records in a week and 388 match the system exactly. Inventory accuracy is 388 ÷ 400 = 97%. Do not net variances across records. If bin A-01-02 is up 10 units of OIL-008 and bin A-01-03 is down 10, the total quantity is right but two records are wrong, and a picker will be sent to an empty bin. For tolerance-based accuracy on high-volume, low-value items, state the tolerance in the definition.
Sample fairly. Counting only fast movers, or only locations that were just replenished, inflates the number. A cycle counting program that covers every location on a schedule gives you a clean denominator; the cycle counting guide explains how to set one up, and the inventory accuracy glossary entry covers the variants.
Dock-to-stock time
Dock-to-stock time measures how long received goods take to become available for allocation. Formula: time stock became available at its storage location minus time receiving started, averaged across receipts. Decide whether the clock starts at truck arrival or at the first scan. Arrival captures dock congestion; first scan isolates the receiving and putaway work.
Example: a truck is checked in at 08:10, the last pallet is put away and available at 14:40. Dock-to-stock for that receipt is 6 hours 30 minutes. If most receipts close in four hours but a few take two days, the average hides the problem. Report the 90th percentile and list the slowest receipts by reason: waiting for quality inspection, unknown items, missing purchase order, no putaway space.
Receipts that go into quarantine deserve their own line. They are not available by design, so either stop the clock at release or report them separately.
Order cycle time, on-time shipment and order fill rate
These three outbound KPIs are what customers feel.
Order cycle time is shipped time minus order release time. Use release rather than creation if orders sit in a payment or credit hold that the warehouse does not control, and say which one you use. Example: an order released at 11:05 and shipped at 16:20 has a cycle time of 5 hours 15 minutes. Orders received after the daily cut-off will always look slow on a calendar clock, so either measure working hours or measure against the promised ship time.
On-time shipment is orders shipped by their promised date divided by orders due in the period. The denominator is orders due, not orders shipped. Example: 620 orders were due this week, 590 shipped on or before their due date, 18 shipped late and 12 have not shipped. On-time shipment is 590 ÷ 620 = 95.2%. Counting only shipped orders would give 590 ÷ 608 = 97.0% and hide the 12 still waiting.
Order fill rate is orders shipped complete on the first shipment divided by orders shipped. Example: 500 orders shipped, 470 with every line and unit complete: 94%. Track line fill rate (lines complete ÷ lines ordered) and unit fill rate beside it. A 94% order fill rate with a 99.5% line fill rate points to many orders each missing a single line, often one out-of-stock SKU.
- Cycle time: state release vs creation and working vs calendar hours.
- On-time: denominator is orders due in the period, including those not yet shipped.
- Fill rate: say whether a backorder shipped later counts as complete. It should not.
Pick accuracy and lines per hour
Pick accuracy is lines picked correctly divided by lines picked. The hard part is finding the errors. Errors caught at a scan-verified pack station are internal errors; errors reported by customers are escaped errors. Track both. A high internal catch rate with few escapes means verification works. Few internal catches and many complaints means verification is being skipped.
Lines per hour is a throughput measure: lines picked divided by direct picking hours. Example: pickers logged 16 hours on pick tasks and picked 1,120 lines, so 70 lines per hour. Use time on task, not paid shift hours, or the number mixes productivity with breaks, meetings and replenishment work.
Compare lines per hour only within the same method and area. A batch picker in a dense small-parts zone and a pallet picker in bulk storage do different jobs. Lines per hour also rewards speed alone, so always read it next to pick accuracy.
- Pick accuracy = correct lines ÷ lines picked × 100.
- Shipping accuracy = orders with no customer-reported error ÷ orders shipped × 100.
- Lines per hour = lines picked ÷ direct pick hours.
Inventory turnover and storage utilization
Inventory turnover is cost of goods sold for a period divided by average inventory value for the same period. Example: annual cost of goods sold of 1,200,000 and average inventory of 200,000 gives 6 turns, or about 61 days on hand (365 ÷ 6). Use the average of several snapshots, not just the opening and closing balance, if stock swings seasonally. In a 3PL, the client owns the stock, so measure turnover per client in units if you lack their cost data. The inventory turnover calculator does the arithmetic.
Storage utilization is occupied positions divided by usable positions. Example: 1,800 of 2,100 pallet positions occupied is 85.7%. Position-based utilization is simple and matches how pallet racking fills. Cube-based utilization (volume of stock ÷ usable volume) is more precise for shelving but needs accurate product dimensions.
Higher is not always better. Past a point, putaway starts hunting for space, replenishment gets blocked and pickers work around overflow. Find your own ceiling by noting when those symptoms appear, and plan space before you reach it.
Return processing time
Return processing time runs from the moment a return arrives at the dock to the moment its disposition is complete: restocked as available, moved to quarantine, sent back to the supplier or scrapped. Example: a carton of returned serums arrives Monday at 09:00 and is graded and restocked Tuesday at 15:00, a processing time of 30 hours.
This metric matters because an unprocessed return is invisible stock. It cannot be sold, and the customer is often waiting for a refund or exchange that depends on your grading. Split the measure by disposition. Restocking should be fast; inspection for a suspected defect can reasonably take longer.
Vanity metrics and how to avoid them
A vanity metric looks good in a review and changes nothing on the floor. Units shipped per month is the classic one. It goes up when demand goes up, whatever the warehouse does. Most vanity metrics are real metrics with a bad definition.
- Totals without a rate: report per labor hour or per order, not raw volume.
- Averages without a tail: one bad day a week disappears in a monthly average.
- Accuracy after the fix: adjusting stock before the count, then counting, measures nothing.
- Denominators that shrink: on-time over shipped orders, or accuracy over only easy locations.
- Silent exclusions: cancelled or on-hold orders removed without a visible reason.
- Targets that are always met: a KPI at 100% for a year is either solved or measured wrong.
How NextStock reports warehouse KPIs
NextStock records every quantity change as a movement with a reason, a reference, a user and a timestamp, so KPIs come from the same ledger the floor works from rather than a separate spreadsheet. Built-in KPI reports cover on-time shipment, order cycle time, dock-to-stock time, fill rate, count accuracy and operator throughput, and you can schedule them for delivery by email. Alerts flag late orders, expiring stock and records waiting on a decision.
Metrics without a built-in report, such as inventory turnover, storage utilization and return processing time, can be calculated from CSV exports of the relevant records. See reports and alerts for what each report includes.
A practical NextStock guide. Adapt it to your operation and validate with your team.