At a glance
Share of FedEx parcels that hit a non-delivery exception scan during transit (weather hold, address correction, customer not home, customs delay, etc.). The lead indicator for late-shipment count and the early-warning signal that something is degrading in the network 12 to 48 hours before headline OTD drops.
| What it counts | COUNT(shipments WHERE any_scan_event_in('exception_scan_codes')) / COUNT(shipments_in_period). Each shipment is counted once even if it hits multiple exceptions. |
| Exception scan codes pooled | Code 07 (EX, network exception), 09 (NF, address not found / undeliverable), 12 (HD, weather/natural disaster delay), 17 (BC, business closed), 67 (CD, customs delay), 70 (RTS, return to sender intent), 80 (DY, delay), 83 (CA, shipment cancelled), 84 (DR, dropoff request). The card pools all exceptions; the FedEx Tracking API exposes per-code detail for triage. |
| Resolution-state semantics | Exception scans are “transient”, a parcel can clear the exception (e.g. address corrected, weather embargo lifts) and still deliver on time. The card counts any shipment that hit an exception, regardless of final delivery outcome. |
| Service level scope | All FedEx services pooled. Ground typically runs 1.5% to 3.5% exception rate at steady state; Express runs 0.5% to 1.5%; SmartPost runs 3% to 6% (USPS final-mile inflates). |
| Lead indicator behaviour | Exception rate spikes 12 to 48 hours before Late Shipments climbs and 24 to 72 hours before On-Time Delivery Rate drops. Operations teams watching this card can pre-arm CS messaging before the customer impact hits. |
| Customer-fault vs network-fault split | Code 09 (NF), 17 (BC), 67 (CD when due to merchant docs error), 80 (DY when customer-requested) are merchant or customer-correctable. Code 07 (EX), 12 (HD), 67 (CD network-side) are FedEx-side. The card pools both. Roughly 60% to 70% of exceptions are operational (correctable); 30% to 40% are FedEx-side (weather, network). |
| Peak-period seasonality | Q4 routinely lifts exception rate from baseline 2% to 8% to 14%, driven by weather, network capacity strain, and customer address-correction requests during gift-shipping. The 30D vsP comparison flags the climb mid-November. |
| Time window | 30D vsP (rolling 30 days, period-over-period comparison) |
| Alert trigger | >3%, sentiment thresholds at good=1, warn=3 |
| Roles | owner, operations |
Calculation
Calculated automatically from your FedEx 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 US DTC consumer-electronics brand shipping out of Salt Lake City, UT using FedEx as primary carrier. Reading taken at 09:00 MT on 12 Mar 26 for the trailing 30 days vs prior 30 days.| Exception Code | Description | Count | Share of exceptions | Customer-correctable? |
|---|---|---|---|---|
| 09 (NF) | Address not found / undeliverable | 84 | 31.7% | Yes |
| 12 (HD) | Weather / natural disaster | 76 | 28.7% | No |
| 07 (EX) | Network exception (truck breakdown, mis-sort) | 51 | 19.2% | No |
| 17 (BC) | Business closed | 28 | 10.6% | Partly |
| 67 (CD) | Customs delay (international) | 14 | 5.3% | Partly |
| 80 (DY) | Customer-requested delay / hold | 12 | 4.5% | Yes |
| Total exceptions | 265 | |||
| Total shipments (30D) | 15,830 | |||
| Exception rate (this card) | 1.67% |
- Address-not-found (Code 09) is the largest single bucket at 31.7%. Address-correction failures are merchant-correctable. Action: enable address-validation at checkout (Shopify Shop Pay, Adobe Commerce address verification, Google Address API), reject undeliverable addresses before they reach FedEx. Each prevented Code 09 saves 22 in re-shipment cost and an unhappy customer interaction.
- Weather (Code 12) at 28.7% reflects a cold-snap event in the Midwest 17 Feb 26 to 19 Feb 26. This is FedEx-side and uncontrollable. The exception rate spiked from baseline 1.4% to 4.8% on 18 Feb 26, recovered over 5 days. The card shows the residual; the 30D average smooths but the trend chart shows the spike.
- The +0.26 percentage-point climb over the prior period is mostly the weather event, plus a small Code 09 climb. Weather is non-recurring; Code 09 may be structural if checkout address-validation has degraded. Audit the Shopify checkout flow.
- Network exceptions (Code 07) at 19.2% are FedEx-side. They reflect truck breakdowns, hub mis-sorts, or routing errors. The merchant cannot prevent them, but high Code 07 share (>20%) on a sustained basis is grounds for an account-team conversation about route reliability on the merchant’s lanes.
- Customs delays (Code 67) at 5.3% suggest international Priority shipments are running into commercial-invoice or HS-code issues. Each customs delay adds 2 to 5 days of transit time. Audit the international-shipping playbook: HS codes accurate? Commercial invoice attached? Country-specific paperwork (CN22 / CN23) included? See International Customs-Hold Rate by Lane for lane-level detail.
Sibling cards merchants should reference together
| Card | Why pair it with Exception Rate | What the combination tells you |
|---|---|---|
| On-Time Delivery Rate | Lagging confirmation. | Exception rate climbing 24-72 hours before on-time drops is the early-warning signal. Act on the exception, not the on-time number. |
| Late Shipments | Lagging count. | 50-65% of exceptions become late deliveries; the rest resolve on next-attempt. |
| Returned to Sender | Worst-case outcome. | Address-quality exceptions (Code 09 NF) that fail correction roll forward into RTS within 5-15 days. |
| Failed Delivery Count | Severe end of exception spectrum. | Confirmed-cannot-deliver disposition. |
| International Customs-Hold Rate by Lane | International subset. | Customs-hold scans (Code 67/68 CD) are exception events for international Priority. |
| OTD by Route | Geographic split. | Weather-driven exceptions concentrate in specific zones; pair to identify regional exposure. |
Cross-connector: shopify.refund_rate | Customer-impact lag. | Address-exception rate predicts refund-rate climb at 10-20 day lag. |
| Cross-connector: address-validation tools (Shopify Shop Pay, Google Address Validation) | Upstream root cause. | High Code 09 share suggests checkout-side validation isn’t firing. |
Reconciling against the vendor’s own dashboard
Where to look in FedEx’s own dashboard: FedEx Reporting Online → Reports → Tracking → Exception Detail. Filter to All Services, Last 30 Days. The portal shows per-shipment exception scans with code, date, and resolution status. The card aggregates across all shipments; the portal supports row-level triage. Why our number may legitimately differ from FedEx’s portal:| Reason | Direction | Why |
|---|---|---|
| Code-set scope | Either | The card includes any non-routine scan (Code 07, 09, 12, 17, 67, 80). Some FedEx reports default to “delivery exceptions” only, excluding network exceptions (Code 07). To match like-for-like, set both to the same exception-type filter. |
| Resolution counting | Either | Some merchants want only “still-active” exceptions counted; the card counts any exception event in the period regardless of subsequent resolution. |
| Multi-piece shipments | Either | A multi-piece shipment with one piece exceptioned and others delivered cleanly may count as one exception (master-tracking-level) or one exception per piece (piece-level). The card uses master-tracking-level by default. |
| Time zone | <1 day off | UTC vs billing-time-zone boundary. |
| Tracking-scan lag | Ours lower for “today” | FedEx Tracking API scan events flow with 30-minute to 4-hour lag during normal volumes. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
usps.usp_exception_rate | Peer carrier. Independent populations. | USPS typically runs higher exception rate (rural-route address quality); FedEx lower (better address-validation at booking). |
easypost.eas_exception_rate | If EasyPost is the booking layer for FedEx, EasyPost’s FedEx-subset agrees with this card. | Filter EasyPost by carrier=FedEx for like-for-like. |
| Customer NPS or chargeback rate | Downstream sentiment. | Exception rate climbing predicts higher refund-and-chargeback at 7-14 day lag. |