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 counts | COUNT(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 criterion | UK 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 threshold | The 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 / RTO | Outbound only. ShipTheory Returns flow shipments and RTS events appear in Returned to Sender. |
| Service level scope | All 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” problem | This 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. |
| Currency | Not applicable. |
| Time window | 30D 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. |
| Roles | owner, 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-carrier | Shipments | Delivered on or before promise | OTD Rate |
|---|---|---|---|
| Royal Mail Tracked 24/48 | 7,020 | 6,687 | 95.3% |
| DPD Next Day | 3,080 | 3,049 | 99.0% |
| Evri Standard | 4,030 | 3,651 | 90.6% |
| Parcelforce Express | 1,200 | 1,154 | 96.2% |
| Yodel Direct | 510 | 446 | 87.5% |
| All sub-carriers (this card) | 15,840 | 14,987 | 94.6% |
<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:
- 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.
- 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.
- 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.
- 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.
- 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.| Card | Why pair it with OTD Rate | What the combination tells you |
|---|---|---|
| Sub-Carrier OTD Comparison | The 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 Shipments | The 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 Rate | Leading indicator for OTD drops. | Climbing exception rate predicts a 2 to 5 day OTD dip. |
| Sub-Carrier Volume Mix | The mix that drives the headline OTD. | If Evri share is rising, headline OTD will fall proportionally even if no individual carrier degraded. |
| Failed Deliveries | Failed-and-recovered shipments still count as late. | Tracking together identifies recipient/address quality issues vs network speed. |
| Labels Printed Not Collected | Adjacent 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_orders | Upstream pressure. | Slow Shopify-to-warehouse handoff compresses transit time and lowers OTD. |
Cross-connector: shopify.refund_rate | Downstream 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_rate | Adjacent 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 Dashboard → Reports → 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:| Reason | Direction | Why |
|---|---|---|
| Sync lag on the most recent 6 to 12h | Ours lower briefly | ShipTheory’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 peak | Either | ShipTheory 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 normalisation | Tiny | The 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 zone | Boundary days | ShipTheory 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 statuses | Tiny | Cancelled 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 smoothing | Either | During 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. |
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:- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.