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

# Avg Shipping Cost, ShippyPro

> Avg Shipping Cost 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

> Average label cost per shipment, pooled across every carrier ShippyPro orchestrates. Because rate-shopping picks the carrier dynamically, the **shipping mix** drives this number as much as carrier-rate movements; a sudden swing means the rate-shop ruleset is producing different winners, not necessarily that any single carrier raised prices.

|                             |                                                                                                                                                                                                                                                                                      |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**          | `SUM(label_cost) / COUNT(shipments)` for shipments dispatched in the window. Cost includes base rate + fuel surcharge + service surcharges (signature, insurance, residential, oversize). Excludes customs duty (paid by recipient or merchant separately) and recovery fees on RTO. |
| **API endpoint**            | `GET /shipments` joined with `GET /labels` for cost data. Reads `label_cost`, `currency`, `carrier`, `service_level`, `weight`, `dimensions`, `from_country`, `to_country` per shipment.                                                                                             |
| **Currency**                | Workspace base currency (most ShippyPro accounts default to EUR; UK operators use GBP). Multi-currency carrier invoices (e.g. UK→EU on USD-quoting carriers) are FX-converted at label-creation time using the workspace's daily rate.                                               |
| **Service level scope**     | All services and all carriers pooled. Filter by carrier in [Cost by Zone](/nerve-centre/kpi-cards/shippy-pro/cost-by-zone) and by service in [Shipments by Service](/nerve-centre/kpi-cards/shippy-pro/shipments-by-service).                                                        |
| **Returns / RTO**           | Outbound labels only. Easy Return labels, RTO charges and recovery fees are separated; they appear in [Returned to Sender](/nerve-centre/kpi-cards/shippy-pro/returned-to-sender).                                                                                                   |
| **Mix-vs-rate sensitivity** | The number is dominated by **mix** for most accounts. A swing from 60% Poste Italiane / 40% BRT to 40% Poste / 60% BRT lifts avg cost by 15 to 25 percent on Italian domestic flow without any carrier raising rates.                                                                |
| **Outliers**                | High-weight or oversize shipments distort the average; trimmed-mean variant lives in [Cost Per Shipment Trend](/nerve-centre/kpi-cards/shippy-pro/cost-per-shipment-trend). The headline is the unweighted arithmetic mean.                                                          |
| **Time window**             | `30D vsP` (rolling 30 days, period-over-period comparison vs prior 30 days)                                                                                                                                                                                                          |
| **Alert trigger**           | `+10% vsP`. Tripped when 30D avg exceeds the prior 30D avg by more than 10 percent. Sensitive to mix swings; the alert fires before any carrier raises rates.                                                                                                                        |
| **Roles**                   | owner, finance, 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 Italian DTC fashion brand again. Reading taken at 09:00 CET on 12 Mar 26 for the trailing 30 days vs the prior 30 days.

| Period                         | Shipments | Total label spend | Avg label cost | Carrier mix                                              |
| ------------------------------ | --------- | ----------------- | -------------- | -------------------------------------------------------- |
| Current 30D (10 Feb to 11 Mar) | 16,400    | EUR 89,200        | **EUR 5.44**   | BRT 38%, Poste 22%, GLS 18%, DHL Express 12%, others 10% |
| Prior 30D (11 Jan to 9 Feb)    | 14,800    | EUR 73,600        | EUR 4.97       | BRT 31%, Poste 35%, GLS 16%, DHL Express 11%, others 7%  |
| **Change**                     | +10.8%    | +21.2%            | **+9.5%**      | Poste down 13pp, BRT up 7pp                              |

The card reads **EUR 5.44**; the alert at `+10% vsP` is **just under** at +9.5%. Five things to notice:

1. **The cost-per-shipment rose because the rate-shop ruleset shifted volume off Poste Italiane.** This was a deliberate operations decision in early February to reduce late-shipment count (Poste 15% late vs BRT 4%). The cost lifted EUR 0.47 per parcel but the late count dropped; the trade is intentional. The card flags the cost; the operator must read it next to [Late Shipments](/nerve-centre/kpi-cards/shippy-pro/late-shipments).
2. **The alert is a near-miss, not a near-event.** At +9.5%, no alert fires; at +10.5% it would. This is the right time to check whether the next BRT contract negotiation is upcoming, because if Poste rates fall in April and the rate-shop swings back, this card resets to \~EUR 4.95 with no operator action.
3. **Total spend grew 21.2% on 10.8% volume.** Half the spend growth is volume, half is mix-driven cost-per-shipment. Finance forecasting against this number must split the two; otherwise the budget conversation gets confused.
4. **Carrier rate inflation is invisible here.** No carrier raised prices in this window. If BRT had pushed rates up 5% on 1 Feb, this card would still show 9.5% rise but the cause attribution would be different. Always ask "did any carrier raise rates" before reading mix conclusions.
5. **DHL Express stays at 12%, dragging the average up.** DHL Express averages EUR 14 per parcel vs BRT EUR 4.50; on 12 percent volume share they contribute disproportionately to the mean. If DHL Express volume rises during peak (rate-shop picks them for guaranteed speed), this card spikes regardless of any other change.

