Split vs. Consolidation — The Core Trade-off When a customer’s order contains multiple items, and those items reside in different warehouses, the system faces a classic logistics dilemma:
Order: 3 items (A in WH New York, B in WH Chicago, C in WH Miami) Destination: Customer in New York Option 1: SPLIT SHIPMENT (Ship directly from 3 warehouses) WH NY → Customer: Item A (1 box) — $3.00, 2 hours WH Chicago → Customer: Item B (1 box) — $8.50, 2 days WH Miami → Customer: Item C (1 box) — $6.50, 1.5 days Total: $18.00, 3 separate deliveries, 3 boxes Option 2: CONSOLIDATE (Transfer internally, ship once) WH Chicago → WH NY: Item B (internal) — $4.00, 1 day WH Miami → WH NY: Item C (internal) — $3.50, 1 day WH NY → Customer: A+B+C (1 box) — $4.50, 2 hours Total: $12.00, 1 delivery, 1 box, BUT delayed by 1-2 days The Trade-off: Fast & Expensive vs. Slow & Cheap Decision Matrix Factor Favors Split Favors Consolidation SLA Requirements Urgent (same-day, 2-hour) Standard (3-5 days) Shipping Costs Customer pays for shipping Free shipping (Platform absorbs cost) Customer Preference Wants items ASAP Wants everything in one box Order Value Small items (not worth consolidating) Large orders (significant savings) Item Type Perishables / Medical supplies Non-urgent dry goods The Split/Consolidate Algorithm Function: decideFulfillmentStrategy(order, warehouses) // Step 1: Is there a single warehouse with ALL items? single_source = findWarehouseWithAllItems(order.items, warehouses) if single_source exists: return SINGLE_SOURCE(single_source) // The ideal scenario // Step 2: Calculate costs for both strategies split_cost = calculateSplitCost(order) consolidate_cost = calculateConsolidateCost(order) // Step 3: Check SLA bounds if order.sla == "SAME_DAY" or order.sla == "2_HOURS": return SPLIT // No time to transfer inventory internally // Step 4: Compare cost vs. delay savings = split_cost - consolidate_cost consolidation_delay = estimateConsolidationDelay(order) // Only consolidate if savings exceed a threshold AND delay is acceptable if savings > THRESHOLD and consolidation_delay <= order.max_acceptable_delay: return CONSOLIDATE else: return SPLIT Last-Mile Delivery — The Most Expensive Mile The last-mile is the final leg of delivery from the local distribution hub to the customer’s doorstep. Even though it’s usually just a few miles, it accounts for 53% of total logistics costs. Why?
...