> ## 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.

# On-Time Delivery Rate, Parcelforce Worldwide

> On-Time Delivery Rate for Parcelforce Worldwide 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 Parcelforce Worldwide consignments that landed on or before the contracted service-day promise. Parcelforce, Royal Mail's express-parcel arm, sells time-definite tiers (Express9, Express10, ExpressAM, Express24, Express48, Globaldirect) where the promise is a specific cutoff time on a specific working day. A shipment that misses by even five minutes is "late" against that contract; this card scores every delivered consignment 0 or 1 against its own service-level promise.

|                                |                                                                                                                                                                                                                                                                                                                                                                |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**             | `COUNT(shipments WHERE actual_delivery_datetime <= promised_delivery_datetime AND status = 'DELIVERED') / COUNT(shipments WHERE status IN ('DELIVERED','FAILED'))` over the rolling 30-day window. Each delivered consignment is judged against its own service tier's cutoff.                                                                                 |
| **Delivery success criterion** | Driver scan or signature-on-glass POD captured at the doorstep, returned via Parcelforce's tracking webhook (`Delivered`, `Delivered to neighbour`, `Delivered to safe place`). A consignment without a final POD scan is excluded from numerator and denominator until the scan lands.                                                                        |
| **On-time threshold**          | Promised cutoff *time* on the promised *date*. Express9 = 09:00, Express10 = 10:00, ExpressAM = 12:00, Express24 = end-of-day next working day, Express48 = end-of-day day-2, Globaldirect = country-specific transit time. No grace period; Parcelforce's published service definitions are the contract.                                                     |
| **Returns / RTO**              | RTOs (returned-to-sender) are excluded from this card and tracked separately on `par_returned_to_sender`. Failed-and-redelivered parcels score against the *first* successful delivery datetime; a reschedule that ultimately delivers on day 2 of an Express24 is late.                                                                                       |
| **Service level scope**        | **All services pooled.** Express9, Express10, ExpressAM, Express24, Express48, plus Globaldirect international and Saturday uplift, all in the headline rate. The dedicated `parcelforce_express24_otd` and `parcelforce_xc_otd_by_channel` cards split the picture.                                                                                           |
| **Money-back-on-late**         | Parcelforce offers carriage-charge refunds on Express9 / Express10 / ExpressAM / Express24 service failures where Parcelforce was at fault (i.e. not customs delay, not address issue). Filing window is typically 30 days from the failed POD, longer than APC's 14-day window. This card surfaces candidates; pair with `par_open_claims` to track recovery. |
| **B2B vs B2C**                 | Pooled. B2B reseller traffic concentrates on Express9 / Express10 / ExpressAM (corporate IT, healthcare, professional services that need stock before staff start); B2C concentrates on Express24 / Express48. The same five-minute slip is critical to a B2B audience and immaterial to a Saturday consumer; the rate treats them identically.                |
| **Saturday uplift**            | Saturday delivery is a paid-for upgrade on Express24, not a default. Saturday consignments are scored against their own Saturday-promise cutoff; ROI of paying the uplift is on `parcelforce_saturday_uplift_roi`.                                                                                                                                             |
| **Royal Mail vs Parcelforce**  | Parcelforce is Royal Mail's premium parcels arm and operates a separate hub-and-spoke network (Coventry NDH plus regional depots) from Royal Mail's tracked-letter service. A merchant running Royal Mail Tracked-24 alongside Parcelforce Express24 should treat them as distinct carriers; this card covers Parcelforce only.                                |
| **Time zone**                  | All scan timestamps in UK local time (GMT or BST). Globaldirect international scans are in destination time and are not yet normalised; expect minor edge-of-window noise on cross-border consignments.                                                                                                                                                        |
| **Time window**                | `30D vsP` (rolling 30 days, period-over-period vs prior 30 days)                                                                                                                                                                                                                                                                                               |
| **Alert trigger**              | `<95%` warns, `<90%` critical, the `on_time_delivery_rate` gauge sentiment trips. Parcelforce's published Express24 SLA is \~98%; any sustained slip below 95% on a Parcelforce-heavy merchant is an account-team conversation.                                                                                                                                |
| **Roles**                      | owner, operations                                                                                                                                                                                                                                                                                                                                              |

