At a glance
Share of ShipTheory shipments that recorded any non-progress tracking event during transit, pooled across every UK sub-carrier the rate-shop selected. Address invalid, attempted-no-answer, held at depot, redirected, damaged, lost. The early-warning signal that predicts a falling OTD Rate at 24 to 72 hours, but with a wrinkle: each sub-carrier has its own exception taxonomy and ShipTheory normalises them, so the data is more uniform than reading each carrier’s portal directly.
| What it counts | COUNT(shipments WHERE EXISTS(tracking_event WITH event_type IN exception_set)) / COUNT(shipments) over the trailing 30 days. Each shipment scores once even if it threw multiple exceptions. |
| Delivery success criterion | Not directly applicable. Exceptions surface during transit, not at terminal status. |
| On-time threshold | Not applicable. The OTD card answers “did it arrive on time”; this card answers “did anything go wrong on the way”. |
| Returns / RTO | Outbound only by default. Returns flow shipments and RTS events appear separately (Returned to Sender). Returns have systematically higher exception rates because customers package poorly and addresses are home addresses; including them biases the rate up. |
| Service level scope | All sub-carriers and services pooled (Royal Mail Tracked, DPD, Evri Standard, Parcelforce Express, Yodel Direct, etc.). Per-carrier breakdown lives in Sub-Carrier OTD Comparison. |
| Exception-event categories (normalised) | (1) Address (Royal Mail E11-E15, DPD address_issue, Evri bad_address) ~36 percent of typical exceptions. (2) Recipient (attempted-no-answer, refused, redirect requested) ~28 percent. (3) Depot/network (held at depot, missed cutoff, weather hold) ~22 percent. (4) Damage / lost ~9 percent. (5) Customs / border (international shipments only) ~5 percent. The mix moves slowly. |
| Currency | Not applicable, this is a rate. |
| Time window | 30D vsP (rolling 30 days vs prior 30 days). |
| Alert trigger | >3% critical, >1% warn, driven by sentiment_key: exception_rate. UK DTC benchmark on a balanced rate-shop mix is 1.0 to 1.5 percent; above 2 percent typically signals upstream label-data quality issue, above 3 percent typically signals a sub-carrier event. |
| 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
The same UK mid-market home & garden DTC merchant. Rate-shop across Royal Mail, DPD, Evri, Parcelforce. Reading taken at 09:00 GMT on 12 Mar 26 for the trailing 30 days (10 Feb 26 to 11 Mar 26).| Exception category | Shipments affected | % of total |
|---|---|---|
| Address (Royal Mail E11/E13, DPD address_issue, Evri bad_address) | 138 | 0.87% |
| Recipient (attempted-no-answer, refused, redirect requested) | 102 | 0.64% |
| Depot / network (held at depot, missed cutoff, weather hold) | 84 | 0.53% |
| Damage / lost (handling damage, lost-in-transit) | 28 | 0.18% |
| All exceptions (this card) | 352 | 2.22% |
>3% is not tripped but the rate is well above the 1 percent green floor so the dial is amber. Five things to notice that are specific to ShipTheory and the UK rate-shop model:
- Per-carrier exception rates differ materially even on the same merchant. The 352 exceptions break down: Royal Mail ~140 (mostly address), DPD ~28 (mostly recipient), Evri ~134 (mostly depot/network), Parcelforce ~22, Yodel ~28. Evri’s depot/network share is structural; their UK depots run hotter capacity and miss more cutoffs. Pair with Sub-Carrier OTD Comparison to see where exceptions translate to OTD damage.
- Address exceptions cluster on Royal Mail because they validate harder. Royal Mail’s address-validation engine (PAF database) is the strictest in the UK; same address that DPD silently delivers to may be flagged E11/E13 by Royal Mail and rejected. The fix is not retraining Royal Mail; it is installing PAF-grade validation at checkout (Loqate, PostcodeAnywhere). Typical lift: 50 to 70 percent reduction in address exceptions within 30 days.
- The 28 damage / lost cases are claim-eligible. Each is an Open Claim opportunity. Royal Mail P58 process applies for Royal Mail-handled parcels; DPD has a 30-day claim window; Evri has a merchant-portal upload with photo evidence; the merchant must work the appropriate process per sub-carrier. Track ageing on Open Claims.
- Depot-hold exceptions cluster Friday-Sunday. UK carriers (Evri especially) hold parcels at depot when the Friday afternoon collection runs late. The fix is shifting Friday despatch cutoffs to 13:00; gives Royal Mail and Evri the Friday afternoon window. Most accounts that do this see 25 to 40 percent reduction in depot-hold exceptions.
- The CWU industrial action history matters for year-on-year exception-rate baselines. During August 2022 to April 2023 Royal Mail exception rates spiked from ~1.3 percent typical to 4.5 to 7 percent on stoppage weeks, mostly E31 “held at delivery office” events. Cross-window comparisons should annotate; the period is not noise to smooth.
Sibling cards merchants should reference together
Exception rate is the leading indicator. Pair with these to predict OTD damage and to find the operational lever:| Card | Why pair it with Exception Rate | What the combination tells you |
|---|---|---|
| On-Time Delivery Rate | The downstream outcome. | Exception rate leads OTD by 24 to 72 hours. A 1-point exception rise predicts a 2 to 4 point OTD dip 2 to 3 days later. |
| Sub-Carrier OTD Comparison | The per-carrier view. | Identifies which sub-carrier is generating the exception cluster; Evri depot-hold spikes show up here even when the headline OTD looks fine. |
| Late Shipments | The volumetric workload that follows. | Use the exception count to forecast next week’s CS-ticket load. |
| Failed Deliveries | The subset of exceptions that ended in non-delivery. | High exception rate + low failed-delivery rate = most exceptions self-resolve; high failed = exceptions are escalating. |
| Open Claims | Damage and lost-in-transit exceptions feed the claims pipeline. | Damage / lost exception count + 7 to 14 days lag = future open-claim count. |
| Sub-Carrier Volume Mix | Exception rate moves with carrier mix. | Evri share rising = exception rate rising even if no carrier degraded. |
| Labels Printed Not Collected | Adjacent operational signal. | If labels are printing but not making manifests, the parcels never enter the exception denominator; the card under-reads. |
Cross-connector: shopify.unfulfilled_orders | Upstream label-data origin. | Shopify-captured addresses that fail Royal Mail’s PAF validation produce E11/E13 exceptions. Install PAF-grade validation at checkout. |
Cross-connector: bigcommerce.unfulfilled_orders | Same upstream relationship for BC merchants. | Same fix path. |
Cross-connector: shopify.refund_rate | Downstream financial impact. | Sustained exception spikes typically precede refund-rate climbs at 7 to 14 days. |
Reconciling against the vendor’s own dashboard
Where to look in ShipTheory’s own dashboard: ShipTheory Dashboard → Reports → Exceptions. The page lists shipments with at least one non-progress event over the chosen window, with category, sub-carrier, event timestamp, and resolution status. Closest like-for-like view: Last 30 Days, All Carriers, All Categories. ShipTheory also exposes a CSV export of every event with normalised event codes; useful for spot-audits and for retraining the rate-shop ruleset. Why our number may legitimately differ from ShipTheory’s portal:| Reason | Direction | Why |
|---|---|---|
| Carrier event taxonomy normalisation | Tiny | The 100+ carriers ShipTheory supports have varying event codes; ShipTheory normalises to a unified taxonomy. About 95 percent of events map cleanly; the residual 5 percent (typically legacy regional carriers or DHL Express international codes) can shift the count by 0.1 to 0.3 points. |
| Auto-resolved exceptions | Either | Some short-lived events (depot transit-pause, brief network hold) resolve within 4 to 6 hours and may not appear in the portal’s default view; the card includes them because they still represent operational signal. Toggle Include transient in the portal to match. |
| Sync timing on most recent 1 to 6h | Ours lower briefly | Tracking webhooks land in real time but the card aggregates on a 4-hour cycle; the portal recomputes overnight. Same-day readings can drift up to 0.2 points. |
| Time zone | Boundary days | ShipTheory uses workspace timezone (GMT/BST for UK accounts) for daily aggregation; we use UTC for cross-connector arithmetic. The 30-day window absorbs this. |
| CWU industrial action smoothing | Either | The portal historically allowed an “exclude strike days” toggle for Royal Mail. The card does NOT smooth; year-on-year comparisons across August 2022 to April 2023 should annotate. |
| Returns leg | Either | Returns events excluded by default here; the portal’s unfiltered view includes them. Filter “Outbound only” in the portal to match. |
ship_theory.otd_rate(t) ≈ baseline_otd - 1.6 × Δ(ship_theory.exception_rate(t-2d))
A 1-point exception-rate rise typically translates to roughly 1.6 points of OTD drop two days later. Useful as a forecast input, not a strict equation.
Cross-connector reconciliation. Direct-carrier connectors vs ShipTheory:
If you also have a direct Royal Mail or DPD connector connected, do not sum exception rates. Each direct connector reads from the carrier’s own API with the carrier’s native event taxonomy:
- ShipTheory’s view uses the normalised taxonomy across all carriers.
- Direct-Royal-Mail uses raw Royal Mail E-codes (E11 to E47) which include events ShipTheory’s normaliser may bucket differently.
- Differences of 0.2 to 0.5 points are normal; larger gaps suggest one of the two is filtering shipments or events differently.
Known limitations / merchant FAQs
Why is my ShipTheory exception rate spiking? Three usual causes, in order of likelihood:- Address-quality regression at checkout. A storefront change (new theme, removed validator app) typically produces a step-change in address exceptions within 7 to 14 days. Open the address-category breakdown; if address exceptions jumped while other categories held, the cause is upstream of ShipTheory.
- Sub-carrier capacity stress. Q4 / pre-Christmas peak routinely lifts Evri depot-hold exceptions by 2 to 4x. Royal Mail also stresses around peak but more predictably (their network is built for it).
- A specific lane or carrier event. UK industrial action (Royal Mail CWU action history is recurrent), Evri network outage, regional weather event will spike exceptions on a specific carrier or lane. The aggregate jumps; the per-carrier breakdown identifies the source.
- Install PAF-grade address validation at checkout. Loqate, PostcodeAnywhere, Crafty Clicks. Royal Mail’s PAF database is the strictest in the UK; validating against it at checkout reduces address exceptions by 50 to 70 percent within 30 days. Single highest-leverage change for most ShipTheory accounts.
- Shift Friday despatch cutoffs to 13:00. Catches the Friday afternoon collection window; reduces depot-hold exceptions over the weekend by 25 to 40 percent.
- Move low-value Evri-routed parcels back to Royal Mail Tracked 48. A few pence per parcel for material exception-rate improvement on the affected slice.
- Add unit-number prompts for apartment postcodes. Apartment-block deliveries fail at 3 to 5x the rate of house deliveries when unit numbers are missing.
- Audit your top-10 problem postcodes monthly. A handful of postcode pairs typically generate 30 to 40 percent of all exceptions. Either widen ETA on those at checkout, surcharge them, or move them to Parcelforce.