Build a carrier scorecard that pays for itself in 30 days.
Brands choose, renegotiate, and switch carriers on rate cards. Performance variance, where the real cost lives, almost never enters the conversation.
The rate card is one variable. Performance is six.
When operators compare carriers, the comparison usually stops at the per-package rate. That captures one variable out of at least six that matter:
- Rate, what you pay per package, by zone, by service level
- On-time rate, % of packages delivered by carrier-quoted date
- Transit-time variance, standard deviation, not just average
- Damage rate, % of packages arriving with reported damage
- Loss rate, % of packages never delivered
- Refund cycle time, how fast does the carrier process loss/damage claims
A carrier that wins on rate but loses on transit-time variance can cost more in support tickets, refunds, and lost LTV than the rate-card savings. The scorecard exists to make that visible.
The minimum viable scorecard.
Six metrics, three frequencies, one page. Here’s a template that works for any DTC operator running multi-carrier shipping:
| Metric | Carrier A | Carrier B | Carrier C | Healthy range |
|---|---|---|---|---|
| Rate (Zone 4, 1lb) | $6.20 | $5.85 | $6.45 | – |
| On-time % | 94.2% | 87.1% | 96.8% | ≥ 93% |
| Transit-time variance (days, SD) | 0.8 | 1.6 | 0.5 | ≤ 1.0 |
| Damage rate | 0.4% | 0.9% | 0.3% | ≤ 0.6% |
| Loss rate | 0.05% | 0.12% | 0.04% | ≤ 0.10% |
| Claim cycle time (days) | 11 | 26 | 9 | ≤ 14 |
The carrier with the lowest rate (Carrier B) is the most expensive once the full picture appears.
Why lane-level breakdowns matter.
National averages hide the only number that matters: how is this carrier performing on the specific lanes I actually ship. A carrier with 96% national on-time can have 71% on-time on Zone 8, which is the only zone where you ship.
The fix is a second pivot on the scorecard: same six metrics, broken down by zone (or by region if your carrier doesn’t expose zone). One scorecard per lane. The variance between lanes is usually 8–22 percentage points on on-time, and that’s where the per-carrier routing decision actually gets made.
How to populate the scorecard.
Three data sources:
- Your 3PL or carrier portal, most carriers expose monthly performance reports via their portal or API. Pull these on a weekly cadence.
- Your shipping platform (ShipStation, ShipBob, EasyPost), tracks the events that anchor the timing measurements.
- Your support tickets, damage and loss claims correlate strongly with support volume, even when the customer didn’t formally file a claim.
Manually building this scorecard takes a logistics manager about 2 days per month. Automated tools (including Instirio) ingest ShipStation, ShipBob, and carrier tracking events and produce the scorecard continuously, with anomaly alerts when any metric breaches the healthy range.
What the scorecard pays for itself with.
The scorecard pays for itself in three predictable ways:
- Negotiation leverage, carrier reps respond differently to “your zone-8 on-time is 78%” than to “rates feel high.”
- Routing decisions, most multi-carrier shippers can save 4–9% in net cost by routing each lane to the carrier that wins it.
- Early-warning shifts, when a carrier’s performance degrades by 4–6 points, you can switch in 2 weeks rather than discovering the regression 6 weeks later via support volume.
For a $5M ARR brand spending ~$400K/year on shipping, a 6% net-cost improvement is $24K, typically recovered in the first 60 days after the scorecard goes live.
Carrier scorecard questions, answered.
How often should I review the carrier scorecard?
Weekly for the headline metrics (on-time, damage rate), monthly for the deeper review (lane-level breakdowns, claim cycle times, contract negotiation prep). The fastest-degrading metric is typically transit-time variance, review weekly so you spot regressions before they hit revenue.
What's a good on-time rate for DTC e-commerce?
93-96% is typical for major carriers (UPS, FedEx, USPS) on standard ground service. Below 90% sustained is a warning sign. Above 97% sustained may indicate over-conservative customer promises (you’re promising 5 days when delivery happens in 3, that’s healthy on the SLA but you’re leaving conversion lift on the table).
Should I run a single carrier or multi-carrier?
Multi-carrier almost always wins for brands shipping more than $200K/year. Single-carrier dependency creates an SLA cliff when that one carrier has a regional problem. Multi-carrier routing requires more complex shipping software but the SLA resilience and rate leverage are worth it.
How do I measure damage rate without a formal claim process?
Pull support tickets containing “damaged”, “broken”, “wrong item”, or “missing piece” keywords for the same period as your shipping volume. Tag-and-count is faster to set up than a formal claim process and captures damage that customers don’t bother formally claiming.
Does
Halia integrate with my shipping platform?
Yes. ShipStation and ShipBob are native connectors. EasyPost, Shippo, and direct carrier integrations are on the public roadmap. Custom webhook intake works for any platform that can post events.
Related reading
This is one of seven places ecommerce margin leaks. See the full map in the hidden costs of ecommerce.
See these patterns on your store.
Connect in 5 minutes. First findings the same day. Free under $50K MRR.
Start free →