Split Shipments Are Eating Your Margin
By: Samantha Rose
A supplements brand doing $18M looked at their shipping line and found it had grown 31% year over year while order volume grew 12%. Nobody had raised rates. The carrier contract was the same. Average order value had gone up, if anything.
The gap was split shipments. Their average order was arriving in 1.4 parcels. A year earlier it had been 1.1. That 0.3 of a parcel, multiplied across 240,000 orders, was $680,000 of freight nobody had budgeted for and no report had flagged, because the shipping line in their P&L showed one number and the order count showed another and nothing sat between them.
Split shipments are the most expensive thing in fulfillment that nobody owns. They are not a carrier problem, a warehouse problem, or a merchandising problem. They are the visible result of an inventory and routing decision made somewhere upstream, usually automatically, usually by a system optimising for something other than your margin.
What a split actually costs
The instinct is to count the extra label. The extra label is the cheapest part.
True cost of one avoidable split, mid-size DTC brand:
Second parcel base rate (2 lb, zone 5) = $9.40
Second pick and pack labor (4 min @ $19/hr) = $1.27
Second box, dunnage, tape = $0.68
Additional carrier surcharge exposure = $0.55
─────────────────────────────────────────────────
Direct cost per split = $11.90
Support contact rate on split orders: 8.4%
vs 3.1% on single-parcel orders
Marginal contacts × $6.20 per contact = $0.33
Return rate on split orders: +1.9 pts
(customer receives partial, assumes error)
1.9% × $14.80 avg return cost = $0.28
─────────────────────────────────────────────────
Loaded cost per avoidable split = $12.51
At 240,000 orders with splits on 30% of them, and roughly half of those avoidable, the number is around $450,000. On a brand doing $18M, that is two and a half points of margin.
The support and returns tail is what people miss. A customer who ordered four things and receives two of them does not read the tracking email that explained it. They contact you, or they assume the order was wrong and start a return on the part that arrived. Both cost money that never gets attributed back to the split that caused it.
The four causes, in order of how much they cost
Splits are not one problem. They have distinct causes with distinct fixes, and treating them as one thing is why the number never comes down.
1. Inventory scattered across locations
The largest cause and the most fixable. An order for three items where item A is in the east coast warehouse and items B and C are in the west gets split because no single location can fill it.
This is a stocking decision, not a routing decision. If your top 200 SKUs are not stocked at every location that serves meaningful volume, you are manufacturing splits at the moment of the purchase order, weeks before the order arrives.
The diagnostic is straightforward: take the last 90 days of orders, and for each one, ask whether any single location held every line at the time it was placed. The percentage that fails is your structural split rate, and no amount of routing cleverness will fix it.
| Fulfillable from one location | What it means |
|---|---|
| Above 90% | Stocking is sound; remaining splits are routing or timing |
| 75–90% | Typical. Fixable by rebalancing the top 200 SKUs |
| Below 75% | Structural. The stocking model is generating splits faster than routing can absorb them |
2. Routing rules that optimise the wrong variable
Most order management systems route to minimise distance or transit time for each line, independently. That is a reasonable-sounding rule that produces splits as a side effect, because the nearest location for line A and the nearest for line B are frequently different buildings.
The fix is to make single-parcel completion a first-class objective rather than an accident. Route the whole order to the best location that can fill all of it, and only fall back to splitting when no location can, or when the delay from consolidating exceeds a service threshold you set deliberately.
That threshold is a real business decision and it should be made once, explicitly, rather than implied by a default. A day of additional transit to avoid $12 of split cost is usually worth it. Three days usually is not.
3. Backorders released piecemeal
An order comes in, three of four lines are in stock, and the system ships what it has. The fourth line arrives eleven days later and ships on its own.
Sometimes that is right. A customer waiting on one item usually prefers the other three now. But it should be a choice presented at checkout, not a silent default. Brands that offer “ship together” as an option find a meaningful share of customers take it, and every one of those is a split avoided at zero cost.
4. Oversized or restricted items
Aerosols, lithium batteries, anything over the dimensional limit — these split for compliance reasons and are largely unavoidable. Worth identifying so they can be excluded from your improvement target, because chasing a number that includes them means chasing a floor you cannot reach.
Why the number stays invisible
Split shipment cost hides because of how it is recorded. The second parcel is a shipping expense. The extra pick is a labor expense. The support contact is a service expense. The return is a returns expense. Four different lines, four different owners, no line item anywhere called “splits”.
The single most useful thing most operators can do is start measuring parcels per order as a headline metric alongside average order value and contribution margin. It is a one-line calculation and it makes the trend visible before it costs half a million.
Parcels per order = total outbound parcels ÷ total orders shipped
Track weekly. A drift from 1.1 to 1.2 across a quarter
is roughly 24,000 extra parcels at 240k orders —
about $300k loaded, and invisible in every other report.
Then segment it. Parcels per order by channel, by location, by SKU count in the basket. The segment that stands out is where the fix is.
The audit, in practice
This takes an afternoon and it is the highest-value analysis most fulfillment teams have not run.
Pull 90 days of shipped orders with, for each one, the order ID, the lines, the parcel count, the shipping locations used, and the ship dates. Then build four cuts.
Cut one: parcels per order over time, weekly. You are looking for drift, not level. A stable 1.3 is a cost you have already absorbed. A 1.1 climbing to 1.3 is an active leak and something changed to cause it.
Cut two: split rate by basket size. Splits should rise with line count — a six-line order is harder to fill from one place than a two-line order. What you are looking for is splits on two-line orders, which almost always indicate a stocking or routing fault rather than a genuine constraint.
Cut three: split rate by SKU. Sort by how often a SKU appears in a split order versus its overall frequency. A handful of SKUs usually dominate. Those are the ones stocked in one location while being ordered alongside items stocked elsewhere, and rebalancing that short list fixes a disproportionate share of the problem.
Cut four: time between parcels. Splits that ship the same hour from two buildings are a routing decision. Splits separated by days are a backorder decision. They look identical in the parcel count and have nothing in common as problems.
Diagnostic read:
Same-day, multi-location splits dominant
→ routing logic or stocking imbalance
Multi-day splits dominant
→ backorder release policy and inventory availability
Two-line orders splitting frequently
→ top-mover stocking gap; check cut three
Rate stable but rising with volume
→ structural; growth is amplifying an existing fault
The merchandising lever nobody pulls
Fulfillment owns the symptom, but merchandising creates a good deal of the cause, and the two teams rarely have this conversation.
Cross-sell and bundle recommendations are usually optimised for attach rate and basket value with no awareness of where the recommended item is stocked. Recommending an accessory held only in the west coast facility to a customer in Georgia buying an item held on both coasts manufactures a split at the moment of the add-to-cart.
The fix does not require sophisticated logic. Weighting recommendations toward items co-located with what is already in the basket captures most of the benefit, and it costs nothing in attach rate when the recommendation set is large enough to have alternatives. Brands that do this typically find it removes a chunk of splits that routing could never have solved, because by the time routing sees the order the damage is already in the basket.
The same logic applies to how bundles are constructed. A bundle whose components are stocked in different buildings is a guaranteed split every time it sells.
Splits are a compliance problem in wholesale, not just a cost
Everything above is a DTC framing, where a split costs money and irritates a customer. In wholesale and retail the same event is a different category of problem.
A retail purchase order that ships in multiple shipments against one PO can breach the routing guide. Partial shipments frequently require prior authorisation, the ASN has to describe what is actually on the truck, and a shipment arriving at a DC that does not match its ASN generates a chargeback regardless of whether the goods are correct.
So the cost profile inverts. In DTC a split costs roughly twelve dollars. In retail it can cost a deduction, a scorecard mark, and a conversation with a buyer. Brands that grow from DTC into wholesale carry their DTC-tuned routing rules across, and those rules will happily split a retail PO because nothing in them knows that retail is different.
That is worth checking explicitly if you have added a retail channel in the last two years. The routing logic almost certainly predates it.
What good looks like
The brands that keep this under control share a few habits.
They stock their top movers everywhere that matters, and accept the working capital cost of doing so, because it is smaller than the freight cost of not doing so. They route on order completion rather than line-level proximity, with an explicit transit threshold. They present shipping preference to the customer rather than deciding silently. And they treat parcels per order as an operating metric with an owner, not as an output nobody reads.
None of that is exotic. What makes it hard is that the decisions live in different systems — inventory in one, routing in another, checkout in a third — and the cost lands somewhere else again. When the stocking model, the routing logic and the order record are separate systems agreeing on a good day, nobody can see the whole loop, which is exactly why the number drifts for a year before anyone notices.
Endless Commerce runs order routing, multi-location inventory, and fulfillment on one source of truth, so the routing decision is made against inventory that is actually current and the resulting cost is attributable to the decision that caused it. Agents route for completion against real availability rather than a synced copy, and the parcels-per-order trend is visible where the orders are, not reconstructed from four expense lines a quarter later.
If your shipping line is growing faster than your order count, the difference is almost certainly this. Start with parcels per order for the last four quarters. The shape of that curve will tell you whether you have a stocking problem or a routing one, and the two have completely different fixes.
Commerce is chaos.
Tame your tech stack with one system that brings it all together—and actually works.
Get a DemoInsights to master the chaos of commerce
Stay ahead with expert tips, industry trends, and actionable insights delivered straight to your inbox. Subscribe to the Endless Commerce newsletter today.