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

# Exception Rate, ShippyPro

> Exception Rate for ShippyPro 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 ShippyPro shipments that recorded any non-progress tracking event during transit, pooled across every carrier ShippyPro orchestrated. Address invalid, attempted-no-answer, held at depot, customs hold, damaged, lost. The early-warning signal that predicts a falling [OTD Rate](/nerve-centre/kpi-cards/shippy-pro/on-time-delivery-rate) at 24 to 72 hours, with the wrinkle that each of the 100+ supported carriers has its own exception taxonomy and ShippyPro normalises them.

|                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**                          | `COUNT(shipments WHERE EXISTS(tracking_event WITH event_type IN exception_set)) / COUNT(shipments)` over the trailing 30 days. Each shipment scores once even if it threw multiple exceptions.                                                                                                                                                                                                                                                       |
| **Delivery success criterion**              | Not directly applicable. Exceptions surface during transit, not at terminal status.                                                                                                                                                                                                                                                                                                                                                                  |
| **On-time threshold**                       | Not applicable. The OTD card answers "did it arrive on time"; this card answers "did anything go wrong on the way".                                                                                                                                                                                                                                                                                                                                  |
| **Returns / RTO**                           | Outbound only by default. Easy Return shipments and RTS events appear separately ([Returned to Sender](/nerve-centre/kpi-cards/shippy-pro/returned-to-sender)).                                                                                                                                                                                                                                                                                      |
| **Service level scope**                     | All carriers and services pooled. Per-carrier breakdown lives in [OTD by Route](/nerve-centre/kpi-cards/shippy-pro/otd-by-route) and [Rate-Shop Winner Mix](/nerve-centre/kpi-cards/shippy-pro/rate-shop-winner-distribution).                                                                                                                                                                                                                       |
| **Exception-event categories (normalised)** | (1) **Address** (invalid postcode, missing civic number for IT, missing CAP) \~30 percent. (2) **Recipient** (attempted-no-answer, refused, redirect to PUDO) \~26 percent. (3) **Depot/network** (held at depot, missed cutoff, ferragosto hold) \~24 percent. (4) **Customs / border** (cross-border to UK/CH/non-EU) \~12 percent. (5) **Damage / lost** \~8 percent. The mix is more border-heavy than ShipTheory because of cross-border share. |
| **Currency**                                | Not applicable, this is a rate.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Time window**                             | `30D vsP` (rolling 30 days vs prior 30 days).                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Alert trigger**                           | `>3%` critical, `>1%` warn, driven by `sentiment_key: exception_rate`. EU/IT benchmark on a balanced mix is 1.2 to 2.0 percent; cross-border-heavy accounts run 1.8 to 2.5 percent structurally because of customs events. Above 3 percent typically signals a sub-carrier or border event.                                                                                                                                                          |
| **Roles**                                   | owner, operations                                                                                                                                                                                                                                                                                                                                                                                                                                    |

## Calculation

Calculated automatically from your ShippyPro data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

The same Italian DTC fashion brand (BRT, DHL Express, Poste Italiane, GLS). Reading taken at 09:00 CET on 12 Mar 26 for the trailing 30 days (10 Feb 26 to 11 Mar 26).

| Exception category                                                     | Shipments affected | % of total |
| ---------------------------------------------------------------------- | ------------------ | ---------- |
| Address (CAP missing, civic number missing, address-line invalid)      | 138                | 0.86%      |
| Recipient (attempted-no-answer, refused, PUDO redirect requested)      | 122                | 0.76%      |
| Depot / network (held at BRT/Poste depot, missed cutoff, weather hold) | 110                | 0.69%      |
| Customs / border (UK/CH cross-border declaration issues)               | 56                 | 0.35%      |
| Damage / lost                                                          | 38                 | 0.24%      |
| **All exceptions (this card)**                                         | **464**            | **2.90%**  |

Total shipments in window: 16,000. Exception rate: **2.9 percent**. The card reads **2.9 percent** on the dial; the alert at `>3%` is **just under** the trip line. Five things to notice:

