"Is your system doing this on purpose?"
It was 2019, and I was rolling out a WES at an e-commerce fulfillment center in Fontana — 120,000 square feet, 8,000 orders a day, more than forty people in the pick area. At 10:30 in the morning the first wave of the day dropped, and Chen, the pick supervisor, showed up at my desk waving the freshly printed task list, jabbing a finger at the paper.
"UPS picks up at two," he said. "And you've got those orders sitting at task number 180. Meanwhile you want my guys to pick the FedEx stuff first — and that truck doesn't roll until five? If we miss the UPS pickup, whose problem is that?"
Li, the system admin, tried to explain from the next desk over: "The system sorts by order cutoff time. Those FedEx orders came in last night..."
"Last night's orders aren't urgent," Chen cut him off, slapping the list on the desk. "So which is it — cutoff time, or pickup time?"
I've watched some version of that argument play out in half a dozen warehouses since. A wave just draws a circle around the day's work. What happens inside that circle — which of those hundreds of tasks goes first — is where a WES actually earns its keep. Get that sequence wrong, and the building quietly bleeds money every single day: trucks idling at the dock, overtime at the audit station, customers calling about late shipments.
Four hands on the steering wheel
Hand number one: carrier pickup time. This is the hardest constraint in the building. If an order isn't picked, audited, and sealed before the truck shows up, it waits until tomorrow. The customer sees a tracking update a day late, and your support line lights up. In plenty of warehouses I've visited, this field in the WES is either not maintained or maintained but never actually used by the priority rules. Either way, it's dead weight.
Hand number two: order cutoff time. This is the most abused hand of the four. An early cutoff means the customer ordered early. It does not mean the order is urgent. A batch that came in at 11 last night versus a batch from 9 this morning that has to catch the 2 PM UPS pickup — which one is urgent? Obviously the second one. Yet plenty of systems ship with cutoff-time sorting as the default rule. That's exactly what Chen ran into that morning.
Hand number three: pick path. Batching tasks that sit along the same route means pickers walk less and pick more per hour. Nothing wrong with this hand — but it's the hand that saves money, not the hand that saves the day. Mix up the hierarchy and things go sideways. More on that in a moment.
Hand number four: shortage risk and customer tier. Some orders are trouble from the start: locations where the system says there's stock but the shelf is empty, orders with strict lot and expiry requirements, VIP customers whose complaints land on the owner's desk. Pick those early so problems surface early, or pull them out of the regular flow entirely. Never let them sit at the tail of the wave.
Four hands all want to steer. The WES needs a way to settle the fight.

When the rules fight each other
Here's a real question. Order A: placed last night, earliest cutoff time, sitting in a location at the far end of the building, carrier pickup at 5 PM. Order B: placed this morning, later cutoff, sitting right next to the pick-zone entrance, carrier pickup at 2 PM. Which one goes first?
The answer is obvious: B. Pickup time is a hard constraint. Pick path is a soft optimization. Hard constraints always outrank soft ones.
My approach is tiers, not weighted averages. Weighting sounds scientific, but in practice it's mush — "cutoff time 40%, pickup time 30%, path 30%" — and the resulting sequence makes sense to nobody. The floor supervisor least of all. Tiers are simpler: group tasks by pickup window first, sequence by path within the window, and bump shortage-risk and VIP orders one notch earlier inside their tier.
Tiers have one more advantage: the floor can read them. The supervisor opens the task list and sees at a glance that "everything leaving in the next two hours is up front," so he actually follows the system. Otherwise he goes back to re-sequencing on a paper list, and the WES might as well not exist. I've seen more than one building where the system's sequence and the actual pick sequence were two completely different things.
Two ways I've watched this go wrong
The first way to die: sorting by cutoff time only. In 2021 I visited a 3PL in Mira Loma pushing 15,000 orders a day in peak season. Their WES priority rule was exactly one line long: sort by cutoff time. On promo days, thousands of orders flooded in overnight — all of them on slow, cheap services — and the system dutifully picked those "early" orders first. Every afternoon, the orders that actually had to catch same-day pickups piled up at the back, and the audit station ran overtime until past nine. The owner told me one peak season burned close to a hundred thousand dollars in extra overtime. After they switched the rule to pickup-time tiers, the overtime mostly disappeared. That wasn't a system problem. It was a rule problem.
The second way to die: leaving shortage risk out of the priority. Some orders are flagged from the start as likely shorts — on-hand quantity that doesn't match the shelf, tight expiry constraints. Bury those at the back of the wave, and the picker only discovers the problem when he gets there: the whole order stalls, exception handling, hunting for stock, splitting the order. One process after another, and the tail of the wave stretches out. Worse, the audit station is waiting on that order to complete a shipment, so the freight that was already picked sits there waiting too. The fix is to pull high-risk orders forward and let problems surface early. Discover a shortage at 10 in the morning and you still have time to hunt stock or transfer it. Discover it at 4 in the afternoon and all you can do is apologize to the customer.
Both ways to die share the same root cause: the priority rule was designed around fairness — first in, first out — instead of consequences. What happens if this one goes late.
Here's one thing you can do tomorrow. Open your WES, pull three waves released today, export the task lists, sort them by carrier pickup time, and compare that against the sequence the system actually assigned. If they don't line up, don't touch the weights or rewrite the formulas yet. Go check whether the pickup-time master data is even being maintained. In my experience, most priority failures trace back to one boring root cause: nobody updates pickup times. The carrier changed the schedule, nobody entered it. A holiday added an extra trailer, nobody recorded it. Get the data right first, and the rules start making sense. Get the data wrong, and no rule configuration will save you.








