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

At a glance

Per-DC breakdown of SLA-compliant orders, rendered as a horizontal bar chart with one bar per ShipBob distribution centre. The DC-level slice of the aggregate Fulfilment Rate and On-Time Delivery Rate gauges; reveals which DC is dragging the network.
What it countsFor each DC: COUNT(orders shipped from DC within SLA) / COUNT(orders received at DC). SLA is the merchant-contracted cutoff (typically same-day if received before 12:00 local DC time).
API endpointGET /order and GET /shipment joined on location_id. The card groups by DC and applies the per-DC cutoff in the DC’s local time.
DC scopePer-DC, one bar per location. Domestic US (Chicago, Cincinnati, Memphis, Moreno Valley, Bristol PA, Las Vegas, Pearl River MS) and international (Bristol UK, Toronto CA, Melbourne AU) all rendered.
Shipping-method scopeAll methods pooled per DC. Use SLA by Method for method-level slice.
Inventory-split semanticsEach leg counts at the DC that handled it. A multi-DC split order contributes to two bars, once at each shipping DC. Single-DC orders contribute to one bar only.
Perfect-order definitionThis card is on-time-shipping per DC. Perfect-order combines on-time-shipping + on-time-delivery + no damage + no return-error; not represented here.
SLA definitionPer-DC contracted cutoff. Standard is 12:00 same-day, but some merchants negotiate 14:00 / 16:00 cutoffs and these vary per DC. The card reads cutoff configuration from the merchant manifest.
Peak-period seasonalityQ4 typically degrades all DC bars by 5 to 15 percentage points, but unevenly. Coastal DCs (LAX, NJ) see worse degradation due to dock congestion; central DCs (Chicago, Cincinnati) hold up better. International DCs (Bristol UK, Melbourne AU) often show the largest peak swings due to local carrier capacity.
API rate limits200 requests / minute / token, same shipment-payload as the rate cards; no additional API cost to render this view.
Time window30D (rolling 30-day)
Alert trigger<90% per DC, the sla_by_warehouse sentiment trips when ANY DC drops below 90 percent (configurable).
Rolesowner, 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 at 09:00 ET on 12 Mar 26 for the trailing 30 days.
Distribution CentreOrders shippedWithin SLASLA ComplianceBar colour
Chicago (CHI)9,8409,49696.5%Green
Moreno Valley (MOV)6,7206,43295.7%Green
Cincinnati (CIN)2,4202,08486.1%Red, alert tripped
Bristol UK (BRI)1,5801,45291.9%Green
The chart shows three green bars and one red. Five things to notice:
  1. DC closest to customer ships fastest, and bars cluster at the top. Chicago and Moreno Valley together do 78 percent of US volume and clear 95%; geographic match between DC and customer base is doing the work. The high-performing DCs are not “better” operationally, they are better-matched to demand.
  2. The Cincinnati bar at 86.1% is the actionable signal. It dragged the aggregate fulfilment rate to 94.9% (see Fulfilment Rate worked example). Action: rebalance inventory to reduce Cincinnati overflow volume, or staff up Cincinnati for current demand. Aggregate-level cards do not point to this; only per-DC does.
  3. Bristol UK at 91.9% is healthy by local standards. UK DC SLA is computed against UK carrier transit-time tables (Royal Mail, DPD, DHL UK), which run looser than US peers. Comparing UK and US bars side-by-side without context is misleading; benchmark UK-vs-UK across periods.
  4. Q4 peak-period degraded all four bars together last December. Reading from 5 Dec 25: Chicago 86%, Moreno Valley 84%, Cincinnati 71%, Bristol UK 78%. The 14 to 22 point uniform drop is the seasonal signal; reading bars in isolation against December numbers is not informative.
  5. A 1-bar-fail alert may be a routing problem, not a DC operations problem. Cincinnati’s 86.1% may be because too many far-zone orders were routed there (when Chicago lacked stock). Pair with Warehouse Proximity to confirm whether Cincinnati received proportionally more far-zone orders this period.

Sibling cards merchants should reference together

This card is a per-DC slice of fulfilment performance. Pair with these for diagnosis and action:
CardWhy pair it with SLA Compliance by WarehouseWhat the combination tells you
Fulfilment RateThe aggregate roll-up that this card breaks down.One low bar dragging the aggregate is a single-DC fix; multiple low bars is a network-wide problem.
On-Time Delivery RateCustomer-facing leg, also aggregated.A low SLA bar with healthy delivery rate means the DC’s late shipments still get there on time (carriers absorbing the slip).
Warehouse ProximityPer-DC closest-DC-ship rate.Low SLA + low proximity at the same DC = inventory-allocation problem (DC is shipping far-zone orders).
Average Fulfilment Time by WarehousePer-DC stopwatch.Low SLA + high time-to-ship at the same DC = staffing or process problem on the warehouse floor.
Warehouse BacklogPer-DC pending count.Climbing backlog at the lagging DC predicts deeper SLA dips next week.
Cross-connector: shopify.unfulfilled_ordersUpstream order pressure (not DC-tagged in Shopify).If Shopify unfulfilled spiked recently, expect 1 to 3 days of pressure on whichever DC handled the surge.
Cross-connector: bigcommerce.unfulfilled_ordersSame upstream relationship for BC.Same caveat.
Cross-connector: customer NPS / returns rateDownstream sentiment, lag 7 to 21 days.Low-SLA DCs typically generate higher returns and lower NPS at the customer level, traceable through ship-from-DC tagging in Klaviyo flows.