1. **Per-carrier exception rates differ structurally.** The 464 exceptions break down approximately: BRT \~150, Poste Italiane \~180, DHL Express \~50, GLS \~84. Poste Italiane's exception rate per parcel is the highest of the four; this is structural for a Posta 4 service, not a degradation. Pair with [OTD by Route](/nerve-centre/kpi-cards/shippy-pro/otd-by-route) to see where exceptions translate to OTD damage.
2. **Customs exceptions cluster on UK/CH lanes post-Brexit.** The 56 customs exceptions are almost entirely UK-IT and CH-IT cross-border, where commercial-invoice data is incomplete or HS codes are missing. Fix at the label-creation layer: ensure the Shopify or BigCommerce export passes correct `harmonized_code` and `commercial_invoice_value` to ShippyPro.
3. **Address exceptions cluster on Italian addresses with missing CAP or civic number.** Italian addresses require CAP (postal code) and civic number; many checkout flows allow these to be skipped. Install Italian-aware address validation (EgonReg, Loqate IT) at checkout. Typical lift: 50 to 70 percent reduction within 30 days.
4. **The 38 damage / lost cases are claim-eligible.** Each is an [Open Claim](/nerve-centre/kpi-cards/shippy-pro/open-claims) opportunity; claim processes vary materially per carrier (DHL Express auto-resolves at \~5 working days; Poste Italiane statutory window is 30+ days). Track ageing on [Open Claims](/nerve-centre/kpi-cards/shippy-pro/open-claims).
5. **Italian holidays distort the depot-hold category.** The 10 to 25 Aug ferragosto window typically lifts depot-hold exceptions by 3 to 5x because Italian carrier networks run skeleton crews. Pre-baseline customer-facing copy on those windows.

## Sibling cards merchants should reference together

Exception rate is the leading indicator. Pair with these to predict OTD damage and to find the operational lever:

| Card                                                                                                        | Why pair it with Exception Rate                      | What the combination tells you                                                                                                                          |
| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [On-Time Delivery Rate](/nerve-centre/kpi-cards/shippy-pro/on-time-delivery-rate)                           | The downstream outcome.                              | Exception rate leads OTD by 24 to 72 hours. A 1-point exception rise predicts a 1.5 to 3 point OTD dip 2 to 3 days later.                               |
| [OTD by Route](/nerve-centre/kpi-cards/shippy-pro/otd-by-route)                                             | The per-carrier and per-lane view.                   | Identifies which carrier is generating the exception cluster; Poste Italiane and cross-border lanes show up here even when the headline OTD looks fine. |
| [Late Shipments](/nerve-centre/kpi-cards/shippy-pro/late-shipments)                                         | The volumetric workload that follows.                | Use the exception count to forecast next week's CS-ticket load.                                                                                         |
| [Failed Deliveries](/nerve-centre/kpi-cards/shippy-pro/failed-deliveries)                                   | The subset of exceptions that ended in non-delivery. | High exception rate + low failed = self-resolving; high failed = exceptions escalating.                                                                 |
| [Open Claims](/nerve-centre/kpi-cards/shippy-pro/open-claims)                                               | Damage / lost exceptions feed claims.                | Damage / lost exception count + 7 to 14 days lag = future open-claim count.                                                                             |
| [Rate-Shop Winner Mix](/nerve-centre/kpi-cards/shippy-pro/rate-shop-winner-distribution)                    | Exception rate moves with carrier mix.               | Poste Italiane share rising = exception rate rising even if no carrier degraded.                                                                        |
| [Label Generation Success](/nerve-centre/kpi-cards/shippy-pro/label-generation-success-rate)                | Adjacent operational signal.                         | Failed labels never enter the exception denominator; the card may under-read while label-gen is broken.                                                 |
| Cross-connector: [`shopify.unfulfilled_orders`](/nerve-centre/kpi-cards/shopify/unfulfilled-orders)         | Upstream label-data origin.                          | Shopify checkout addresses missing CAP or civic number produce IT address exceptions. Install Italian-aware validation.                                 |
| Cross-connector: [`bigcommerce.unfulfilled_orders`](/nerve-centre/kpi-cards/bigcommerce/unfulfilled-orders) | Same upstream relationship for BC.                   | Same fix path.                                                                                                                                          |
| Cross-connector: [`shopify.refund_rate`](/nerve-centre/kpi-cards/shopify/refund-rate)                       | Downstream financial impact.                         | Sustained exception spikes typically precede refund-rate climbs at 7 to 14 days.                                                                        |

