> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Exception Rate, DPD

> Exception Rate for DPD stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Shipping & Courier](/nerve-centre/connectors#connectors-by-type)

## At a glance

> Share of DPD parcels that hit at least one exception event in transit (refused, damaged, customs-held, address-incorrect, recipient-refused, undelivered-after-3-attempts, lost). The "something went wrong" rate, distinct from late (parcel arrived late) and failed (parcel never reached the customer). DPD UK runs \~1% on premium DTC vs \~3 to 5% on Evri for the same lane; the gap is what merchants pay the premium for.

|                              |                                                                                                                                                                                                                                                                                    |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**           | `COUNT(parcels WHERE event_log CONTAINS any of [refused, damaged, address_correction, customs_held, lost, recipient_refused, undelivered_3rd_attempt]) / COUNT(parcels)`. A parcel counts once even with multiple exception events.                                                |
| **Exception event taxonomy** | DPD pushes 30+ status codes; the card maps these to 7 exception buckets in `config/vortex_mind/manifests/dpd.yaml -> exception_buckets`.                                                                                                                                           |
| **Tracking event semantics** | DPD posts a webhook on every scan with `eventCode`. The card consumes the full event log per parcel; an exception state can be cleared by a subsequent successful event (e.g. address-correction then delivered) but the parcel still counts because at least one exception fired. |
| **Service-level scope**      | All DPD services pooled (Next Day, EU Classic, Saturday, etc.). EU outbound has structurally higher exception rates (customs); pull these out with UK to EU Cross-Border Exception Rate.                                                                                           |
| **Returns / RTO**            | RTO parcels (returned to sender after 3 failed attempts or refused) count as exceptions; they do *not* additionally count on Late Shipments or OTD.                                                                                                                                |
| **Predict-slot quirk**       | Out-of-slot is not an exception; the parcel arrived. Slot misses surface only on Predict Slot Accuracy.                                                                                                                                                                            |
| **Geographic scope**         | UK domestic + DPD UK outbound to EU and rest-of-world. EU origins served by sister carriers report through their own connectors.                                                                                                                                                   |
| **Lost-parcel sub-rate**     | DPD's lost-parcel sub-bucket runs \~0.05% on premium DTC, an order of magnitude below Evri's \~0.4%. This is where the premium price visibly earns out.                                                                                                                            |
| **Peak-period degradation**  | Q4 typically lifts UK domestic exception rate by 0.5 to 2 pp, EU outbound by 2 to 5 pp (customs surge).                                                                                                                                                                            |
| **Time window**              | `30D vsP` (rolling 30 days vs prior 30 days)                                                                                                                                                                                                                                       |
| **Alert trigger**            | `>3%` (gauge: good \<1%, warn 1 to 3%, critical >3%)                                                                                                                                                                                                                               |
| **Roles**                    | owner, operations                                                                                                                                                                                                                                                                  |

## Calculation

Calculated automatically from your DPD 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 premium-DTC fashion brand (AOV £160, \~12,000 parcels / month, 8% EU outbound) ships via DPD Next Day for UK and DPD EU Classic for Europe. Reading taken at 09:00 GMT on 12 Mar 26 for the trailing 30 days.

| Exception bucket                   | Parcels affected | Share of total                     |
| ---------------------------------- | ---------------- | ---------------------------------- |
| Address correction needed          | 64               | 0.53%                              |
| Damaged in transit                 | 18               | 0.15%                              |
| Recipient refused                  | 22               | 0.18%                              |
| Undelivered after 3 attempts (RTO) | 41               | 0.34%                              |
| Customs held (EU outbound only)    | 38               | 0.32% (3.95% of EU sub-population) |
| Lost (no scan in 14 days)          | 6                | 0.05%                              |
| **Total exceptions (this card)**   | **189**          | **1.58%**                          |

The card reads **1.58%** with the gauge in the warn (yellow) band, the `>3%` alert is **not** tripped. Five things to notice:

1. **The 1.58% headline is in the expected band for premium DTC on DPD UK.** Network benchmark is \~1% in normal weeks, \~1.5 to 2% in moderate-disruption periods. This is healthy.
2. **EU customs at 3.95% of the EU sub-population is the actionable signal.** It is buried in the 1.58% headline because EU is only 8% of volume. Pull EU out using [UK to EU Cross-Border Exception Rate](/nerve-centre/kpi-cards/dpd/uk-eu-cross-border-exception-rate) and it dominates the conversation, the IOSS or VAT paperwork is the likely root cause.
3. **The 6 lost parcels is the part of the metric where the premium price earns out.** At 0.05% lost rate, an Evri-equivalent lane (\~0.4% lost) would have lost \~50 parcels at AOV £160 = \~£8,000 in claim exposure. DPD's premium of \~£2 per parcel x 12,000 = \~£24,000, less than the £8k saved on lost parcels alone, before counting CS time and refund-and-resend goodwill. The maths works once AOV is high enough.
4. **Address-correction at 0.53% is largely customer-typed addresses at checkout.** DPD's address-validation API at label-print time can knock this down to \~0.2%; not yet enabled for this account.
5. **Recipient-refused at 0.18% is unusually high.** Industry baseline is \~0.05 to 0.10%. Likely a sub-population (returning customer cohort or bundle SKU) where customers ordered, regretted, and refused at the door instead of using the returns flow. Cross-reference with [`shopify.refund_rate`](/nerve-centre/kpi-cards/shopify/refund-rate) and the customer-cohort filter.

## Sibling cards merchants should reference together

Exception rate is the network-quality signal. Pair it with these to triage which exception type is rising and what it costs the business.

| Card                                                                                                  | Why pair it with Exception Rate                                                                           | What the combination tells you                                                                               |
| ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [On-Time Delivery Rate](/nerve-centre/kpi-cards/dpd/on-time-delivery-rate)                            | Different miss type. OTD measures "arrived late"; this measures "something went wrong in transit".        | High OTD + high exceptions = network is delivering, but a slice is being damaged or misrouted; ops drill-in. |
| [Late Shipments](/nerve-centre/kpi-cards/dpd/late-shipments)                                          | Sequential. Many late parcels (carded, redelivered) eventually become exceptions if they miss 3 attempts. | Today's late cohort feeds tomorrow's exception cohort.                                                       |
| [Failed Deliveries](/nerve-centre/kpi-cards/dpd/failed-deliveries)                                    | Subset overlap. Failed = 3 attempts then RTO; that lands in the exception bucket here.                    | Both tracking same end-state; this card is broader.                                                          |
| [Open Claims](/nerve-centre/kpi-cards/dpd/open-claims)                                                | Direct financial mapping. Every claim has an underlying exception.                                        | Claim count rises \~2 weeks after exception rate rises (customer waits, then files).                         |
| [UK to EU Cross-Border Exception Rate](/nerve-centre/kpi-cards/dpd/uk-eu-cross-border-exception-rate) | Splits EU outbound from UK domestic.                                                                      | EU customs lifts the headline; isolating it reveals if UK domestic is healthy.                               |
| [Returned to Sender](/nerve-centre/kpi-cards/dpd/returned-to-sender)                                  | Subset, RTO is one of the exception buckets here.                                                         | Diverging trends mean the type-mix is shifting (e.g. more recipient-refused, fewer customs-held).            |
| Cross-connector: [`shopify.refund_rate`](/nerve-centre/kpi-cards/shopify/refund-rate)                 | Downstream. Damaged or lost parcels become refunds.                                                       | 1 pp exception-rate rise -> \~0.3 to 0.5 pp refund-rate rise at 7 to 14 days lag.                            |
| Cross-connector: [`jira.open_tickets`](/nerve-centre/jira/open_tickets)                               | CS workload. Each exception roughly = 1 to 1.5 CS tickets.                                                | Use to predict CS staffing for the upcoming week.                                                            |

## Reconciling against the vendor's own dashboard

**Where to look in DPD's own dashboard:**

[MyDPD Business portal](https://mydpd.co.uk/) -> **Reports -> Service Performance -> Exceptions Report**, with toggles for date, exception type, and depot. The closest like-for-like view is *All Exception Types, Last 30 Days, Aggregate*. For per-parcel audit use **Track -> Filter "Exceptions" -> Last 30 days** and export as CSV.

**Why our number may legitimately differ from MyDPD's portal:**

| Reason                                  | Direction                        | Why                                                                                                                                                                                        |
| --------------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Time zone**                           | Boundary days off                | MyDPD defaults to Europe/London (BST or GMT). The card uses UTC. Boundary-day count can shift slightly.                                                                                    |
| **Tracking-feed lag**                   | Ours lower for last 4 to 6 hours | DPD pushes status webhooks within 5 to 30 seconds, but POD scans from rural rounds upload at end of shift. T-1 days fully reconcile.                                                       |
| **Peak-period throttling**              | Ours lower during BFCM           | Webhook queue can throttle during peak; events post 2 to 6 hours late into the index. T-2 days fully reconcile.                                                                            |
| **Predict-slot vs delivered timestamp** | Either                           | MyDPD's "Exceptions" report does not include slot misses (correctly). The card here also excludes slot misses. Some merchants confuse the two; align by checking the slot card separately. |
| **Exception-bucket mapping**            | Either                           | DPD has 30+ raw event codes; the card buckets them into 7 categories. MyDPD has its own 12-category breakdown. The aggregate counts will match; the per-bucket cuts will not.              |

**Cross-connector reconciliation against commerce platform unfulfilled:**

| Card                                                                                      | Expected relationship                                                            | What causes legitimate divergence                                                                                  |
| ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [`shopify.unfulfilled_orders`](/nerve-centre/kpi-cards/shopify/unfulfilled-orders)        | Upstream. Address-incorrect exceptions correlate with bad checkout-address data. | If unfulfilled is fine but exceptions rising, look at customer-typed addresses (often a checkout-form regression). |
| [`shopify.refund_rate`](/nerve-centre/kpi-cards/shopify/refund-rate)                      | Downstream. Damaged or lost drives refunds.                                      | 1 pp exception rise -> 0.3 to 0.5 pp refund rise at 7 to 14 days lag.                                              |
| Cross-3PL: [`shipbob.sb_otd_rate`](/nerve-centre/kpi-cards/shipbob/on-time-delivery-rate) | Peer 3PL outcome.                                                                | Different parcel populations entirely. Do not arithmetically reconcile.                                            |

***

<details>
  <summary><em>Documentation cross-reference (for merchants comparing UK couriers)</em></summary>

  Same-network UK exception-rate benchmarks (premium-DTC, normal week):

  * DPD UK: \~1.0%
  * DPDLocal: \~1.5% (separate connector)
  * Royal Mail Tracked 24: \~2 to 3%
  * Evri: \~3 to 5%

  The premium-tier gap is what merchants pay for. Use the connector-specific cards for accuracy; the bullets above are directional.
</details>

## Known limitations / merchant FAQs

**DPD vs DPDLocal exception rates, which is more reliable in practice?**
DPD UK runs a touch tighter than DPDLocal (\~1.0% vs \~1.5% on premium DTC) but the gap is narrower than the price gap suggests. The reason: both rides on the same depot-and-driver network; the difference is service-tier features (predict-slot, Saturday, premium-claim handling) rather than core handling quality. For exception risk specifically, the choice should be driven by the value of the parcel (use DPD for AOV >£100 where claim exposure matters) rather than by raw exception rate.

**How is in-slot delivery measured, and why does it not appear here?**
In-slot is on [Predict Slot Accuracy](/nerve-centre/kpi-cards/dpd/predict-slot-accuracy). A parcel that arrived outside the chosen 1-hour window is not an exception in DPD's taxonomy, the parcel arrived. It is a separate quality metric. Read the two together: a customer who paid for a 10 to 11 am slot and got the parcel at 13:45 will file a CS ticket but not a claim; a customer who got their parcel damaged will file a claim. Different remedies, different cards.

**How does DPD's predict-app integration affect exceptions?**
Recipients with the DPD app can redirect mid-transit (deliver to neighbour, leave with shop, divert to PUDO). App users have \~30% lower address-correction exceptions because they fix bad addresses before delivery. App users *also* have slightly higher recipient-refused exceptions because the in-app refuse-this-parcel button removes friction. Net effect on the headline: app-heavy customer bases run 0.1 to 0.3 pp lower exception rate than non-app bases.

**Why does the count spike during Q4 even though DPD's network is purpose-built for it?**
Three reasons. (1) **EU customs surge** post-Brexit; cross-border volume jumps in November and December and customs queues at Calais and Coquelles back up. (2) **Address quality drops** during gift-buying season because customers ship to recipients (parents, friends) and type addresses they do not know well; the address-correction bucket lifts \~50% in December. (3) **Weather**, snow disrupts trucking and lifts damaged-in-transit when parcels are mishandled in icy depots. Plan for 0.5 to 2 pp on UK domestic and 2 to 5 pp on EU outbound; this is structural, not a process fault.

**The customer says "DPD said delivered but parcel did not arrive". Is this an exception?**
No, this counts as a false-positive delivery, which surfaces on Open Claims when the customer files. The exception-rate card here only counts events DPD itself flagged. False-positive deliveries are a separate concern (driver scanned wrong door, parcel left somewhere visible then stolen). DPD's POD-photo feature reduced this category by \~80% over 2022 to 2024 but it still happens at \~0.05% of parcels. Pair with [Open Claims](/nerve-centre/kpi-cards/dpd/open-claims) and look for "delivered but customer says not received" in the reasons mix.

**The claim count is rising but exception rate is flat. What is happening?**
Two possibilities. (1) **Higher-value claims**, customers are filing on more expensive parcels rather than more parcels (e.g. a campaign that shifted SKU mix to premium items lifts claim *value* without lifting exception count). Cross-reference with [Claim Value (open)](/nerve-centre/kpi-cards/dpd/claim-value). (2) **Reporting lag**, claims lag exceptions by \~14 days; today's exception rate predicts the next-fortnight claim count, not today's. If exception rate jumped 14 days ago and is now back to baseline, claims are catching up.

**What is the returns flow and what does it have to do with exceptions?**
DPD returns ride either DPD's "Inbound Consumer Returns" service (label sent to customer, customer drops at PUDO or hands to next collection) or a manual courier return. Returns themselves are not exceptions. But "recipient refused at door" is one of the exception buckets because the parcel never landed cleanly; that parcel then becomes a return. The two cards are sequential.

**Multi-shipper strategy, when do I move volume off DPD?**
Move volume off DPD when (a) the per-parcel premium is not justified by exception savings (low-AOV products where a £2 saving outweighs claim exposure), or (b) the destination is poorly served (e.g. very rural Scotland or NI where DPDLocal or Royal Mail can be more cost-effective). The Premium-Service Uplift card on DPDLocal is the right place to do this calculation. As a rough guide: if your average claim cost is £40 and DPD saves you 1 pp of exceptions vs Evri at £2 per parcel premium, the maths works above \~£200 AOV. Below that, the premium does not earn out on exception alone, you need OTD lift to justify.

***

### Tracked live in Vortex IQ Nerve Centre

*Exception Rate* is one of hundreds of KPI pulses Vortex IQ tracks across DPD 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
