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 counts | SUM(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 endpoint | GET /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 scope | Aggregated across every DC by default. Per-DC view in Cost by Warehouse. |
| Shipping-method scope | All 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 semantics | Per-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 definition | Not applicable, this is a cost metric. |
| SLA definition | Not 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 seasonality | Q4 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 limits | 200 requests / minute / token; invoice data refreshes monthly (ShipBob bills monthly), so the card backfills historical and updates per-day on cumulative MTD. |
| Returns / RTO | Excluded outbound; return-processing cost surfaces in Return Processing Time. |
| Time window | 90D (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. |
| Roles | owner, 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 component | Per-order cost (USD) | Note |
|---|---|---|
| Pick fee (per item) | 0.95 | Apparel orders avg 1.4 items/order |
| Pack fee (flat per order) | 1.10 | |
| Packaging materials (mailer + filler) | 0.85 | |
| Base shipping rate | 7.20 | UPS Ground Standard avg over zones 1-7 |
| Surcharges (residential + fuel + dim weight) | 1.45 | |
| Multi-DC transfer cost (split orders) | 0.40 | 18% of orders split |
| All-in cost per order (this card) | 11.95 | Compares to $11.05 prior 90D = +8.1% |
>+10% vsP is just under threshold but trending up. Five things to notice:
- 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.
- 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 2.40 without the merchant changing anything. Audit dimensional-weight charges in the portal monthly; SKUs with high dim-weight ratio cost disproportionately.
- **Multi-DC split adds 11.95 + (14.17; for single-DC orders it is 0.18 per order on average; on 24,000 orders / 90D that is $4,300 saved per quarter just from inventory-allocation changes.
- 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 ~8.10. The geographic-fit principle compounds across the cost AND the time legs.
- The headline does not surface ShipBob’s pick-rate efficiency. ShipBob discounts pick-fees at scale; a brand doing 100k orders / 90D pays ~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:| Card | Why pair it with Shipping Cost per Order | What the combination tells you |
|---|---|---|
| Cost by Method | Splits the cost across Standard / Expedited / Overnight / 2-Day. | Method-mix shifts move the average; if Overnight share rose, cost rose mechanically. |
| Cost by Warehouse | Per-DC cost. | Identifies which DC is most expensive per-order; usually the one shipping further-zones. |
| Cost vs Revenue | Cost as a percentage of order value. | A rising cost-per-order alongside rising AOV is healthy; alongside flat AOV is margin compression. |
| Cost Outliers | Surfaces individual high-cost shipments. | Often a few oversized or remote-zone shipments drag the average; the outlier card finds them. |
| Warehouse Proximity | Per-DC closest-DC-ship rate. | Low proximity = more far-zone shipments = higher cost. Inventory rebalancing reduces both cost and time. |
Cross-connector: shopify.aov | Cost-to-revenue context. | Stable cost-per-order with falling AOV is margin compression; stable cost with rising AOV is leverage. |
Cross-connector: shopify.refund_rate | Returned 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 survey | Downstream 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 Portal → Billing → 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:| Reason | Direction | Why |
|---|---|---|
| Timezone (UTC default for windowing) | Boundary days off | The 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 reporting | Aggregated by default | The portal can be filtered per-DC; the card aggregates. Match filters to compare. |
| SLA definition variance | Either | Not directly applicable to cost, but Overnight surcharge rates differ across DCs and the card weights by DC volume. |
| Peak-period batch-processing delays | Ours lower for current-month | Invoice 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 timing | Either | Carriers (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. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
shopify.aov | Cost-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 fee | Peer 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 survey | Downstream 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.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 firesshipment.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.