Skip to main content
Card class: HeroCategory: Fulfilment & Logistics

At a glance

Average all-in fulfilment cost per order shipped. Combines warehouse-pick fees, packaging, label cost, and shipping carrier charges into a single per-order figure. The “what does each parcel cost me” number for finance and the “is fulfilment getting cheaper or more expensive” number for ops.
What it countsSUM(invoice_charges) / COUNT(orders shipped). Charges include pick fee, pack fee, packaging materials, base shipping rate (per carrier-method-zone), surcharges (residential, fuel, dimensional weight), and DC-to-DC transfer if multi-DC split. Excludes inventory storage and onboarding fees.
API endpointGET /invoice (Billing API) joined to GET /shipment for per-shipment cost attribution. The card aggregates monthly invoice line items and back-allocates to shipped orders.
DC scopeAggregated across every DC by default. Per-DC view in Cost by Warehouse.
Shipping-method scopeAll methods pooled. Standard, Expedited, Overnight, 2-Day, Ground are weighted by volume. Method shifts move the average more than rate changes do. Per-method breakdown in Cost by Method.
Inventory-split semanticsPer-order. A multi-DC split creates extra DC-to-DC transfer cost which loads the average upward. Single-DC orders are cheaper per-order; high split rate inflates the headline.
Perfect-order definitionNot applicable, this is a cost metric.
SLA definitionNot applicable, but related: orders shipped via Overnight or 2-Day to hit tight SLAs cost 2 to 5 times the Standard rate. Shipping-method mix is the primary lever.
Peak-period seasonalityQ4 typically inflates per-order cost by 8 to 25 percent. Carrier fuel-surcharge increases, peak-season demand surcharges (UPS, FedEx, USPS each levy these), residential-delivery upcharges on holiday gift-shipping, and increased label-print volume push the number up. Reads in November and December reflect both rate and mix shifts.
API rate limits200 requests / minute / token; invoice data refreshes monthly (ShipBob bills monthly), so the card backfills historical and updates per-day on cumulative MTD.
Returns / RTOExcluded outbound; return-processing cost surfaces in Return Processing Time.
Time window90D (rolling 90 days, period-over-period comparison)
Alert trigger>+10% vsP, the shipping_cost_per_order sentiment trips when per-order cost rises more than 10 percent versus the prior 90 days.
Rolesowner, finance, operations

Calculation

Calculated automatically from your ShipBob data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US DTC apparel brand using ShipBob 3PL with 3 DCs. Reading taken on 12 Mar 26 for the trailing 90 days (12 Dec 25 to 11 Mar 26). Average order value is $58.
Cost componentPer-order cost (USD)Note
Pick fee (per item)0.95Apparel orders avg 1.4 items/order
Pack fee (flat per order)1.10
Packaging materials (mailer + filler)0.85
Base shipping rate7.20UPS Ground Standard avg over zones 1-7
Surcharges (residential + fuel + dim weight)1.45
Multi-DC transfer cost (split orders)0.4018% of orders split
All-in cost per order (this card)11.95Compares to $11.05 prior 90D = +8.1%
The card reads $11.95 on the trend; the alert at >+10% vsP is just under threshold but trending up. Five things to notice:
  1. Q4 dragged the 90-day average up. The window includes 12 Dec 25 to 31 Dec 25 (peak rates and surcharges); a Jan-Feb-only read would be closer to $11.20. Read seasonal context, not just the headline. Compare year-over-year same-window rather than rolling 90D when peak boundaries cross.
  2. Carrier surcharges are 12% of the per-order cost. Residential delivery, fuel, dimensional weight each levy independently; a single oversized item can push surcharges from 0.60to0.60 to 2.40 without the merchant changing anything. Audit dimensional-weight charges in the portal monthly; SKUs with high dim-weight ratio cost disproportionately.
  3. **Multi-DC split adds 0.40perorderONthe180.40 per order ON the 18% of orders that split.** Effective cost for split orders is 11.95 + (0.40/0.18)=0.40 / 0.18) = 14.17; for single-DC orders it is 11.55.Reducingsplitratefrom1811.55. Reducing split rate from 18% to 10% saves 0.18 per order on average; on 24,000 orders / 90D that is $4,300 saved per quarter just from inventory-allocation changes.
  4. DC closest to customer ships cheapest, and not just fastest. Shorter zones cost less in base rate; Chicago shipping to the dense Midwest customer base costs ~6.40base,whileCincinnatishippingtothesamepopulation(worsezonematch)costs 6.40 base, while Cincinnati shipping to the same population (worse zone match) costs ~8.10. The geographic-fit principle compounds across the cost AND the time legs.
  5. The headline does not surface ShipBob’s pick-rate efficiency. ShipBob discounts pick-fees at scale; a brand doing 100k orders / 90D pays ~0.85/pickversus0.85/pick versus 0.95 at this brand’s volume. Negotiate annually as volume scales; the per-order line item is the easiest finance lever.