## Calculation

Calculated automatically from your Parcelforce Worldwide 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-electronics merchant: £320 average-order-value laptops and accessories, mix of consumer DTC and corporate B2B (a small reseller channel). Parcelforce Express24 is the consumer carrier; Parcelforce Express9 is the B2B reseller carrier (corporate IT teams need stock before staff start). Reading taken at 09:00 GMT on 13 Mar 26 for the trailing 30 days (12 Feb 26 to 12 Mar 26).

| Service                          | Shipments (30D) | Delivered on or before promise | OTD%      |
| -------------------------------- | --------------- | ------------------------------ | --------- |
| Express24 (consumer DTC)         | 4,180           | 3,990                          | 95.5%     |
| Express9 (B2B reseller)          | 612             | 591                            | 96.6%     |
| ExpressAM (mixed)                | 244             | 232                            | 95.1%     |
| Express48 (bulk DTC)             | 198             | 191                            | 96.5%     |
| Globaldirect (international, EU) | 116             | 102                            | 87.9%     |
| **Total (this card)**            | **5,350**       | **5,106**                      | **95.4%** |

The card reads **95.4%** on the dial; the alert at `<95% (warn)` is **not** tripped at the aggregate level by 0.4 of a point. Five things to notice:

1. **The headline sits a fraction above the warn threshold.** A 22-shipment swing the wrong way next week and the dial trips. Premium-express buyers paid for the \~98% Parcelforce SLA; landing at 95.4% is contractually inside spec but commercially uncomfortable. Pair with `par_shipments_trend` to see if volume is rising into a strained capacity bracket.
2. **Globaldirect 87.9% is mostly customs, not Parcelforce.** Post-Brexit, EU consignments run customs-clearance delay risk on every parcel; Parcelforce's API publishes `failure_reason: customs` on these. The customer experiences the lateness regardless, so the card counts them; for service-failure refund eligibility, customs delays do not qualify.
3. **190 missed Express24 + 21 missed Express9 = 211 domestic premium misses, all refund candidates.** At an estimated £9 average carriage refund, that is \~£1,899 of recoverable carriage if the merchant files within Parcelforce's 30-day window. Most merchants file \<20% of eligible claims; this is a finance-and-ops collaboration, not a fire-drill.
4. **B2B Express9 is your tightest contract and runs at 96.6%.** Five-minute slip past 09:00 fails Express9. The 21 misses here translate into corporate-IT-team escalations and, more importantly, into a B2B reseller's perception of your reliability. Track Express9 separately even though it is a small slice of volume.
5. **Compare against the same 30-day window last year.** 13 Mar 25 reading was 96.8%; the slip to 95.4% is the real story. Most likely cause: the recent product launch lifted DTC volume past the merchant's negotiated daily collection capacity, pushing afternoon orders into next-day-collection cohorts. The fix is at the dispatch cutoff, not in carrier negotiation. Pair with `par_route_otd` to localise.

## Sibling cards merchants should reference together

On-time delivery rate is the customer-facing outcome metric for a Parcelforce merchant. Pair it with these to diagnose root cause and track recovery:

