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

# On-Time Delivery Rate, EasyPost

> On-Time Delivery Rate for EasyPost 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 parcels booked through EasyPost (across all underlying carriers. USPS, FedEx, UPS, DHL, regional) delivered on or before the carrier's published service-promise date. EasyPost is a multi-carrier aggregator; the card pools every carrier's on-time performance through one rolled-up number, with rate-shopped routing typically yielding 5 to 15% cost savings versus direct-to-carrier booking and similar-or-slightly-better on-time because EasyPost optimises for both cost and reliability.

|                                |                                                                                                                                                                                                                                                                                                                                                             |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**             | `COUNT(EasyPost shipments WHERE actual_delivery_date <= scheduled_delivery_date) / COUNT(delivered EasyPost shipments)`. EasyPost reads the underlying carrier's commit date and actual delivery date through its unified Tracking API.                                                                                                                     |
| **Delivery success criterion** | EasyPost normalises carrier-specific delivery scans into a single `Delivered` status. Underlying carriers post their own scan-event taxonomy (USPS Code 01, FedEx Code DL, UPS "Delivered"); EasyPost maps them to the unified status with `actual_delivery_date` populated.                                                                                |
| **On-time threshold**          | `actual_delivery_date <= scheduled_delivery_date`. EasyPost computes `scheduled_delivery_date` from the rate-shopping decision: when a parcel is booked via FedEx 2Day, the FedEx 2Day commit applies; via USPS Priority Mail, the USPS standard applies. Each shipment is judged against the commit of the carrier-and-service it was actually shipped on. |
| **Money-back guarantee**       | Carrier-dependent. FedEx Express services (booked through EasyPost) carry their MBG; USPS Priority Mail does not; UPS Air services do; etc. The card surfaces missed commits; refund eligibility depends on the underlying carrier-and-service.                                                                                                             |
| **Returns / RTO**              | Excluded. Tracked separately in [Returned to Sender](/nerve-centre/kpi-cards/easypost/returned-to-sender).                                                                                                                                                                                                                                                  |
| **Carrier coverage**           | EasyPost integrates 100+ carriers; major DTC volume routes through USPS, FedEx, UPS, DHL eCommerce, OnTrac, LSO, Lasership. Each carrier contributes its own commit and scan data.                                                                                                                                                                          |
| **Reconciliation latency**     | EasyPost's unified API has a slight reconciliation latency vs direct-carrier (typically 100 to 500 ms for label generation, 1 to 4 hours for tracking-event polling). Counts agree at T-1 day; today's reading may slightly lag direct-carrier numbers.                                                                                                     |
| **Service level scope**        | All EasyPost-booked services pooled by default. To split, see [Shipments by Service](/nerve-centre/kpi-cards/easypost/shipments-by-service).                                                                                                                                                                                                                |
| **Rate-shopping effect**       | EasyPost rate-shops at booking time, choosing the cheapest service that meets the merchant's preference rules (e.g. "cheapest USPS or FedEx in 2 to 3 days"). This often selects USPS Ground Advantage over FedEx Ground for sub-1lb, capturing 30 to 50% cost savings. The on-time outcome reflects the rate-shopped choice.                               |
| **Time window**                | `30D vsP` (rolling 30 days, period-over-period comparison)                                                                                                                                                                                                                                                                                                  |
| **Alert trigger**              | `<95% (warn) / <90% (critical)`, sentiment thresholds at good=95, warn=90                                                                                                                                                                                                                                                                                   |
| **Sentiment key**              | gauge with thresholds good=95, warn=90                                                                                                                                                                                                                                                                                                                      |
| **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 routing all parcels through EasyPost with rate-shopping between USPS, FedEx, and UPS. Reading taken at 09:00 ET on 12 Mar 26 for the trailing 30 days vs the prior 30 days.

| Underlying Carrier              | Shipments  | On-Time   | Notes                                                  |
| ------------------------------- | ---------- | --------- | ------------------------------------------------------ |
| USPS Ground Advantage (sub-1lb) | 6,820      | 93.1%     | Cheapest tier, EasyPost default for low weight         |
| USPS Priority Mail              | 3,940      | 91.8%     | Mid-tier, no MBG                                       |
| FedEx Ground                    | 2,180      | 95.4%     | EasyPost rate-shopped winner for 1 to 5 lb medium-zone |
| FedEx 2Day                      | 410        | 97.6%     | Premium tier, MBG applies                              |
| UPS Ground                      | 1,250      | 94.2%     | Selected for specific lanes per merchant rules         |
| OnTrac (regional West Coast)    | 880        | 96.1%     | Faster than national carriers in same-zone West Coast  |
| **All carriers (this card)**    | **15,480** | **93.7%** | aggregate vs 92.1% (prior 30D) = +1.6 ppt              |