## Sibling cards merchants should reference together

Avg cost is one number; the mix and rate movements behind it are several. Pair with these to attribute change:

| Card                                                                                          | Why pair it with Avg Shipping Cost                   | What the combination tells you                                                                                                                                       |
| --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Cost Per Shipment Trend](/nerve-centre/kpi-cards/shippy-pro/cost-per-shipment-trend)         | The 90-day shape of this number.                     | Sloping rise = either rate-card escalation or sustained mix shift. Spike-and-recover = a single peak event (Q4 surcharge week, DHL fuel-surcharge update).           |
| [Cost by Zone](/nerve-centre/kpi-cards/shippy-pro/cost-by-zone)                               | Splits cost across origin-destination zones.         | Identifies which lane is dragging. Cross-border lanes typically average 3 to 5x domestic.                                                                            |
| [Shipments by Service](/nerve-centre/kpi-cards/shippy-pro/shipments-by-service)               | The mix-by-service pie that drives the cost average. | Mix change visible here typically explains the cost change in this card 1:1.                                                                                         |
| [High-Cost Shipment Outliers](/nerve-centre/kpi-cards/shippy-pro/high-cost-shipment-outliers) | Surfaces the >2x avg shipments dragging the mean.    | If outlier count rises, trim-mean and median diverge from the mean; consider segmenting by weight tier.                                                              |
| [Late Shipments](/nerve-centre/kpi-cards/shippy-pro/late-shipments)                           | Trade-off counterpart.                               | Operators frequently buy down late-count by raising avg cost (rate-shop more to faster carriers). The trade is rational; both cards must be read together.           |
| Cross-connector: [`shopify.aov`](/nerve-centre/kpi-cards/shopify/average-order-value)         | Margin sensitivity.                                  | Avg shipping cost as percentage of AOV is the operative finance ratio. >12 percent of AOV is structurally tough to absorb without raising shipping fees in checkout. |
| Cross-connector: [`shopify.refund_rate`](/nerve-centre/kpi-cards/shopify/refund-rate)         | Downstream impact.                                   | Higher avg cost without higher checkout-shipping fees compresses margin; refunds on top further compress.                                                            |

## Reconciling against the vendor's own dashboard

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

