Skip to main content
Card class: HeroCategory: Shipping & Courier

At a glance

Share of ShipTheory shipments delivered on or before the carrier-promised delivery date, pooled across every UK sub-carrier the rate-shop selected (Royal Mail, DPD, Evri, Parcelforce, Yodel, etc.). ShipTheory’s value-add is rate-shopping for UK 3PL and direct merchants, so the OTD rate moves with (a) which sub-carrier won the rate-shop and (b) how that carrier’s UK network performed. Unlike single-carrier connectors, the headline rate hides per-carrier variance that is the operational lever.
What it countsCOUNT(shipments WHERE actual_delivery_date <= expected_delivery_date) / COUNT(shipments WHERE delivered_at IS NOT NULL) over the trailing 30 days. Each shipment is judged against the sub-carrier-promised delivery window stored at label print, not a flat house SLA.
Delivery success criterionUK carriers’ POD models differ: Royal Mail Tracked uses signature-on-delivery; DPD uses doorstep photo plus signature; Evri uses doorstep photo. ShipTheory normalises to a single delivered status per shipment with delivered_at timestamp; the card uses that as truth.
On-time thresholdThe carrier-promised expected_delivery_date stored at label print, no grace. Royal Mail Tracked 24/48 has a tighter promise than Evri Standard; the card uses each shipment’s own promise rather than a flat threshold.
Returns / RTOOutbound only. ShipTheory Returns flow shipments and RTS events appear in Returned to Sender.
Service level scopeAll services pooled across all sub-carriers (Royal Mail Tracked 24, Tracked 48, Special Delivery; DPD Next Day; Evri Standard; Parcelforce Express; Yodel Direct, etc.). Per-carrier breakdown lives in Sub-Carrier OTD Comparison.
The “underlying carrier varies” problemThis is the single most important framing for a ShipTheory account. The aggregate OTD hides the carrier mix; a 95 percent headline can mask Evri at 89 percent and DPD at 99 percent. The headline tells you whether the merchant is meeting customer promises overall; the per-carrier card tells you which lane to retune.
CurrencyNot applicable.
Time window30D vsP (rolling 30 days vs the prior 30). Daily readings exist but are noisy below 200 shipments per day.
Alert trigger<95% warn, <90% critical, driven by sentiment_key: otd_rate. UK DTC benchmark on a balanced rate-shop mix is 94 to 97 percent; below 92 percent typically means Evri or Yodel share has surged.
Rolesowner, operations

Calculation

Calculated automatically from your ShipTheory 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 UK mid-market home & garden DTC merchant using ShipTheory to rate-shop across Royal Mail, DPD, Evri, and Parcelforce. Reading taken at 09:00 GMT on 12 Mar 26 for the trailing 30 days (10 Feb 26 to 11 Mar 26).
Sub-carrierShipmentsDelivered on or before promiseOTD Rate
Royal Mail Tracked 24/487,0206,68795.3%
DPD Next Day3,0803,04999.0%
Evri Standard4,0303,65190.6%
Parcelforce Express1,2001,15496.2%
Yodel Direct51044687.5%
All sub-carriers (this card)15,84014,98794.6%
The card reads 94.6 percent on the dial; the alert at <95% warn is firing marginally but the <90% critical floor is not. Five things to notice that are specific to ShipTheory and the UK rate-shop model:
  1. The aggregate hides the lever, and that is the point of this card paired with the per-carrier breakdown. Evri at 90.6 percent on 25 percent of volume drags the headline by ~1.1 points; Yodel at 87.5 percent on 3 percent of volume drags by another 0.2 points. Without those two, the headline is 96.5 percent. The diagnostic action is to retune the rate-shop ruleset, not to chase Royal Mail or DPD harder. Pair with Sub-Carrier OTD Comparison for the operational view.
  2. DPD at 99 percent is the quality benchmark and worth its premium. DPD’s UK network is the most reliable mass-market parcel service. The merchant’s rate-shop already routes high-value parcels to DPD; the per-carrier OTD confirms the choice. If DPD share were to drop materially, premium-SLA shipments would be mis-routed to cheaper, less reliable carriers and overall OTD would dip even though no individual carrier rate changed.
  3. Evri at 90.6 percent is the actionable middle. Evri is the cheapest UK mass-market carrier; its OTD typically lands 5 to 8 points below Royal Mail and DPD. The trade is intentional: the merchant accepts the OTD hit on low-value commodity orders for the cost saving. The decision is whether 90.6 percent is the floor or the slope; if it dips below 88 percent, retune.
  4. Yodel’s 510 shipments at 87.5 percent are fragile. Many ShipTheory accounts exclude Yodel from the rate-shop entirely, accepting higher cost on Royal Mail Tracked 48 in exchange for predictable OTD. Worth re-evaluating if Yodel keeps appearing in the alert mix.
  5. The 94.6 percent reading on a Tuesday in early March is normal seasonality. UK Q1 is the most stable window. Q4 / pre-Christmas typically lifts Evri share (cost pressure on volume) and drops aggregate OTD by 2 to 4 points. Pre-baseline customer-facing copy and despatch cutoffs ahead of November.