The card reads **93.7%** with sentiment amber (between warn=90 and good=95), trending up from the prior period. Five things to notice:

1. **The +1.6 ppt improvement is rate-shopping working as designed.** EasyPost's algorithm picked OnTrac for 880 West Coast metro shipments instead of USPS or FedEx; OnTrac's regional density delivered 96.1%. Without rate-shopping (direct USPS), the same shipments would have run 92 to 93%. The aggregate gain is real and structural.
2. **USPS Priority Mail at 91.8% is the headline drag.** Same merchant, same volume, no MBG, and below the 92% USPS contractual baseline. Two options: (a) Configure EasyPost rate-rules to upgrade Priority Mail bookings to FedEx Ground when zone is 4+ (FedEx Ground beats USPS Priority on far zones for same cost or marginal premium). (b) Accept and adjust delivery-promise copy.
3. **The 5 to 15% cost saving is the EasyPost value proposition.** Direct-to-carrier this merchant would pay \~$5.20/parcel average; through EasyPost with rate-shopping, average is ~$4.55/parcel (-12.5%). The on-time gap vs direct-carrier is typically \<1 ppt. Most DTC merchants come out ahead.
4. **Compare against direct-carrier cards.** [`usps.usp_otd_rate`](/nerve-centre/kpi-cards/usps/on-time-delivery-rate) for this merchant's USPS subset would read 92.6% (very close to 92.4% the EasyPost-USPS line shows here). Reconciliation is tight; the small gap reflects EasyPost's reconciliation latency.
5. **The 977 missed shipments span all carriers.** Not concentrated; carrier-mix issues are not the dominant explanation. Address quality, customer-mix toward far zones, and Q1 weather (Mountain West, Northeast) account for most. Investigate via [Exception Rate](/nerve-centre/kpi-cards/easypost/exception-rate) and [Cost by Zone](/nerve-centre/kpi-cards/easypost/cost-by-zone).

## Sibling cards merchants should reference together

| Card                                                                                                | Why pair it with On-Time Delivery Rate | What the combination tells you                                                                                              |
| --------------------------------------------------------------------------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| [Avg Shipping Cost](/nerve-centre/kpi-cards/easypost/avg-shipping-cost)                             | Cost-quality trade-off.                | The whole EasyPost value proposition is "save cost without losing on-time"; reading both cards together verifies the trade. |
| [OTD by Route](/nerve-centre/kpi-cards/easypost/otd-by-route)                                       | Geographic split.                      | Identifies which carriers' rate-shopping is most effective per zone.                                                        |
| [Late Shipments](/nerve-centre/kpi-cards/easypost/late-shipments)                                   | Absolute count.                        | Customer-service workload metric.                                                                                           |
| [Shipments by Service](/nerve-centre/kpi-cards/easypost/shipments-by-service)                       | Carrier-mix split.                     | If FedEx subset dominates volume but USPS subset has worse OTD, rate-rules may need adjustment.                             |
| [Exception Rate](/nerve-centre/kpi-cards/easypost/exception-rate)                                   | Lead indicator.                        | Cross-carrier exceptions catch upstream issues.                                                                             |
| Cross-connector: [`fedex.fed_otd_rate`](/nerve-centre/kpi-cards/fedex/on-time-delivery-rate)        | Direct-carrier subset comparison.      | Filter direct-FedEx vs EasyPost-FedEx subsets to validate rate-shopping isn't degrading reliability.                        |
| Cross-connector: [`usps.usp_otd_rate`](/nerve-centre/kpi-cards/usps/on-time-delivery-rate)          | Same as above for USPS.                | Same caveat.                                                                                                                |
| Cross-connector: [`shopify.unfulfilled_orders`](/nerve-centre/kpi-cards/shopify/unfulfilled-orders) | Upstream cause.                        | Backlog predicts on-time-rate dip 1 to 3 days later regardless of carrier.                                                  |

## Reconciling against the vendor's own dashboard

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

