At a glance
Share of DPDLocal parcels delivered on or before DPD’s promised delivery date. The merchant-facing “did it turn up when DPD said it would” number, computed across every consignment shipped via DPDLocal in the period. DPDLocal is DPD’s lower-cost UK service line, same network, less premium tier than mainline DPD.
Calculation
Calculated automatically from your DPDLocal 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 DTC homewares brand on Shopify, shipping ~2,800 parcels per month via DPDLocal NextDay (the cost-conscious staple) and Predict (paid premium for high-AOV orders). Reading taken at 09:00 GMT on 12 Mar 26 for the trailing 30 days (10 Feb 26 to 11 Mar 26).
The card reads 96.1% on the gauge; the alert at
<95% (warn) is not tripped at the aggregate level, but EU at 82.9% is materially under. Five things to notice:
- The EU lane drags the headline. Post-Brexit customs friction is structural, not transient. Even a small EU share (2.5% of volume here) pulls 1.4 points off the headline. Pin a per-service panel for EU to track separately, the operational levers are different (HS-code accuracy, commercial-invoice templates) than mainland-UK NextDay friction.
- NextDay 96.7% is healthy but below DPDLocal’s contractual ~98%. A 1.3-point gap month-over-month is worth a CS conversation; persistent underperformance is a renegotiation lever. Pair with OTD by Route to see if specific UK postcode areas (Highlands and Islands typically) are responsible.
- Predict at 96.0% is the more telling number. Predict is the paid-premium 30-minute slot promise, customers are expecting a tight window. A 4% miss rate is twice the customer-perception cost of the same miss rate on NextDay. Use Predict Slot Accuracy for the more granular within-slot metric.
- Sunday at 92.7% is acceptable but the volume is low. Sunday delivery uses spare network capacity; misses double-hurt because Sunday is paid-premium and the customer trust impact is high. If Sunday volume grows, the threshold should tighten.
- The 109 missed parcels are not all “DPDLocal’s fault”. Recipient-not-home, address errors, customer cancellation in transit, and weather all count against OTD here. Use Exception Reasons to split carrier-fault from customer-side reasons.
Sibling cards merchants should reference together
On-time delivery is the customer-facing outcome. Pair with these to diagnose root cause and quantify the downstream blast radius:Reconciling against the vendor’s own dashboard
Where to look in DPDLocal’s own dashboard: DPDLocal MyDPD Business Portal → Reports → Service Performance. The closest like-for-like view is All Services, Last 30 Days. The portal also exposes a per-consignment audit at Tracking → Filter “Late deliveries”; each row shows the gap betweenexpectedDeliveryDate and actualDeliveryDate. Account-managed merchants also receive a monthly Service Performance Report (SPR) email from their DPD account team with the same numbers.
Why our number may legitimately differ from MyDPD:
Cross-connector reconciliation:
Known limitations / merchant FAQs
Why is my DPDLocal OTD lower than DPD’s mainline figure? DPDLocal is the cost-conscious tier; same network, same drivers, lower-priority routing. When the network saturates (BFCM, late-November through Christmas Eve), DPDLocal parcels are deprioritised after mainline DPD next-day commitments. Expect 1 to 3 percentage points below DPD mainline at the same period; more during peak. My EU lane is dragging the headline. What can I actually do? Three usual fixes after Brexit, in order of leverage. (1) HS-code accuracy. Wrong or missing HS codes are the single largest cause of EU customs holds; review the codes on your top-50 EU SKUs against a customs broker’s recommendations. (2) Commercial-invoice templates. DPDLocal’s EU service requires fields likeEORI, VAT-IOSS-or-IOSS-equivalent, country-of-origin per line item. Missing fields cause holds. (3) DDP vs DDU. Switching to Delivered Duty Paid removes per-parcel customs friction at the cost of a higher checkout-time charge; many UK merchants who shipped DDU through 2021-22 have since switched. The OTD lift on EU lanes is typically 5 to 12 points.
OTD dropped 4 points overnight. What broke?
Three things to check, in order. (1) GeoSession auth. Check GeoSession Auth Risk. If polling stalled overnight, the card may have a missing-data artefact rather than a real OTD drop. (2) Network event. A depot fire, a major weather event, or an industrial-action day at DPD typically lifts late-count visibly. Search the news for “DPD depot” or check the DPDLocal status page. (3) Address-data quality regression. A storefront change to the address-validation flow (e.g. switching off PostcodeAnywhere or Loqate) lifts recipient-not-home and address-error reasons. Check Exception Reasons.
Why does DPDLocal show “Delivered” but my customer says they did not receive it?
Two usual reasons. (1) Driver photo POD captured “delivered to safe place”. DPD drivers can leave parcels at safe places (porches, sheds, neighbours) when the customer is out. The POD photo is the contractual evidence. Customer often reports “missing” without checking the safe place, the photo, or with neighbours. CS workflow should ask “did you check the photo POD on the tracking link?” before opening a claim. (2) Wrong address but valid postcode. A typo in the house number with a valid postcode delivers the parcel to a real house that is not the customer’s. Address-data hygiene is the long-term fix.
Predict slot accuracy and OTD are different. Which one matters more?
Both, for different audiences. OTD is the right number for finance and operations (the day the parcel arrives, vs the day promised). Predict Slot Accuracy is the right number for the marketing and CS teams (the 30-minute window the customer was told). A merchant who is at 96% OTD and 78% Predict accuracy is hitting the day but missing the slot, customer-perception cost is high. Use Predict Slot Accuracy for a customer-experience read, OTD for a contract-compliance read.
Sunday delivery is paid-premium. Should I tighten the alert threshold for it?
Yes, often. Customers pay specifically for Sunday; misses are double-hurt (refund + brand promise broken). If Sunday is more than 2% of your DPDLocal volume, set a per-service alert at <95% for Sunday specifically (vs <92% global). The Sunday Delivery Success Rate card gives the focused view.
Why is the count of in-transit parcels excluded from this card’s denominator?
A parcel that has not delivered yet cannot be scored as “on time” or “late” deterministically (it could still hit the promise). Including in-transit rows in the denominator with a numerator of zero makes the card jump up and down as parcels deliver each day, hiding the steady-state signal. The card waits for actualDeliveryDate before counting; the Parcels In Flight card tracks the in-transit pool separately.
How does this card differ from the Late Shipments count?
Late Shipments is the absolute count of misses (numerator); OTD Rate is the proportion (numerator / denominator). On a fast-growing merchant, Late Shipments will rise even as OTD Rate stays flat (more total parcels, more late ones, same percentage). Use OTD Rate for trend and SLA conversations; use Late Shipments for daily-triage queue length and CS staffing.
The card threshold is <95% warn but DPDLocal told me my contract is 98%. Should I raise it?
Yes. Match the alert to the contract. The default threshold is the cross-merchant average; if your account team commits to 98%, set warn at <97% and critical at <95% so you can hold them to it.