Sibling cards merchants should reference together

OTD rate is the customer-facing outcome metric. For ShipTheory the diagnostic flow goes immediately to per-carrier comparison because the aggregate rarely tells you which lever to pull.
CardWhy pair it with OTD RateWhat the combination tells you
Sub-Carrier OTD ComparisonThe operative card. Splits the headline OTD by Royal Mail / DPD / Evri / Parcelforce / Yodel.Identifies the rate-shop rule that needs tightening. ShipTheory’s whole reason-for-being is exposing this comparison.
Late ShipmentsThe absolute count behind the percentage.A 94.6 percent OTD on 16,000 shipments = 854 late deliveries = 854 customer-service tickets. The percentage feels recoverable; the count is the workload.
Avg Transit (days)Companion timing metric.OTD falling + avg transit rising = sub-carriers slowing. OTD falling + avg transit flat = promise dates were tight at label print.
Exception RateLeading indicator for OTD drops.Climbing exception rate predicts a 2 to 5 day OTD dip.
Sub-Carrier Volume MixThe mix that drives the headline OTD.If Evri share is rising, headline OTD will fall proportionally even if no individual carrier degraded.
Failed DeliveriesFailed-and-recovered shipments still count as late.Tracking together identifies recipient/address quality issues vs network speed.
Labels Printed Not CollectedAdjacent operational signal.If labels are printing but not getting onto manifests, parcels never even enter the OTD denominator; the headline reads better than reality.
Cross-connector: shopify.unfulfilled_ordersUpstream pressure.Slow Shopify-to-warehouse handoff compresses transit time and lowers OTD.
Cross-connector: shopify.refund_rateDownstream impact.A 3 to 5 point OTD drop typically precedes a 0.5 to 1.5 point refund-rate climb at 7 to 14 days.
Cross-connector: shipbob.sb_otd_rateAdjacent 3PL OTD when ShipBob handles the warehouse leg and ShipTheory routes the carriers.Different populations of shipments; useful for an agency running both, not a like-for-like reconciliation.

Reconciling against the vendor’s own dashboard

Where to look in ShipTheory’s own dashboard: ShipTheory DashboardReports → On-Time Performance. The page exposes the same headline rate plus a sub-carrier breakdown. Closest like-for-like view: Last 30 Days, All Carriers, All Services. ShipTheory also offers per-carrier service-level reporting with the carrier’s own promise vs actual; useful for spot-audits. Why our number may legitimately differ from ShipTheory’s portal:
ReasonDirectionWhy
Sync lag on the most recent 6 to 12hOurs lower brieflyShipTheory’s tracking webhook posts in near-real-time but the 30-day window includes shipments still in-flight at the boundary; the portal recomputes overnight. The gap closes within 24 hours.
Promise-date staleness during peakEitherShipTheory stores the carrier-promised delivery date at label creation. If a carrier issues a re-estimated delivery date mid-transit (typical during UK industrial action or weather events), the portal may judge against the re-estimate while the card stays strict against the original promise. Reconcile manually for affected windows.
Carrier-event normalisationTinyThe 100+ carriers ShipTheory supports have varying event taxonomies; ShipTheory normalises to a single delivered status. Some legacy carriers still report ambiguous “delivered or attempted” events; the card treats them as not-delivered until terminal status arrives.
Time zoneBoundary daysShipTheory uses workspace timezone (typically GMT/BST for UK accounts) for daily aggregation; we use UTC for cross-connector arithmetic. The 30-day window absorbs this.
Excluded statusesTinyCancelled labels and labels printed but never collected by the carrier are excluded from both numerator and denominator; the portal’s default view sometimes includes them as “not yet delivered” which depresses its rate.
CWU industrial action smoothingEitherDuring UK postal industrial action windows, ShipTheory’s portal has historically allowed an “exclude strike days” toggle. The card does NOT smooth: it records the actual rate. Year-on-year comparisons across August 2022 to April 2023 should annotate.
Internal identity (within ShipTheory): This card pairs with Late Shipments by the identity: ship_theory.otd_rate = 1 - (ship_theory.late_shipments_count / ship_theory.shipments_total) over the same window. If the two cards do not satisfy this within ~0.5 percent on the same day, the cause is one of: (a) the late count uses 7D while OTD uses 30D, (b) status filtering differs (one card includes pending-RTS shipments the other excludes), (c) sync timing across the two reads. None are bugs; they are window boundaries. Cross-connector reconciliation. Direct-carrier connectors vs ShipTheory: If you also have direct-carrier connectors (Royal Mail, DPD, Evri) connected, do not sum their OTD rates. Each direct connector reads from the carrier’s own API and reports against the carrier’s own promise model. The shipments are typically the same parcels viewed twice with slightly different definitions:
  • ShipTheory’s view uses the promise stored at ShipTheory label print.
  • Direct-Royal-Mail connector uses Royal Mail’s promise model with its own service-day calendar.
  • Differences of 1 to 3 points are normal; larger gaps suggest one of the two is filtering shipments differently (e.g. ShipTheory includes a sub-carrier the direct connector does not).