Sibling cards merchants should reference together

The cost is the headline; cause analysis lives in the supporting cards:
CardWhy pair it with Shipping Cost per OrderWhat the combination tells you
Cost by MethodSplits the cost across Standard / Expedited / Overnight / 2-Day.Method-mix shifts move the average; if Overnight share rose, cost rose mechanically.
Cost by WarehousePer-DC cost.Identifies which DC is most expensive per-order; usually the one shipping further-zones.
Cost vs RevenueCost as a percentage of order value.A rising cost-per-order alongside rising AOV is healthy; alongside flat AOV is margin compression.
Cost OutliersSurfaces individual high-cost shipments.Often a few oversized or remote-zone shipments drag the average; the outlier card finds them.
Warehouse ProximityPer-DC closest-DC-ship rate.Low proximity = more far-zone shipments = higher cost. Inventory rebalancing reduces both cost and time.
Cross-connector: shopify.aovCost-to-revenue context.Stable cost-per-order with falling AOV is margin compression; stable cost with rising AOV is leverage.
Cross-connector: shopify.refund_rateReturned orders incur reverse-shipping cost not in this card.Pair to estimate true gross-margin impact of fulfilment.
Cross-connector: customer NPS / shipping-cost-perception surveyDownstream sentiment, lag 30 to 60 days.Customers complain about shipping cost when free-threshold is too high; balance cost-per-order against checkout-funnel CR.

Reconciling against the vendor’s own dashboard

Where to look in ShipBob Merchant Portal: ShipBob Merchant PortalBilling → Invoices. Each monthly invoice itemises pick fees, pack fees, packaging, shipping rates per carrier-method-zone, and surcharges. Divide invoice total by orders shipped that month for the like-for-like per-order figure. Why our number may legitimately differ from ShipBob’s portal:
ReasonDirectionWhy
Timezone (UTC default for windowing)Boundary days offThe card uses UTC; ShipBob bills monthly on a calendar-month boundary. Rolling 90D and calendar-monthly will produce slightly different numbers in transition periods.
DC-level vs aggregated reportingAggregated by defaultThe portal can be filtered per-DC; the card aggregates. Match filters to compare.
SLA definition varianceEitherNot directly applicable to cost, but Overnight surcharge rates differ across DCs and the card weights by DC volume.
Peak-period batch-processing delaysOurs lower for current-monthInvoice data for the current month is not finalised until ShipBob bills (typically 5 to 7 days after month-end). The card uses preliminary line-item data which can shift slightly when finalised.
Carrier surcharge timingEitherCarriers (UPS, FedEx, USPS) apply surcharges retroactively in some cases (e.g. dimensional-weight reweigh disputes). The card backfills when ShipBob updates the line items; portal shows current-state.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
shopify.aovCost-to-AOV ratio derives gross-margin impact of fulfilment. ShipBob lag of 1 to 7 days for invoice finalisation.Multi-currency (Shopify AOV) vs USD (ShipBob invoice); FX conversion on the merchant side.
Amazon FBA per-order feePeer 3PL with its own fee structure (referral fees, FBA fulfilment fees). Independent population.Different orders entirely; FBA fees include marketplace referral which ShipBob does not.
Customer NPS or shipping-cost-perception surveyDownstream sentiment, lag 30 to 60 days.Survey response bias; customers comment on free-shipping threshold not on actual cost.

