Stuck order detection: why the 50-result cap hides leaks.
Most dashboards cap ‘stuck order’ reports at the 50 most-overdue, which means a 463-order leak hides easily below the iceberg tip.
What “stuck” actually means.
A stuck order is one that’s sitting in an intermediate state past the time the rest of the cohort has moved on. The states vary by platform, “awaiting fulfilment,” “in transit,” “out for delivery,” “awaiting customer pickup”, but the structure is the same: an order that should have transitioned by now hasn’t.
Stuck orders are operationally expensive in three ways: they tie up working capital, they generate support tickets, and they often become refunds. The earlier you find them, the cheaper they are.
Why the 50-result cap exists.
Most operational dashboards (Shopify reports, ShipStation late-shipment views, even custom BI dashboards) cap their “stuck orders” view at 50 rows. The cap exists because:
- The default sort is “most overdue first”, beyond 50, the marginal usefulness drops sharply
- 50 rows fits on a single screen, scrollable but readable
- Query performance degrades when you scan a full table for the long tail
The cap is a UI decision, not an operational one. It works fine for visible problems. It systematically hides slow-developing leaks.
The 463-order tail.
One brand we worked with saw 41 stuck orders on their daily ShipStation view, all 8-14 days overdue. They worked through them on a Monday and closed the queue.
What the dashboard didn’t show: another 422 orders that were 4-7 days overdue, sitting just below the visibility threshold. The dashboard cap meant only the worst 41 were visible; the wider tail, which represented a process problem, not a one-off, never surfaced until we ran a full-table query.
The root cause was a 3PL warehouse coverage gap on Tuesdays. Visible after the analysis, invisible from the dashboard.
What to look at instead.
Two views together give you what the cap hides:
- Distribution view, histogram of “days overdue” rather than a sorted list. A spike at 6-8 days overdue is more informative than the top 50 sorted descending.
- Cohort view, group stuck orders by inbound batch, by warehouse, by day-of-week the order was placed. Where the cluster lives tells you the root cause.
Both views require querying the full set, not the top 50. Both surface root causes the standard view systematically hides.
How
Halia handles the tail.
It ingests order-state events from Shopify, WooCommerce, ShipStation, ShipBob and continuously compares each order’s elapsed time-in-state to the expected distribution for its cohort. The output isn’t a sorted list of 50, it’s findings like:
“463 orders are running 4-7 days slower than expected through your packing stage. The cluster is concentrated in Tuesday orders shipping from Warehouse 2. Projected impact: $7,200 in refunds + 38 support tickets if pattern continues.”
Specific cluster, specific dollar impact, specific root cause to investigate. Same data your dashboard sees; different shape of analysis.
Stuck order questions, answered.
What's a normal proportion of stuck orders?
0.5-2% of in-flight orders at any given time is healthy. Above 3% sustained suggests a process problem. Below 0.3% may indicate the definition of “stuck” is too generous, i.e., you’re ignoring the slow tail.
How do I find stuck orders without writing SQL?
Most e-commerce tools let you filter orders by status + age. Shopify’s admin lets you sort orders by fulfilment status and filter by date. ShipStation has a “stale” filter. The limitation is that these views cap at 50-100 rows. For the full tail, you either need to export and analyse offline, or use a tool like Instirio that watches the full set continuously.
Should I auto-cancel old stuck orders?
Generally no, auto-cancellation creates customer support problems worse than the stuck inventory. The right move is human review with a clear escalation policy: orders stuck 7+ days get a status email to the customer; 14+ days get a manual review.
Does stuck-order rate correlate with returns?
Yes, strongly. Customers who wait an extra 5+ days for delivery return at 1.4-1.8× the baseline rate, even when the product is fine. The delay erodes the experience and reduces tolerance for minor product issues at unboxing.
How fast can
Halia surface the tail on my store?
Within minutes of first sync. The tail analysis runs against historical order data immediately on connection, so the first finding typically arrives in the first hour of a new account.
Related reading
This is one of seven places ecommerce margin leaks. See the full map in the hidden costs of ecommerce.
See these patterns on your store.
Connect in 5 minutes. First findings the same day. Free under $50K MRR.
Start free →