Known limitations / merchant FAQs

Why is my ShipTheory OTD rate dropping? Three usual causes, in order of likelihood:
  1. Rate-shop ruleset has shifted volume to a slower carrier. A small change in the rate-shop rule (e.g. weight-band thresholds, postcode exclusions) can move 10 to 20 percent of volume from Royal Mail Tracked to Evri Standard, dropping headline OTD by 1 to 3 points without any single carrier changing performance. Open Sub-Carrier Volume Mix to confirm.
  2. A specific sub-carrier is degraded. Royal Mail industrial action, DPD network outage, Evri capacity stress (typically Q4) all hit specific carriers. The aggregate dips because the affected carrier’s share-weighted contribution falls.
  3. Volume mix shifted regionally. A campaign expanding into Highlands & Islands or NI lifts hard-to-deliver share; even with the same rate-shop rules, the carrier promise dates for those lanes are looser and the carriers miss them more often.
Action: before re-tuning the rate-shop, identify whether the cause is mix shift (operational decision), carrier degradation (wait or shift volume), or regional expansion (widen checkout copy on those postcodes). My OTD is 94.6 percent. Is that good or bad? Below the standard alert threshold but within typical UK rate-shop range. Most ShipTheory accounts running a balanced Royal Mail / DPD / Evri mix sit at 93 to 96 percent. If you are at 94.6 percent and the trend is flat, no action needed. If the trend is descending, retune before it crosses 92 percent. How can I raise ShipTheory OTD? Five practical levers, in rough order of impact and cost:
  1. Move low-value parcels off Evri or Yodel onto Royal Mail Tracked 48. A few pence per parcel for material OTD lift on the affected slice. Most ShipTheory accounts under-use Royal Mail Tracked 48 because the rate-shop rules optimise for cost-per-parcel; the OTD trade is worth it on commodity parcels above GBP 15.
  2. Tighten Friday despatch cutoffs. A label printed Friday 16:00 misses most carriers’ Friday collection window and starts the OTD clock late. Pull cutoffs to 13:00 or 14:00 and gain a day on transit time.
  3. Audit the rate-shop ruleset quarterly. Carrier rates change at least annually; rate-shop rules tuned 18 months ago routinely produce sub-optimal carrier choices today. A quarterly review with ShipTheory’s account team typically lifts headline OTD by 1 to 2 points.
  4. Install address validation at checkout. Address-quality issues drive ~30 percent of UK parcel exceptions; reducing exceptions feeds OTD with 24 to 72 hours lag.
  5. Exclude Yodel from rate-shop until they stabilise. If Yodel keeps appearing in the alert mix, the cost saving is rarely worth the OTD damage. Most accounts that exclude Yodel see 0.3 to 0.8 point lift on aggregate.
Why does my daily OTD swing so much? Small-number noise, plus carrier-specific batch events. If your daily volume is below 200 shipments, a single Evri depot failure can move daily OTD by 5 to 10 points. Look at the rolling 7-day or 30-day rate, not the daily figure. The alert window defaults to 30D vsP for this reason. Does the CWU industrial action history affect my baseline? Yes, materially, for any year-on-year comparisons crossing August 2022 to April 2023. Royal Mail OTD during that window was 71 to 82 percent typical and as low as 52 percent on stoppage days. Year-on-year comparisons across that window should annotate or use a different baseline. Future industrial action (the threat is recurrent) should also be planned for in despatch communications. ShipTheory shows higher OTD than ShipBob’s same-period reading. Is that real? Different question entirely. ShipBob’s OTD measures pick-pack speed plus carrier last-mile; ShipTheory’s measures only carrier last-mile (because ShipTheory does not handle warehouse). Even on the same parcels, the two will differ because ShipBob’s promise includes a “ship by” component ShipTheory does not see. Treat them as adjacent metrics, not reconciliable ones. My UK Highlands & Islands shipments hit OTD differently from mainland. Why? Carrier promise dates for Highlands & Islands and NI typically add 1 to 2 working days vs mainland. The carriers know the lanes are slow; they pad the promise. The OTD card honours each shipment’s own promise, so a parcel to Stornoway delivered in 4 days against a 5-day promise counts on-time even though a mainland 4-day delivery would be late. The math is correct; the operational implication is “do not over-promise on Highlands & Islands at checkout”. Should I change my rate-shop ruleset based on this card alone? No, not without the per-carrier breakdown. The aggregate tells you the total customer experience; Sub-Carrier OTD Comparison tells you which carrier is the lever. Always pair the two before changing rate-shop rules. When does today’s OTD reading swing most? Tuesday and Wednesday afternoons. Monday’s parcels have not all delivered yet (especially Royal Mail Tracked 48 promises ~Wednesday). The OTD reading at 14:00 Tuesday is incomplete; same reading at 14:00 Thursday for the same window is much more stable. Use 24-hour-old readings for board-grade decisions; same-day for triage only.

Tracked live in Vortex IQ Nerve Centre

On-Time Delivery Rate is one of hundreds of KPI pulses Vortex IQ tracks across ShipTheory 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.