## Reconciling against the vendor's own dashboard

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

[ShippyPro Dashboard](https://www.shippypro.com/app) → **Tracking → Exceptions** (Italian: *Eccezioni*). The page lists shipments with at least one non-progress event over the chosen window with category, carrier, event timestamp, and resolution status. Closest like-for-like view: *Last 30 Days, All Carriers, All Categories*. ShippyPro also offers per-country lane filtering useful for diagnosing cross-border patterns.

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

| Reason                                   | Direction          | Why                                                                                                                                                                                                                                               |
| ---------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Carrier event taxonomy normalisation** | Tiny               | The 100+ supported carriers have varying event codes; ShippyPro normalises to a unified taxonomy. \~95 percent map cleanly; the residual 5 percent (legacy IT regional carriers, Spanish customs codes) can shift the count by 0.1 to 0.3 points. |
| **Auto-resolved exceptions**             | Either             | Brief depot transit-pauses and short-lived holds may not appear in the portal's default view; the card includes them. Toggle *Include transient* in the portal to match.                                                                          |
| **Sync timing on most recent 1 to 6h**   | Ours lower briefly | Tracking webhooks land in real time but the card aggregates on a 4-hour cycle; the portal recomputes overnight.                                                                                                                                   |
| **Time zone**                            | Boundary days      | ShippyPro uses workspace timezone (CET/CEST for IT/EU accounts) for daily aggregation; we use UTC for cross-connector arithmetic.                                                                                                                 |
| **Italian holiday smoothing**            | Either             | The portal historically allowed an "exclude ferragosto" toggle for August. The card does NOT smooth; year-on-year comparisons across August windows should annotate.                                                                              |
| **Returns leg**                          | Either             | Easy Return events excluded by default here; the portal's unfiltered view includes them.                                                                                                                                                          |

**Internal identity (within ShippyPro):**

This card relates to [OTD Rate](/nerve-centre/kpi-cards/shippy-pro/on-time-delivery-rate) by a leading-indicator relationship:

`shippy_pro.otd_rate(t) ≈ baseline_otd - 1.5 × Δ(shippy_pro.exception_rate(t-2d))`

A 1-point exception-rate rise typically translates to roughly 1.5 points of OTD drop two days later. Forecast-grade, not contractual.

**Cross-connector reconciliation. Direct-carrier connectors vs ShippyPro:**

If you also have direct-carrier connectors connected (direct DHL Express, direct Poste Italiane, direct GLS), do **not** sum exception rates. Each direct connector reads from the carrier's API with the carrier's native event taxonomy:

* ShippyPro's view uses normalised taxonomy across all carriers.
* Direct DHL uses DHL's native event codes which include events ShippyPro buckets differently.
* Differences of 0.2 to 0.5 points are normal; larger gaps suggest the two are filtering shipments or events differently.

***

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

  The Exception Rate metric exists with the same structural definition on every shipping connector in Vortex IQ, but underlying event taxonomies differ. Use these for navigation between docs.

  * [`royal_mail.roy_exception_rate`](/nerve-centre/kpi-cards/royal-mail/exception-rate)
  * [`ship_theory.shi_exception_rate`](/nerve-centre/kpi-cards/ship-theory/exception-rate) (multi-carrier UK peer)
  * [`sendle.sen_exception_rate`](/nerve-centre/kpi-cards/sendle/exception-rate) (single-carrier AU/US peer)
  * [`shipbob.sb_health_score`](/nerve-centre/kpi-cards/shipbob/operational-health-score) (3PL composite peer)
</details>

## Known limitations / merchant FAQs

**Why is my ShippyPro exception rate spiking?**
Three usual causes, in order of likelihood:

1. **Address-quality regression at checkout, especially on Italian addresses.** A storefront change (new theme, missing CAP validator) typically produces a step-change in IT address exceptions within 7 to 14 days.
2. **Carrier capacity stress (ferragosto, Christmas, Pasqua).** Italian and EU peak windows lift depot-hold exceptions materially. Ferragosto is the worst.
3. **Cross-border customs friction.** Post-Brexit UK-IT lanes, CH-IT lanes, and any non-EU shipment that requires harmonised codes generate customs exceptions when the label data is incomplete. Recently-added cross-border lanes spike this category.

**Action:** identify which category is driving. Address = fix at checkout with IT-aware validation; depot/recipient = monitor and communicate; customs = fix label-creation data flow.

**My exception rate is 2.9 percent. Is that high?**
For a balanced IT-domestic mix, yes; benchmark is 1.2 to 2.0 percent. For a cross-border-heavy mix (>30 percent UK / CH / non-EU), 2.9 percent is closer to the structural floor; benchmark 1.8 to 2.5 percent. Read in conjunction with the cross-border lane share.

**How can I reduce ShippyPro exceptions?**
Five practical levers:

1. **Install Italian-aware address validation at checkout.** EgonReg, Loqate IT, Subito-Address. Validates CAP, civic number, and address-line completeness against the official Italian post-office database. Typical lift: 50 to 70 percent reduction in IT address exceptions within 30 days.
2. **Fix the harmonised-code and commercial-invoice flow for cross-border.** Most cross-border customs exceptions come from missing or incorrect HS codes; ensure your Shopify or BC export passes correct `harmonized_code` and `commercial_invoice_value` to ShippyPro. Eliminates most customs exceptions on UK / CH / non-EU lanes.
3. **Shift Friday despatch to before lunch.** Italian carriers (BRT, Poste) end Friday collection earlier than UK or AU peers; pull cutoffs to 12:00 to claim the Friday morning collection.
4. **Move medium-value parcels off Poste Italiane.** A few cents per parcel for material exception-rate improvement on the affected slice.
5. **Pre-empt ferragosto with widened ETAs.** Customers seeing accurate "delivered by 22 Aug" expectations on a 10 Aug order will not generate as many "where is my order" tickets as those expecting the original 16 Aug. Reduces perceived exception-rate cost even when operational number is unchanged.

**Why does my daily exception rate swing so much?**
Small-number noise plus carrier-specific batch events. A single BRT or Poste depot incident can move daily exception rate by 5 to 10 points. **Look at the rolling 7-day or 30-day rate.**

**My ShippyPro exception rate is higher than my direct DHL Express rate. Is that real?**
Yes, structurally. ShippyPro pools across all carriers including Poste Italiane (highest exception rate); direct DHL only sees DHL Express (one of the lowest). The aggregate ShippyPro number sits well above the direct-DHL number whenever Poste handles a meaningful share. Both are correct; they answer different questions.

**Does ferragosto / August materially affect my baseline?**
Yes. Italian DTC exception rates typically lift 1.5 to 3x during 10-25 Aug across all Italian carriers. Year-on-year comparisons across August should annotate; quarter-on-quarter comparisons that include August require normalisation.

**Should I retune rate-shop based on this card alone?**
No. The aggregate tells you something is wrong; [OTD by Route](/nerve-centre/kpi-cards/shippy-pro/otd-by-route) and [Rate-Shop Winner Mix](/nerve-centre/kpi-cards/shippy-pro/rate-shop-winner-distribution) tell you which carrier and lane. Pair before retuning.

**Are exceptions counted in ShippyPro's monthly billing?**
No. ShippyPro's pricing is per-shipment (label printed). An exceptioned shipment requiring re-attempt or RTS does not generate additional ShippyPro fees; the underlying carrier may charge re-attempt or RTS fees per their contract terms.

**When does today's exception reading swing most?**
After 11:00 CET, when the morning's BRT and Poste tracking events start landing. Before 11:00 the day's data is incomplete. Use 24-hour-old readings for board-grade decisions.

***

### Tracked live in Vortex IQ Nerve Centre

*Exception Rate* is one of hundreds of KPI pulses Vortex IQ tracks across ShippyPro 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.