Reconciling against the vendor’s own dashboard

Where to look in ShipBob Merchant Portal: ShipBob Merchant PortalAnalytics → Performance → On-Time Shipping → DC breakdown. The portal renders the same per-DC breakdown with toggles for date range and shipping method. Use All Methods, Last 30 Days to compare like-for-like. Why our number may legitimately differ from ShipBob’s portal:
ReasonDirectionWhy
Timezone (UTC vs DC-local)Boundary days offThe card uses UTC for window boundaries and each DC’s local time for cutoff calculation; portal uses the same. Merchants who switch portal to local will see day-edge shifts at the start and end of the window.
DC-level cutoff varianceEitherEach DC may have a different contracted cutoff (e.g. Chicago 12:00, Cincinnati 14:00). The card reads cutoffs from the manifest; portal uses ShipBob’s stored cutoff config. Mismatches require a manifest update.
SLA definition variance (carrier vs ShipBob vs merchant)EitherThis card uses ShipBob’s contracted cutoff as truth; merchants who quote tighter customer-facing SLAs in checkout will see a third number.
Peak-period batch-processing delaysOurs lower for “today”Q4 webhook lag of 4 to 12 hours; T-2 fully reconciles.
International DC carrier mixEitherBristol UK uses Royal Mail / DPD / DHL UK which have different scan cadences than US UPS / FedEx; SLA computation accounts for this but portal-vs-card edge cases can occur.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
shopify.unfulfilled_ordersUpstream pressure, not DC-tagged in Shopify, so cannot be split per-DC. ShipBob lag of 2 to 6 hours typical.Webhook delivery failures, B2B / scheduled flows.
bigcommerce.unfulfilled_ordersSame upstream relationship for BC.Same caveat.
Amazon FBA per-fulfilment-centre metricsPeer 3PL with its own per-FC view. Independent population, not reconciled.Different orders entirely.
Customer NPS by ship-from-DCDownstream sentiment per DC if Klaviyo flows tag DC.Tagging completeness, sample size per DC.

Known limitations / merchant FAQs

ShipBob vs FBA, can I see a per-fulfilment-centre breakdown for FBA? Yes, FBA exposes per-fulfilment-centre on-time shipping in Seller Central, but the populations are independent (Amazon orders vs DTC orders). Comparing a ShipBob DC to an FBA FC like-for-like is rarely useful; compare across periods within the same 3PL. How does ShipBob choose which DC ships my order, and how does it skew this card? The router picks the closest DC with full stock; if no single DC has stock, the order splits. Multi-DC splits create a leg per DC, each scored independently. The bar for the lagging DC is dragged not necessarily by floor inefficiency but by mis-allocated inventory pushing more far-zone orders to that DC. SLA-vs-carrier-tracking discrepancy, why does my Bristol UK bar look bad while customer NPS is fine? SLA definition variance. ShipBob’s UK SLA is tighter than the carrier’s posted transit-time tables; Royal Mail and DPD often deliver inside ShipBob’s flagged-late window, so customers see “delivered on time” while ShipBob marks “shipped late”. Three definitions (carrier, ShipBob, merchant) can give three numbers. Confirm with the per-DC late-shipment audit table in the portal. Perfect-order vs on-time-shipping definitions per DC, what is the difference? On-time-shipping per DC (this card) is one leg of perfect-order per DC. Perfect-order combines on-time-shipping + on-time-delivery + accuracy + no return. This card is the warehouse-floor leg only. How do I plan for Q4 / BFCM peak using the per-DC view? Look at last year’s December bars. The DC that dropped least in 2025 should get more inventory in 2026; the DC that dropped most should get less. Pre-position by mid-October. Set the alert threshold lower temporarily (e.g. 80% instead of 90%) for December to avoid alert fatigue. Multi-DC inventory split optimisation, how does this card help? This card is the consequence, not the cause. Pair with Warehouse Proximity to see whether your inventory split forced too many far-zone orders into the lagging DC. Re-allocate stock per the portal’s “Inventory Distribution” recommendation engine, then re-read this card 14 days later. Returns flow, how do they appear in this card? They do not. Returns are tracked separately (Return Rate). The bar is outbound-only, scoring the original ship event. Why does ShipBob show one DC as “shipped on time” but Shopify shows the order as still partial? Multi-DC split sync. ShipBob’s per-DC bar updates when the leg ships; Shopify’s order status flips through PARTIALLY_FULFILLED until the LAST leg ships. The two systems will disagree for hours during multi-DC orders, especially when one DC ships morning and the other ships afternoon. Why do my international DC bars (UK, AU) look so different from US bars? Local carrier mix and SLA definition. UK uses Royal Mail / DPD / DHL UK with looser transit tables; AU uses Australia Post with often tighter cutoffs. Benchmark UK-vs-UK and AU-vs-AU across periods, not against US numbers. The card renders all DCs together for comparison but the absolute numbers are not apples-to-apples across regions.

Tracked live in Vortex IQ Nerve Centre

SLA Compliance by Warehouse 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.