Known limitations / merchant FAQs

ShipBob vs FBA, which is cheaper per order? Depends on order shape and channel. FBA is typically cheaper for small parcels shipped via Amazon’s network for Amazon-channel customers; ShipBob is typically cheaper for DTC orders shipped to addresses Amazon does not service competitively, especially for branded packaging. Most multichannel brands run both. Track each separately; do not blend. How does ShipBob choose which DC ships my order, and how does that affect cost? Closest-DC-with-stock; multi-DC splits when no single DC has all line items. Far-zone shipments cost more in base rate; multi-DC splits add transfer cost. Reducing split rate is the second-largest cost lever after method-mix. SLA-vs-carrier-tracking discrepancy, why is my Overnight cost-per-order so high? Three reasons. (1) Overnight base rate is 2 to 5 times Standard. (2) Overnight surcharges (Saturday delivery, residential, fuel) compound. (3) Many merchants over-promise Overnight in checkout copy and end up shipping Overnight on orders that did not strictly need it; track the subset that actually needed Overnight (placed after standard cutoff with tight customer expectation) versus the subset that did not. Perfect-order rate vs cost, what is the relationship? Inverse. Hitting perfect-order requires faster shipping methods, more careful packaging, and tighter address validation; each adds cost. Aim for the cost-quality balance that maximises gross margin, not the lowest cost or highest perfect-order in isolation. How do I plan for Q4 / BFCM peak using cost-per-order? Negotiate carrier rates and capacity holds with ShipBob’s account team in Q3. Pre-buy packaging at off-season rates. Pre-position inventory by mid-October to reduce multi-DC splits. Communicate the 8 to 25% Q4 cost inflation to finance so it is in the plan, not a surprise. Multi-DC inventory split optimisation, how much can I save? Reducing split-rate from 18% to 10% (typical achievable) saves 0.10to0.10 to 0.30 per order on a 100k-order quarterly basis. The portal’s “Inventory Distribution” engine recommends per-SKU allocation. Re-read this card 14 to 30 days after rebalancing to confirm savings landed. How do returns flow through cost? Returns incur reverse-shipping cost (carrier label back to DC) and re-receive / re-stock fees (Return Processing Time tracks the time leg). Reverse-shipping cost is NOT in this card; it is in the dedicated returns cost cards. Net fulfilment cost = forward (this card) + reverse (returns module) + restock fees. Why does ShipBob’s invoice show shipped but Shopify still says unfulfilled? Webhook sync lag. ShipBob fires shipment.created to Shopify on label-print; ShipBob immediately bills the cost on its own ledger. Shopify’s displayFulfillmentStatus flips to FULFILLED once it processes the webhook (typical lag 2 to 6 hours, longer in Q4). Cost-per-order in the ShipBob portal is current; Shopify’s order status is delayed. The cost spiked but I did not change anything. Why? Three usual reasons. (1) Carrier surcharge increase (UPS, FedEx, USPS post fuel and demand surcharges weekly during peak; quarterly off-peak). (2) Mix shift; one big customer or campaign changed ship-to geography or method. (3) Dimensional-weight reweigh; a product audit re-classified an item as oversized, retroactively applying higher rates. Pivot to Cost Outliers to find which shipments drove the spike.

Tracked live in Vortex IQ Nerve Centre

Shipping Cost per Order is one of hundreds of KPI pulses Vortex IQ tracks across ShipBob and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.