| Card                                                                                                        | Why pair it with On-Time Delivery Rate                                                                                                 | What the combination tells you                                                                                                            |
| ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| [Late Shipments](/nerve-centre/kpi-cards/parcelforce/late-shipments)                                        | The absolute-count companion. The percent stays flat as volume rises; the count does not.                                              | If both rise, the network is degrading. If only the count rises, the network is healthy and volume is up. Two different remedies.         |
| [Express24 Service Day Promise](/nerve-centre/kpi-cards/parcelforce/express24-service-day-promise)          | Parcelforce's flagship consumer service. On most DTC merchants Express24 is 80%+ of volume and dominates the headline.                 | Most aggregate slips are Express24 slips. Always check Express24 OTD first when this card moves.                                          |
| [OTD by Route](/nerve-centre/kpi-cards/parcelforce/otd-by-route)                                            | Splits the rate by Parcelforce's depot-and-route network (Coventry NDH plus regional depots).                                          | A one-route drop is an account-team conversation; a network-wide drop is a peak-period or weather event.                                  |
| [Open Claims](/nerve-centre/kpi-cards/parcelforce/open-claims)                                              | Each missed premium shipment is a service-failure-refund candidate. Filing rate vs miss rate tells you if you are recovering carriage. | If late count is 200 and open-claims is 30, the merchant is leaving over £1,500 of carriage refunds per period unclaimed.                 |
| [Saturday Delivery Uplift ROI](/nerve-centre/kpi-cards/parcelforce/saturday-delivery-uplift-roi)            | If you pay Saturday uplift to recover Friday-late parcels, this card tracks that economic decision.                                    | Late-shipment rise on Fridays + low Saturday-uplift ROI = the uplift is not solving the right problem. Drop the spend.                    |
| [Parcelforce OTD by Sales Channel](/nerve-centre/kpi-cards/parcelforce/parcelforce-otd-by-sales-channel)    | Cross-platform. A drop that is all DTC and zero B2B reseller tells you it is a consumer-experience problem first.                      | Channel mix in the slip matches the channel mix of customer-service tickets a day later. Predictive of CS load.                           |
| [Avg Shipping Cost](/nerve-centre/kpi-cards/parcelforce/avg-shipping-cost)                                  | If OTD is dropping and cost is rising, you are paying more for less. The spend-to-service curve.                                       | Negotiation lever for the next Parcelforce account review.                                                                                |
| Cross-connector: [`shopify.unfulfilled_orders`](/nerve-centre/kpi-cards/shopify/unfulfilled-orders)         | Upstream. Shopify orders booked too late in the day cannot make Parcelforce's same-day collection cutoff.                              | A creep in late-day Shopify orders predicts an OTD dip on this card 2 to 4 days later.                                                    |
| Cross-connector: [`bigcommerce.unfulfilled_orders`](/nerve-centre/kpi-cards/bigcommerce/unfulfilled-orders) | Upstream same as Shopify.                                                                                                              | Same caveat for BigCommerce-driven merchants.                                                                                             |
| Cross-connector: [`apc.apc_otd_rate`](/nerve-centre/kpi-cards/apc/on-time-delivery-rate)                    | Peer UK premium shipper. Useful only on multi-carrier merchants.                                                                       | If APC and Parcelforce both spike-low at the same time, the cause is upstream (warehouse, dispatch); if only one, it is carrier-specific. |
| Cross-connector: [`royal_mail.rm_otd_rate`](/nerve-centre/royal_mail/rm_otd_rate)                           | Royal Mail Tracked is the value-tier sister carrier. Different network, different SLA.                                                 | Comparing Parcelforce premium-tier to Royal Mail value-tier in the same period reveals which contract you are buying.                     |

## Reconciling against the vendor's own dashboard

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