[ShippyPro Dashboard](https://www.shippypro.com/app) → **Analytics → Spend Analysis → Average Cost** (Italian: "Costo Medio Spedizione"). The portal exposes the same number plus the carrier breakdown. The closest like-for-like is *Last 30 Days, All Carriers, All Services, Workspace Currency*.

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

| Reason                             | Direction                 | Why                                                                                                                                                                                                                                                                                             |
| ---------------------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Carrier-invoice reconciliation** | Ours can drift slightly   | The card reads `label_cost` from the rate quote at label creation. Carrier monthly invoices sometimes adjust for actual weight (re-weighed at the depot) or fuel-surcharge corrections. ShippyPro's portal shows quoted cost; the carrier invoice is final truth. Variance is typically \<1.5%. |
| **FX conversion timing**           | Either, small             | Multi-currency labels FX-convert at label-creation date. Long windows with euro-vs-other-currency volatility produce small drift if a label is recosted later.                                                                                                                                  |
| **Surcharge attribution**          | Ours sometimes lower      | Some carrier surcharges (residential, signature) post separately to the invoice and are not always passed back through ShippyPro's API. The card can understate by 2 to 4 percent for surcharge-heavy mixes.                                                                                    |
| **Customs duty exclusion**         | Both exclude              | Customs duty is paid separately by recipient or merchant; neither the card nor the portal includes it. Net true landed cost is higher for cross-border.                                                                                                                                         |
| **Returns labels**                 | Both exclude in this card | Easy Return labels are tracked separately.                                                                                                                                                                                                                                                      |

**Cross-connector reconciliation:**

| Card                                                                 | Expected relationship                                                                         | What causes legitimate divergence                                                  |
| -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [`shopify.aov`](/nerve-centre/kpi-cards/shopify/average-order-value) | Margin denominator. Avg shipping cost / AOV ratio is the operative pricing question.          | AOV moves with discount campaigns; the ratio shifts even if shipping cost is flat. |
| Stripe / payment-processor net revenue                               | Downstream truth on revenue side. Combined with this card gives shipping-as-share-of-revenue. | FX, refunds, payment-processor fees all sit between AOV and net revenue.           |
| Direct carrier invoices                                              | Source-of-truth on actual cost.                                                               | Carrier monthly invoice is final; expect 0.5 to 2 percent reconciliation gap.      |

***

<details>
  <summary><em>Documentation cross-reference (for agencies running multi-platform stacks)</em></summary>

  Avg shipping cost surfaces on every shipping connector with conceptually similar definitions. The key difference is whether the platform has rate-shop dynamics (multi-carrier orchestrators move with mix), or fixed pricing (flat-rate platforms move only with rate-card updates).

  * [Sendle Avg Shipping Cost](/nerve-centre/kpi-cards/sendle/avg-shipping-cost) (flat-rate single-carrier; moves only on rate-card updates, predictable)
  * [ShipTheory Avg Shipping Cost](/nerve-centre/kpi-cards/ship-theory/avg-shipping-cost) (UK aggregator; mix-driven like ShippyPro)
  * [ShipBob Avg Cost per Shipment](/nerve-centre/kpi-cards/shipbob/on-time-delivery-rate) (3PL, bundled with handling-fee component)
</details>

## Known limitations / merchant FAQs

**Why does my avg cost change when no carrier raised rates?**
Mix shift. ShippyPro's rate-shop ruleset picks the cheapest qualifying carrier per shipment given weight, dimensions, destination, and your rules. Volume mix moves week-on-week as customer geography and basket composition shift. Read [Shipments by Service](/nerve-centre/kpi-cards/shippy-pro/shipments-by-service) to see the mix; the cost change here typically maps 1:1 to mix change.

**My carrier raised rates and the card is flat. Why?**
Three usual reasons. (1) The rate change applied to a service tier (e.g. DHL Express overnight) that you do not use heavily. (2) Your rate-shop ruleset auto-shifted to a cheaper carrier on the affected shipments. (3) The rate change posts to the next monthly invoice but ShippyPro's quoted rate updated immediately, so the card is forward-looking and matches the next invoice cycle.

**How is FX handled for multi-currency carriers?**
Cost is FX-converted at label creation using the workspace's daily reference rate (typically ECB rates for euro workspaces, BoE for GBP). Long windows with material currency moves produce small differences vs the carrier's monthly invoice (carriers sometimes use month-end rates). Variance is typically \<1%.

**Why is my avg cost rising during peak / Q4 even with the same mix?**
Carrier peak surcharges. Most major carriers (DHL Express, GLS, BRT) impose peak-period surcharges 1 to 5 EUR per parcel from mid-November through mid-January. The rate-shop ruleset still picks the same carriers; the per-label cost is structurally higher. Plan budgets accordingly; the card is doing its job.

**Should I switch to a single-carrier setup if avg cost is volatile?**
Trade-off question. ShippyPro's value-add is the rate-shop dynamic; the volatility is the price you pay for the cost-floor optimisation. Single-carrier accounts (e.g. all-DHL, all-Sendle) have stable cost-per-shipment but typically higher absolute cost. The decision depends on margin sensitivity vs forecast simplicity.

**Is customs duty included?**
No. Customs duty for non-EU destinations (UK post-Brexit, CH, NO, US imports) is paid separately by recipient (DDU model) or merchant (DDP model). Neither the card nor ShippyPro's portal includes duty. For DDP-heavy accounts, add a separate budget line; the card understates true landed cost.

**Why does the portal sometimes show a different number than the card?**
Filter state. ShippyPro's portal applies workspace defaults that may exclude returns, may include surcharges differently. Set the portal to *All Outbound, All Carriers, All Services, Last 30 Days, Workspace Currency* for closest comparison. Persistent gap >2% = check connector health and audit FX setting.

**How do I plan for next year's carrier negotiation?**
Read 90 to 180 day cost trend ([Cost Per Shipment Trend](/nerve-centre/kpi-cards/shippy-pro/cost-per-shipment-trend)). The mix-vs-rate split tells you which carriers to prioritise. Carriers with stable rate cards but rising volume share are leverage points; carriers with declining volume are renegotiation targets. Use this card as the baseline; the monthly carrier invoices are the negotiation evidence.

***

### Tracked live in Vortex IQ Nerve Centre

*Avg Shipping Cost* 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.