[EasyPost Dashboard](https://www.easypost.com/account) → **Reports → Tracking → On-Time Delivery**. Filter to *All Carriers, Last 30 Days*. EasyPost surfaces a similar aggregate plus per-carrier breakdown. The dashboard is the source of truth; the card mirrors it operationally.

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

| Reason                                       | Direction              | Why                                                                                                                                                                                            |
| -------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Carrier-scoping**                          | Either                 | The portal allows filtering to specific carriers; the card aggregates by default. To match like-for-like, set both to "All Carriers".                                                          |
| **Tracking-event polling lag**               | Ours lower for "today" | EasyPost polls underlying carriers every 30 to 60 minutes; the card refreshes hourly. Today's reading may show 1 to 3 hour lag.                                                                |
| **Carrier-side service-disruption flagging** | Either                 | When an underlying carrier (FedEx, USPS) flags shipments as MBG-suspended, the carrier may exclude from its on-time report; EasyPost may include or exclude depending on its dashboard config. |
| **Time zone**                                | Boundary days          | EasyPost dashboard defaults to merchant time zone; card uses UTC.                                                                                                                              |

**Cross-connector reconciliation:**

| Card                                                                               | Expected relationship                      | What causes legitimate divergence                                                                            |
| ---------------------------------------------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| [`fedex.fed_otd_rate`](/nerve-centre/kpi-cards/fedex/on-time-delivery-rate)        | EasyPost-routed FedEx subset of this card. | Filter to carrier=FedEx in EasyPost; FedEx-direct numbers may include shipments not booked through EasyPost. |
| [`usps.usp_otd_rate`](/nerve-centre/kpi-cards/usps/on-time-delivery-rate)          | Same as above for USPS.                    | Same caveat.                                                                                                 |
| [`shopify.unfulfilled_orders`](/nerve-centre/kpi-cards/shopify/unfulfilled-orders) | Upstream order source.                     | Order-to-label lag affects starting clock.                                                                   |

## Known limitations / merchant FAQs

**EasyPost vs direct-to-carrier, which is the better setup?**
For most mid-market DTC merchants, EasyPost wins on cost (5 to 15% savings via rate-shopping and EasyPost's negotiated carrier rates). On-time is similar or slightly better. The cost saving outweighs the operational complexity of managing one extra integration. Trade-off: enterprise-scale shippers (\$5M+/year shipping spend) often prefer direct-carrier contracts because their negotiated rates beat EasyPost's pooled rates.

**How does EasyPost's rate-shopping decide which carrier to use?**
Merchant-configured rules. EasyPost's API accepts a `carrier_accounts` array and a `service_options` array; the cheapest service meeting the merchant's preference rules wins. Common rules: "USPS Ground Advantage if sub-1lb and zone \<=4", "FedEx Ground if 2 to 5 lb and zone 4+", "FedEx 2Day if customer paid for 2-day". The card scores against the chosen carrier's commit.

**Why is EasyPost on-time slightly different from the underlying carrier's direct number?**
Two reasons. (1) **Reconciliation latency**: EasyPost polls carriers every 30 to 60 minutes; some scan events arrive at the carrier first. (2) **Subset overlap**: Direct-carrier numbers include all shipments (some not booked via EasyPost); EasyPost includes only EasyPost-booked. Numbers should converge within ±1 ppt over a 30-day window.

**What's the EasyPost Insurance product?**
EasyPost offers built-in shipping insurance ($0.50 per $100 declared value) for parcels routed through their platform. Faster claim adjudication (5 to 10 days vs USPS's 14 to 21) and similar pay-out rates. Configurable per-shipment via the `insurance` field at booking. Useful alternative to USPS Insured Mail or carrier-direct insurance.

**Does the card include EasyPost test-mode shipments?**
No. The card filters to production shipments only. Test-mode shipments (created with `mode=test`) don't go to actual carriers and don't have real delivery dates.

**My OTD dropped suddenly. Is EasyPost broken or is one carrier broken?**
Open [Shipments by Service](/nerve-centre/kpi-cards/easypost/shipments-by-service) and split by carrier. If only one carrier (e.g. USPS) dropped, it's a USPS issue. If all carriers dropped together, it's likely an exogenous event (Q4 surge, weather event affecting all networks). EasyPost itself rarely "breaks" the on-time number; the underlying carrier reliability dominates.

**Can I configure EasyPost to prefer carriers based on on-time performance?**
Yes via custom rules in the EasyPost dashboard. Configure `tracking-data-driven` rate rules to weight on-time history into the rate-shopping decision (e.g. "prefer FedEx over USPS if FedEx's recent on-time on this lane is 3+ ppt better and cost is within 10%"). Talk to EasyPost's customer success team to set up; not all merchants have access by default.

**How does EasyPost handle Q4 / BFCM peak?**
EasyPost's volume spikes proportional to merchant volume (300 to 500% in late November). Rate limits scale automatically; merchants don't need to provision extra capacity. The on-time degradation is carrier-driven, not EasyPost-driven; expect 5 to 12 ppt drop similar to direct-carrier shipping.

**Should I migrate from direct-carrier to EasyPost?**
Test on a portion of volume first (10 to 20% of shipments). Compare on-time, cost, and operational overhead over 30 to 60 days. If cost saving exceeds 5% with no on-time degradation, migrate. Most DTC merchants under \$10M/year shipping spend find EasyPost net-positive.

***

### Tracked live in Vortex IQ Nerve Centre

*On-Time Delivery Rate* is one of hundreds of KPI pulses Vortex IQ tracks across EasyPost 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.
