At a glance
Share of EasyPost-routed shipments that received an exception scan in transit (across all underlying carriers). EasyPost normalises carrier-specific exception event codes into a unified taxonomy: address_issue, recipient_unavailable, weather_delay, customs_hold (international), damaged, lost. Leading indicator for late deliveries; an exception precedes a late-or-failed delivery by 12 to 48 hours.
| What it counts | COUNT(EasyPost shipments WHERE tracking events INCLUDE any exception code) / COUNT(shipments) over the trailing 30 days. EasyPost’s unified taxonomy covers exceptions across USPS, FedEx, UPS, DHL, OnTrac, regional carriers. |
| Exception types (EasyPost normalised) | delivery_exception_address_issue, delivery_exception_recipient_unavailable, weather_delay, customs_hold, damaged, lost, held_at_facility, forwarded. |
| Lead-indicator semantics | Each exception is a yellow flag, not a confirmed late. Roughly 50 to 70% of exceptions resolve on next-day attempt and deliver on time. |
| Service level scope | All EasyPost-booked services pooled. To split by carrier (USPS exceptions vs FedEx exceptions), use Shipments by Service cross-tab. |
| Returns / RTO | Excluded. RTS shipments tracked separately. |
| Cross-carrier comparison | Different carriers have different exception-rate baselines. USPS typically runs 1.5 to 3% (rural-route, address-quality driven); FedEx 0.8 to 1.5%; UPS 1 to 2%. EasyPost aggregate sits between weighted by volume mix. |
| Holiday/election surge | Q4 spike is universal across carriers. Expect 1.5x to 2.5x normal exception rate. |
| Time window | 30D vsP (rolling 30 days, period-over-period comparison) |
| Alert trigger | >3% (warn). Steady-state DTC merchants run 1 to 2.5%. |
| Sentiment key | gauge with thresholds good=1, warn=3 (lower is better) |
| Roles | owner, operations |
Calculation
Calculated automatically from your EasyPost 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 mid-market apparel merchant via EasyPost. Reading taken at 09:00 ET on 12 Mar 26 for the trailing 30 days vs the prior 30 days.| Exception type | Shipments affected | % of total | Vs prior 30D |
|---|---|---|---|
| Address issue | 168 | 1.1% | +0.4 ppt |
| Recipient unavailable | 285 | 1.8% | +0.2 ppt |
| Weather delay | 42 | 0.3% | +0.1 ppt |
| Held at facility | 38 | 0.2% | flat |
| Customs hold (international) | 28 | 0.2% | -0.1 ppt |
| Forwarded | 32 | 0.2% | flat |
| Damaged | 12 | 0.1% | flat |
| All exceptions (this card) | 605 | 3.9% | +0.7 ppt vs 3.2% |
- Address-issue rate climbing 0.4 ppt is the headline. Investigation: the merchant added a third-party address widget on Shopify in late February. EasyPost’s pre-validation can catch some of these at booking; configure the EasyPost
verifyparameter to validate addresses before label generation. Expected drop: 0.3 to 0.5 ppt within 2 weeks. - Cross-carrier breakdown. Splitting the 168 address-issue exceptions by carrier shows 124 USPS, 32 FedEx, 12 UPS. USPS has weaker address-correction tooling at delivery; FedEx and UPS catch more at booking. The merchant should configure stricter EasyPost address-validation rules.
- Each exception predicts 0.5 to 0.7 late deliveries. 605 exceptions ≈ 300 to 420 lates downstream. The card is the early-warning for the on-time number.
- Customs hold at 0.2% is small but non-zero. International parcels routed via EasyPost still hit customs holds; route through DHL Express for international where possible (better customs pre-clearance than USPS International or FedEx International Economy).
- Damage at 0.1% is normal. 12 damaged across 605 exceptions over 30 days is operational baseline; investigate only if it climbs above 0.3%.
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 climbing 24 to 72 hours before on-time drops is the early-warning. |
| Late Shipments | Lagging count. | 50 to 70% of exceptions become late deliveries. |
| Returned to Sender | Worst-case outcome. | Address exceptions that fail correction become RTS within 5 to 15 days. |
| Failed Delivery Count | Severe-end of exception spectrum. | Failed delivery is the confirmed-cannot-deliver disposition. |
Cross-connector: fedex.fed_exception_rate | Direct-FedEx subset. | EasyPost-FedEx and direct-FedEx exception rates should converge. |
Cross-connector: usps.usp_exception_rate | Same for USPS. | Same. |
| Cross-connector: address-validation tools | Upstream root cause. | High address-exception suggests checkout-side validation isn’t firing. |
Reconciling against the vendor’s own dashboard
Where to look in EasyPost’s own dashboard: EasyPost Dashboard → Tracking → Filter by status: Exception. Lists every shipment with an active or recent exception event, broken out by exception type. The card aggregates this into a single percentage; the dashboard surface allows row-by-row triage. Why our number may legitimately differ from EasyPost’s portal:| Reason | Direction | Why |
|---|---|---|
| Carrier event-code mapping | Either | EasyPost normalises carrier-specific codes; some edge cases (e.g. UPS “Address Correction Required” code 11) can map to multiple normalised types. Both card and portal should agree most of the time. |
| Polling lag | Ours lower for “today” | EasyPost polls every 30 to 60 minutes; today’s reading may slightly differ. |
| Exception duration | Either | Some merchants want only “still-active” exceptions counted; the card counts any exception event in the period regardless of resolution. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
fedex.fed_exception_rate | EasyPost-FedEx subset. | Direct-FedEx counts include non-EasyPost shipments. |
usps.usp_exception_rate | Same for USPS. | Same. |
Known limitations / merchant FAQs
How do I cut address-issue exceptions specifically? Enable EasyPost’s address-verification feature. Passverify_strict: ["delivery"] in the Address API call at booking; EasyPost validates against USPS database (and DHL/UPS data for international) and rejects undeliverable addresses before label generation. Reduces address-issue exceptions by 40 to 70%.
My exception rate jumped from 2% to 4% overnight. Where do I look?
Three diagnostic steps. (1) Open the breakdown by carrier; if one carrier dominates the spike, the issue is carrier-specific. (2) Open by zone; if one region dominates (Mountain West winter storms, Northeast nor’easters), the cause is exogenous. (3) Open by exception type; address-issue spike often traces to a checkout-flow change.
Why is “Recipient unavailable” so high?
Recipient-not-home is partially irreducible (1 to 2% baseline). Mitigations: (a) Configure EasyPost to use indirect signature where signature isn’t required (avoids signature-required-recipient-not-home redeliveries). (b) Enable text/email tracking notifications that prompt customers to be home or set up Hold for Pickup. (c) For high-value parcels, use carrier-side schedules-on-account services (UPS My Choice, FedEx Delivery Manager).
A shipment showed an exception but delivered on time. Why does the card count it?
Exceptions are events; delivery is an outcome. The card counts exception events because they’re predictive of customer-experience risk even when ultimate delivery succeeds. Each exception is a yellow flag, not a confirmed late.
Should I disable carriers with high exception rate to drop my number?
Usually no. The cost saving from rate-shopping (especially USPS for sub-1lb) typically outweighs the operational cost of a higher exception rate. Calculate: cost saving per shipment vs CS-cost-per-exception. Most merchants find rate-shopping net-positive.
What’s “Held at facility” mean for cross-carrier?
Carrier holds the parcel for recipient pickup (USPS Hold Mail, FedEx Hold at Location, UPS Access Point). Sometimes initiated by recipient (vacation hold), sometimes by carrier (delivery attempt failed, oversized for vehicle). The card counts as exception; resolution depends on recipient action.
Are EasyPost exceptions the same as carrier exceptions?
Conceptually similar but EasyPost normalises carrier-specific codes into a unified taxonomy. The aggregate rate should agree with the sum of per-carrier exception rates within ±0.5 ppt; granular event mapping has small edge cases.
During Q4, what exception types climb the most?
“Recipient unavailable” climbs because of holiday travel. “Weather delay” climbs in storm-prone regions. “Held at facility” climbs as carrier-side hold backlog grows. “Address issue” climbs if merchant’s volume grows faster than checkout-validation maturity. All exception types climb; prepare for 1.5x to 2.5x the normal rate.