What this audit checks
Authentication & access
- ClientID + ClientSecret + ApplicationID still issue valid tokens (no 401)
- Token refresh cache hit-rate > 95%
- Account-number / OBA mapping is valid (no ‘unknown account’ responses)
- Sandbox vs production base URL flagged correctly
Tracked24/48 service-day promise (the customer-promise area)
- Tracked24 (TPN24/1ST) OTD < 95% rolling 30D - SLA breach
- Tracked48 (TPN48/2ND) OTD < 90% rolling 30D - SLA breach
- First-attempt delivery < 85% (address-quality / availability signal)
- Median transit time > contracted service_day for 3+ consecutive days
- Out-of-zone areas (Highlands / NI / IoM) transit > 5 days
Handover & collection integrity (Royal Mail-specific)
- Collection-method shipments: failed pickup rate > 3%
- Post-Office deposit shipments: scan-receive lag > 24h
- Parcel Postbox deposits: no-scan-after-deposit > 2% (untracked blackhole)
- Customer Service Point handovers: tracking-event gap > 48h
Exceptions, claims & P58 lifecycle
- Exception rate > 3% rolling 30D
- Open P58 claims unresolved > 30 days (RMG standard window)
- Open P58 claims unresolved > 80 days (final P58 window - legal recovery risk)
- Lost-parcel claim rate > 1% of tracked services
- Damaged-parcel claim rate > 0.5% rolling 30D
Cost & service-mix economics
- Avg cost / shipment up > 10% vs prior period
- Tracked-service uplift (vs untracked OLA/OLP) > 40% over 1st/2nd class
- Service-mix shift WoW: tracked-share dropping >10pp (revenue-visibility risk)
- P58 claim value as % of Royal Mail revenue > 1% rolling 90D
Cross-channel: revenue at risk (the kill-shot area)
- Cross-channel: late shipments joined to commerce_sibling orders -> revenue at risk per channel
- Cross-channel: 3PL-vs-carrier delay attribution (ShipBob warehouse-handover vs Royal Mail in-transit) -> who owns the late delivery
- Cross-channel: open P58 claims with no Jira tracker_item -> CS coverage gap (silent unhappy customers)
- Cross-channel: late-delivery refund-propensity * sibling.order.total -> $ exposed to chargeback / churn this week
- Cross-channel: untracked-service (OLA/OLP) shipments to high-LTV customers -> proactive tracking-upsell candidates
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
on_time_delivery_rate | 95 | 90 |
tracked24_sla_pct | 96 | 95 |
tracked48_sla_pct | 92 | 90 |
first_attempt_delivery | 90 | 85 |
exception_rate | 2 | 3 |
p58_claim_age_days | 30 | 80 |
failed_pickup_rate_pct | 2 | 3 |
post_office_scan_lag_hours | 12 | 24 |
parcel_postbox_no_scan_pct | 1 | 2 |
shipping_cost_per_order_change_pct | 5 | 10 |
tracked_uplift_pct | 30 | 40 |
claim_value_pct_of_revenue | 0.5 | 1 |
region_otd_pct | 92 | 90 |
auth_token_failures_24h | 1 | 5 |
Data sources
GET TBD - pending CloudHub C# backend URL extraction- Auth probe + token issuanceGET TBD - pending CloudHub C# backend URL extraction- Shipment list + status (OTD, transit time)GET TBD - pending CloudHub C# backend URL extraction- Tracking events for late / exception detectionGET TBD - pending CloudHub C# backend URL extraction- P58 claim list + age / value