What this audit checks
Authentication & access
- OAuth2 client_id + client_secret still issue access_tokens (no 401)
- Account number maps to active rate-card (no ‘unknown account’)
- Token cache hit-rate > 95%
- Legacy SOAP credentials (UserCredentialKey/Pw + ParentCredentialKey/Pw) still work for migration cases
Priority service-day promises
- Priority Overnight OTD < 99% rolling 30D (flagship SLA)
- First Overnight OTD < 99% (premium, by-10am)
- FedEx 2-Day OTD < 96%
- FedEx Ground OTD < 92%
- First-attempt delivery rate < 88%
International customs & cross-border lanes
- International Priority customs-hold rate > 1%
- Specific origin->destination lane customs-hold > 5%
- Cross-border transit time > 7 days (lane-stretch signal)
- Customs-value declaration mismatch > 1% (HS code / value gaps)
Exceptions, claims & failed pickups
- Exception rate > 3% rolling 30D
- Open claims unresolved > 30 days (FedEx claim cycle)
- Failed pickup rate > 3%
- Damaged-parcel claim rate > 0.5%
Hazmat / dangerous-goods compliance
- Hazmat shipment acceptance rate < 98% (documentation gaps signal)
- Hazmat shipments without proper class declaration > 0.1%
- Lithium-battery surcharge / declaration miss
Cost & service-mix economics
- Avg cost / shipment up >10% vs prior period
- Priority Overnight uplift > 50% over 2-Day
- Fuel surcharge as % of base cost > 25% (rising-fuel signal)
- Claim value as % of FedEx 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
- Cross-channel: open claims with no Jira tracker_item -> CS coverage gap
- Cross-channel: customs-held international shipments -> proactive merchant-IOSS / commercial-invoice fix candidates
- Cross-channel: late-delivery refund-propensity * sibling.order.total
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
on_time_delivery_rate | 96 | 95 |
priority_overnight_sla_pct | 99 | 98 |
first_overnight_sla_pct | 99 | 98 |
fedex_2day_sla_pct | 96 | 94 |
fedex_ground_sla_pct | 92 | 90 |
customs_hold_pct | 0.5 | 1 |
customs_value_mismatch_pct | 0.5 | 1 |
exception_rate | 2 | 3 |
open_claims_age_days | 14 | 30 |
failed_pickup_rate_pct | 2 | 3 |
hazmat_acceptance_pct | 99 | 98 |
shipping_cost_per_order_change_pct | 5 | 10 |
fuel_surcharge_pct | 20 | 25 |
claim_value_pct_of_revenue | 0.5 | 1 |
auth_token_failures_24h | 1 | 5 |
Data sources
POST https://apis.fedex.com/oauth/token- OAuth2 client-credentials token issuancePOST https://apis.fedex.com/track/v1/trackingnumbers- Tracking events (batch)POST https://apis.fedex.com/ship/v1/shipments- Label generation (write-side)POST https://apis.fedex.com/rate/v1/rates/quotes- Rate quote (cost analysis)