[Parcelforce ParcelManager](https://parcelmanager.parcelforce.com/) → **Reports → Service Performance**. Filter by *All services / All depots / Last 30 days*. The closest like-for-like view is the **On-Time Delivery KPI** tile. ParcelManager also exposes a per-consignment audit at *Track and Trace → Failed Deliveries* with the gap between scheduled and actual POD; useful when the headline disagrees and you need to see which parcels missed.

For account-level reporting at the Royal Mail Group level, larger merchants also have access to the **Royal Mail Group Online Business Account** dashboard, which aggregates Parcelforce alongside Royal Mail Tracked and Special Delivery products. The Parcelforce-only view in ParcelManager is the apples-to-apples comparison for this card.

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

| Reason                            | Direction                    | Why                                                                                                                                                                                                                                                                                                                                   |
| --------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Time zone**                     | Boundary days off            | ParcelManager defaults to UK local time (GMT or BST). The card defaults to UK local time. No discrepancy in steady-state, but DST transitions on the last Sunday of March and October cause one-hour boundary noise on those specific days.                                                                                           |
| **POD scan vs delivery datetime** | Either                       | ParcelManager treats the POD scan datetime as truth. The card uses the same field. Some merchants who reconcile against the customer's own *received-at* email timestamp will see a 1 to 4 hour delta; that is not a Parcelforce-vs-card delta, it is a customer-perception delta.                                                    |
| **In-transit consignments**       | Ours rolling                 | Consignments without a final POD are excluded from numerator and denominator. As they deliver, the rolling 30-day window numerator and denominator both grow. ParcelManager's tile may include in-transit as a separate slice; the card does not.                                                                                     |
| **Globaldirect customs delays**   | Ours lower for international | Customs holds add transit days that Parcelforce attributes to `failure_reason: customs`. The card counts the customer-experienced lateness regardless. ParcelManager's "Parcelforce-fault-only" service-failure tile excludes them; that view will show a higher OTD%. The two reconcile when the merchant filters out international. |
| **Refund-eligible vs all-late**   | Ours lower                   | Parcelforce's account-team often quote a service-failure rate that excludes customer-fault, address-fault, customs delays. The card's denominator is all delivered consignments and the numerator counts "delivered on or before promise". The customer-experienced number is what this card publishes.                               |

**Cross-connector reconciliation:**

| Card                                                                                       | Expected relationship                                                                                                                   | What causes legitimate divergence                                                                                                  |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| [`shopify.fulfillment_lead_time`](/nerve-centre/shopify/fulfillment_lead_time)             | Upstream causation. Late Shopify fulfilment cannot make Parcelforce's same-day collection cutoff.                                       | App-install events, manual fulfilment overrides, B2B / pre-order workflows that bypass the standard cutoff.                        |
| [`bigcommerce.unfulfilled_orders`](/nerve-centre/kpi-cards/bigcommerce/unfulfilled-orders) | Same as Shopify upstream.                                                                                                               | Same caveat.                                                                                                                       |
| [`royal_mail.rm_otd_rate`](/nerve-centre/royal_mail/rm_otd_rate)                           | Peer service tier (Royal Mail Tracked is value-tier; Parcelforce is premium-tier). Run by the same parent group, on different networks. | Different parcel populations entirely. Most multi-tier merchants run both; the two cards are not reconciled, they are independent. |
| [`apc.apc_otd_rate`](/nerve-centre/kpi-cards/apc/on-time-delivery-rate)                    | Peer UK premium shipper. Independent network.                                                                                           | Different consignments. Useful for shop-around and benchmarking, not reconciliation.                                               |

***

<details>
  <summary><em>Documentation cross-reference (for agencies running multiple UK shippers)</em></summary>

  UK premium-express on-time-delivery exists across several carriers; these are independent operations on independent networks, not parallel measurements of the same shipments. Use the cross-links only to navigate documentation.

  * APC Overnight (peer premium UK)
  * DPD UK (peer premium UK, parent of Interlink Express)
  * Interlink Express (DPD's premium tier)
  * Royal Mail Tracked (value-tier sister carrier, same parent group as Parcelforce)
  * Yodel (value-tier UK consumer)
  * DHL Express (international premium)
</details>

## Known limitations / merchant FAQs

**Why does the headline rate look fine but our customer-service team is buried in delivery complaints?**
Two reasons. First, customers complain about *late*, not about *averages*. A 95.4% headline still means 244 missed parcels in 30 days for the worked example above; that is at least 244 customer-service tickets even before the social-media echo. Second, complaints concentrate around premium services. A customer who paid £8.95 for Express24 expects perfection; a customer who took free standard shipping is more forgiving. Pair this card with `parcelforce_express24_otd` to see if the complaints map to the premium-paid cohort specifically.

**What does Parcelforce mean by "service-failure refund" and how do we claim?**
Parcelforce credits the carriage charge back when a time-definite consignment (Express9, Express10, ExpressAM, Express24) misses its promise where Parcelforce is at fault. Customs delays, address-fault, recipient-not-home, customer-refused, and force-majeure events do not qualify. File via the **Service Failure Claim** form in ParcelManager, attach the consignment number, and Parcelforce processes within 30 working days. Filing window is 30 days from the failed POD (longer than APC's 14-day window). Most merchants leave money on the table by not filing; this card surfaces the candidates and `par_open_claims` tracks recovery.

**Why is Globaldirect dragging our headline?**
Post-Brexit, Globaldirect EU consignments run customs-clearance delay risk on every parcel. Parcelforce attributes most of these to `failure_reason: customs` and they do not qualify for service-failure refund. The customer experiences the lateness regardless, so the card counts them. If Globaldirect is more than 5% of your volume, monitor it on `par_shipments_by_destination` and decide whether the international-premium tier is worth the OTD drag. Some merchants prefer DHL Express or FedEx International Priority for high-value EU customers because their customs-clearance handling is more predictable.

**Why does Parcelforce show "delivered on time" but the customer says it was late?**
Three usual reasons. (1) **Promised cutoff vs delivered datetime.** Parcelforce judges Express24 against "end of next working day"; customers often expect "by 18:00". A 19:30 delivery is on-time by Parcelforce's contract and late by customer expectation. (2) **Customer ordered after the cutoff** but received a "next-day" promise from your checkout. The carrier promise starts at collection; the customer's clock started at checkout. Misaligned expectations are a checkout-copy issue, not a carrier issue. (3) **Re-attempted delivery.** A failed-first-attempt that delivered on day 2 is late on this card; Parcelforce's tracking page may also show "delivered" without highlighting the missed first attempt.

**B2B and B2C have different sensitivities; should we split this card?**
The card pools all services. If your B2B reseller channel is meaningful (>10% of volume), use `parcelforce_xc_otd_by_channel` for the channel split, and `par_shipments_by_service` for the service split. Express9 / Express10 / ExpressAM are de facto B2B-heavy services; Express24 / Express48 are de facto B2C. Track the premium services individually if a missed Express9 means a corporate-account-renewal conversation.

**Do we need a separate Saturday-uplift view?**
Yes if you pay it. Saturday delivery is a paid-for upgrade on Express24 and changes the promise. The card pools Saturday deliveries in the headline; the dedicated `parcelforce_saturday_uplift_roi` card tracks the financial decision (does the OTD lift justify the cost uplift). Most weekend-fulfilment merchants discover the Saturday spend is recovering one or two consignments per week and dropping the spend would be a net win.

**Why is our Parcelforce OTD lower than DPD's published 99% benchmark?**
DPD's 99% is a network average across all customers and is reported with a different SLA definition (DPD's "delivered within the predicted time-window" promise, not "delivered by the cutoff time"). Parcelforce's published Express24 SLA is \~98%. Comparing across networks requires calibrating the SLA definition. Use the dedicated peer cards (`apc.apc_otd_rate`, `royal_mail.rm_otd_rate`, `interlink_express.int_otd_rate`) for like-for-like.

**How does this card behave during peak season (Black Friday, Christmas)?**
Parcelforce's network is one of the more peak-resilient in the UK premium tier; expect a 2 to 5 percentage-point dip in November and December (vs the typical 5 to 15 point dip on value-tier carriers). The dip recovers by mid-January. Read November and December numbers in seasonal context, not as a clean trend. Pre-position promised-date copy in checkout for the last week before Christmas: "Order by 18 December for delivery by 23 December" beats "Standard 1 to 3 day delivery" both for OTD and for refund-rate downstream.

**What if we run multiple shipping accounts (Parcelforce A/C 1 for DTC, A/C 2 for B2B)?**
Today the card pools all accounts under the connected Parcelforce credentials. If you need a per-account-number split, the data is in `account_number` per consignment; raise it on `par_route_otd` filter requests. Most merchants connect a single Parcelforce credential and use service-tier filters instead.

***

### Tracked live in Vortex IQ Nerve Centre

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