Skip to main content
Card class: HeroCategory: Shipping & Courier

At a glance

Share of PostNord consignments that arrived at the addressee on or before the contracted service day across the Nordic network (Sweden, Denmark, Norway, Finland, plus cross-border). PostNord is the dominant Nordic carrier (formed from the merger of Posten Sverige and Post Danmark), so for many Nordic DTC merchants this is the delivery dial. The Nordic operating environment introduces unique factors, winter snow, sub-zero transit windows, archipelago routes, that make PostNord OTD volatility seasonal rather than purely operational.
What it countsCOUNT(shipments WHERE delivered_at <= aim_delivery_date) / COUNT(shipments WHERE delivered_at IS NOT NULL). Each delivered consignment scores 0 or 1 against its own service-code aim date pulled from GET /shipments/v1/parcels/{shipmentId} (PostNord Tracking API v1).
API endpointsGET /shipments/v1/parcels (shipment metadata: service code, sender, recipient, aim date), GET /shipments/v1/parcels/{id}/events (per-parcel event stream including delivery scan), GET /shipments/v1/manifests (sent-to-PostNord handover events).
Service-tier scopeAll tracked services included (MyPack Home, MyPack Collect, Express, Parcel, Cross-Border Express, International Tracked). Untracked letter-mail (1st class / 2nd class consumer post) is excluded because PostNord doesn’t capture a delivered scan; including it would bias OTD downward.
Per-country splitThe headline rate aggregates across all Nordic countries. Per-country breakdown via OTD by Route, Sweden domestic typically runs 1 to 3 points higher than Denmark domestic; Norway and Finland are often 2 to 5 points lower due to longer transit corridors.
Climate impactSignificant. Nordic winters (Dec to Feb) introduce 5 to 12 percentage points of OTD volatility versus summer baseline. Winter snowstorms close roads in northern Sweden and Norway; ferry routes in the Danish archipelago can suspend for 6 to 24 hours during storms. PostNord publishes ad-hoc service alerts during major weather events; the card does NOT auto-exclude weather-affected days, the recorded rate reflects actual experience.
Cross-border treatmentCross-border Nordic (e.g. Sweden-to-Denmark) uses each country’s last-mile network at the destination. OTD is computed against PostNord’s published cross-border aim, typically 1 day longer than domestic same-country. International (outside Nordic) tracked uses the destination country’s carrier; OTD computed against the cross-border aim.
Industrial actionNot auto-excluded. PostNord experienced significant strikes in 2020 (Sweden) and 2022 (Denmark); the card recorded the actual depressed rate during those windows. A merchant comparing year-on-year across those windows should annotate.
Time window30D vsP (rolling 30 days, period-over-period). Daily readings exist but are noisy below ~150 consignments per day.
Alert trigger<95% warn, <90% critical. Nordic DTC benchmark for PostNord MyPack Home is 94 to 97 percent (slightly below Royal Mail Tracked 24’s 96 to 98 percent due to longer transit distances and weather).
Sentiment key{'type': 'gauge', 'thresholds': {'good': 95, 'warn': 90}}.
Rolesowner, operations

Calculation

Calculated automatically from your PostNord 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 Stockholm-based DTC outdoor-apparel brand on Shopify, around 2,800 outbound parcels per week across the Nordic region, dual-carrier strategy: 78 percent PostNord (the Nordic incumbent default), 22 percent Bring (used for some Norway routes where Bring’s Oslo hub is faster). Reading taken at 09:00 CET on 14 Mar 26 for the trailing 30 days (12 Feb 26 to 13 Mar 26). PostNord leg only:
Service codeCountry mixConsignmentsDelivered on or before aimOTD RateAvg cost
MyPack HomeSE 60% / DK 25% / NO 10% / FI 5%6,8206,49995.3%SEK 64
MyPack CollectSE 70% / DK 20% / NO 7% / FI 3%1,9201,87297.5%SEK 49
ExpressSE 45% / DK 30% / NO 20% / FI 5%58056897.9%SEK 138
Cross-Border (NO/FI from SE hub)NO 60% / FI 40%76071293.7%SEK 89
All PostNord (this card)mixed10,0809,65195.7%SEK 67
The card reads 95.7 percent on the dial, the alert at <95% warn is just clear (within 1 percentage point of warning). Five things to notice:
  1. MyPack Home sets the headline. It’s 68 percent of volume; everything else is rounding. Drop in MyPack Home below 94 percent and the dial drops below the 95 percent warn threshold.
  2. Cross-Border Nordic is the structural drag. 93.7 percent OTD on cross-border is normal, the route includes a hub-handoff in Sweden (Hallsberg or Veddesta) and a last-mile in the destination country. The card aggregates this into the headline; pair with OTD by Route to isolate. Don’t try to “fix” cross-border Nordic OTD to 96 percent, the structural ceiling is 94 percent.
  3. MyPack Collect at 97.5 percent overperforms. Pickup-point delivery has a structurally higher OTD than home delivery because the recipient’s availability is not a factor (the parcel sits at the pickup point until collected). Many Nordic shoppers actively prefer pickup-point; promoting MyPack Collect at checkout is a simple OTD lever.
  4. The 14 Feb to 18 Feb window had OTD at 87 percent for many merchants on PostNord-only weeks during a major snowstorm in southern Sweden and Denmark. The brand’s actual OTD this period was depressed by 1 to 2 points by that storm. The card does NOT auto-exclude weather-affected days; this is intentional. A weather-aware operations playbook annotates seasonal volatility rather than asking the card to hide it.
  5. The “rate suddenly degraded” debug case during winter. When OTD drops 5 to 12 points overnight from a stable baseline, the cause is overwhelmingly weather (snowstorm closing roads, port closures suspending island routes, sub-zero conditions slowing rural last-mile). PostNord publishes service-status updates at postnord.se/driftinformation. Cross-reference the dip date against the alert feed; if it’s weather, route adjustment is the response (delay sends to affected zones, send emails to customers managing expectations), not blame the carrier.
Compare against summer baseline. This brand’s reading on 12 Aug 25 for the trailing 30 days was 96.8 percent. The 1.1 point drop from summer to winter is climate-driven, not operational. Annotate seasonally; reset alert thresholds for the Dec to Feb window if the constant-baseline alerts produce false positives.

Sibling cards merchants should reference together

CardWhy pair it with OTD RateWhat the combination tells you
Late ShipmentsAbsolute count behind the percentage.A 95.7 percent OTD on 10,080 parcels = 433 late deliveries = 433 customer-service tickets in flight. The percentage feels fine; the count is the workload.
Avg Transit (days)Speed counterpart.OTD holding while transit days creep up means you’re meeting aim because the aim is generous; tighten checkout-promised dates to capture the speed advantage.
Exception RatePredictive of OTD drops.Rising exception rate predicts a falling OTD at 24 to 48 hours lag.
OTD by RouteCountry / route breakdown.Where the headline drop concentrates, Sweden domestic vs cross-border vs Norway last-mile each have different shapes.
First-Attempt Delivery RateThe “delivered correctly first time” subset.First-attempt rising while OTD holding equals home-delivery quality improving.
Failed DeliveriesHard-failure subset.OTD drops can be soft (delayed) or hard (failed); failed-delivery count separates the two.
Cross-connector: shopify.unfulfilled_orders, bigcommerce.bc_unfulfilled_ordersUpstream cause.Climbing unfulfilled count predicts an OTD dip 2 to 4 days later as warehouse-floor time eats into transit budget.
Cross-connector: shopify.refund_rateDownstream impact.Late deliveries drive WISMO tickets and refund requests; 3 to 5 point OTD drop typically precedes a 0.5 to 1.5 point refund-rate rise at 7 to 14 days.
Cross-connector: bring.bri_otd_rate, royal_mail.roy_otd_rateAdjacent Nordic and UK carrier peers.Useful for agencies running multi-region clients; not a like-for-like reconciliation.

Reconciling against the vendor’s own dashboard

Where to look in PostNord’s own portal: PostNord Business PortalReports → Service Performance. Larger contracted senders also see a monthly Service Level Report via account email, this is the carrier’s own SLA report and the document you’d reference for service-credit claims. The closest like-for-like view in the portal is All Tracked Services, Last 30 Days, Outbound Only. Toggle MyPack Home / MyPack Collect / Express to compare per-tier. Why our number may legitimately differ from PostNord’s report:
ReasonDirectionWhy
Time zone (CET vs UTC)Boundary days offPostNord’s portal reports in account-local time (CET/CEST in Sweden, Denmark, Norway; EET/EEST in Finland). The card stores everything in UTC. During CEST the 22:00 to 23:59 UTC hour is “tomorrow” in the portal; daily comparisons can be off by a full day.
Tracking-event ingestion lagOurs lower for “today”PostNord’s tracking-events feed pushes scans in batches; lag varies from 30 minutes (typical) to 4 hours (Friday-evening backlogs across the region).
Service-tier reclassification mid-periodEitherIf a merchant moves volume between MyPack Home and MyPack Collect mid-month, the portal’s per-service view splits the population at the cutover; the card uses the service code recorded at label generation. Aggregate OTD agrees; per-service breakdowns can diverge.
Weather-affected day handlingSameBoth portal and card record the actual experience without smoothing. If you want weather-normalised OTD, exclude affected days manually in Vortex IQ → Card Filters with the date range from the PostNord service-status feed.
Cross-border attributionEitherCross-border consignments use the destination carrier’s last-mile scan; lag and reliability of those scans varies by country. Norwegian Posten scans faster than Finnish Posti during winter; your aggregate cross-border OTD reflects the slowest leg.
Outbound vs returnsOurs lower if returns-heavyBoth portal and card default to outbound-only; if the merchant’s contract has the portal showing combined outbound + return, the portal will appear higher (returns often have looser aim dates).
Cross-connector reconciliation:
CardExpected relationshipCauses of legitimate divergence
bring.bri_otd_rateWhen Bring is the secondary carrier (typical Nordic dual-carrier setup), OTD comparisons help with carrier-mix decisions.Different populations of shipments, not a like-for-like; useful for portfolio decisions.
shopify.unfulfilled_orders, bigcommerce.bc_unfulfilled_ordersUpstream input. Orders waiting for a label cannot meet OTD if they sit too long.Webhook delivery failures, manual fulfilment delays.
shopify.refund_rateDownstream sentiment proxy.Refund rate has many drivers; OTD is one input.
royal_mail.roy_otd_rateCross-region peer (UK). Useful for agencies.Different climate and operating model; no expected mathematical relationship.

Known limitations / merchant FAQs

PostNord vs Bring, which should I use? Different jobs. PostNord is the Nordic incumbent, deepest network in Sweden and Denmark, MyPack Collect’s pickup-point network is unmatched in Sweden. Bring (Posten Norge’s commercial arm) wins on Norwegian routes (Oslo hub is closer to most Norwegian destinations than PostNord’s Swedish hub) and on Express tier where Bring’s air-network is faster. The healthy Nordic DTC pattern is dual-carrier: PostNord MyPack Home as the cost-sensitive default for SE/DK, Bring for Norway-heavy weeks and any time-sensitive Express. Read this card alongside bring.bri_otd_rate and Avg Shipping Cost to see the cost-vs-reliability trade. My OTD just dropped 8 points overnight, what’s the playbook for the Nordic context? In order of likelihood, climate-first: (1) Check PostNord service-status (driftinformation page), winter snowstorms, ferry-route closures, and major weather events account for most sudden drops in the Nov-Mar window. (2) Check Exception Rate, a spike in “address invalid” or “weather delay” exceptions points to cause. (3) Check OTD by Route, if the drop is concentrated in 1 or 2 countries (e.g. Norway only), the issue is regional. (4) Check ferry-route status for Danish archipelago routes if the drop affects DK destinations. (5) Open a ticket with your PostNord account manager if (1) to (4) don’t explain it; the network has likely had a sortation incident. How should I plan for Nordic winter (Nov to Feb)? Three actions: (1) Tighten checkout copy (“delivery may take an extra 1 to 2 days during winter conditions in Norway and northern Sweden”). (2) Reset alert thresholds for the Dec to Feb window from 95 percent to 92 percent so the team isn’t paged constantly during seasonal volatility; reset to 95 percent in March. (3) For high-priority items (e.g. cold-weather gear, pre-Christmas gifts) shift to MyPack Express or Bring Express where the budget allows; the price premium is justified by the OTD floor. What about the strikes? PostNord has a strike history. PostNord experienced significant industrial action in 2020 (Sweden) and 2022 (Denmark). During those windows OTD dropped from a typical 95 to 96 percent to 70 to 78 percent for many merchants on PostNord-only weeks. The card recorded the actual depressed rate; it does not auto-exclude. Playbook: (1) Watch the Fackförbundet ST and 3F Denmark strike announcements; (2) Route volume to Bring or DSV during known stoppage dates; (3) Update checkout expectations; (4) Re-baseline alert thresholds for the strike weeks. Reset when service resumes. Why does the card show 95 percent for MyPack Home but my customer-service tickets are spiking? Three usual reasons. (1) The 5 percent late tail concentrates on rural Norway, Finland, and Swedish Norrland lanes where the felt experience is much worse than the headline. Use OTD by Route to confirm. (2) Customer expectations differ between countries, Swedish shoppers tolerate 1-2 day delays more than Norwegian shoppers, so Norwegian late tickets per parcel run higher even at similar OTD percentages. (3) “Late” in customer-perception terms is “later than the checkout-promised date”, not “later than PostNord’s aim”; tighten checkout copy to match the actual aim. MyPack Home vs MyPack Collect, which is better? MyPack Collect (pickup-point) has higher OTD because the recipient’s availability is not a factor; the parcel sits at the pickup point. Many Nordic shoppers actively prefer pickup-points, particularly in apartment-dense Stockholm, Copenhagen, and Oslo where home delivery requires a doorman or buzzer. Promote MyPack Collect at checkout if your AOV supports it; the OTD lift is real and the customer experience is often better than home delivery. Why does the “today” reading bounce around in winter? Volume + weather. A merchant doing 200 parcels a day has a 0.5 percentage-point step per shipment in the daily reading; a single late delivery moves the dial visibly. In winter the volatility compounds with weather-driven delays. Use the rolling 30-day reading for trend, the daily reading only for outage detection. Below 100 daily consignments the daily reading is too noisy to act on at any time of year. My OTD on cross-border (NO/FI from SE hub) is 93 percent. Is that bad? No. The structural ceiling on cross-border Nordic is around 94 percent because the route includes a hub-handoff and last-mile in the destination country. Don’t try to fix this to 96 percent; the route’s design produces ~94 percent and improving it requires switching carriers (e.g. using Bring’s Norway-direct service for NO destinations) or accepting the structural rate. Compare to Bring’s NO-direct OTD; if Bring is materially better for Norway, the answer is route-mix optimisation, not carrier complaint. Why does Shopify show “shipped” but PostNord tracking is empty? Two-stage handover. Shopify marks the order shipped when the label is generated (fulfilment.created); PostNord doesn’t show a tracking event until the parcel hits the first sortation scan (collection or hub handover). Typical gap is 2 to 24 hours; longer in winter. If the gap exceeds 48 hours the parcel was probably never handed over (label printed but parcel sat on the warehouse floor); check Failed Deliveries and the warehouse handover process. Tracked vs untracked, which OTD should I be measuring? Tracked only on this card. Untracked letter-mail (1st class consumer post in DK and SE) doesn’t capture a delivered scan; the card excludes it. Untracked OTD is unmeasurable from data; estimate from customer survey or ticket-keyword mining. For DTC parcels, MyPack Home / MyPack Collect / Express are all tracked.

Tracked live in Vortex IQ Nerve Centre

On-Time Delivery Rate is one of hundreds of KPI pulses Vortex IQ tracks across PostNord 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 or book a demo to see this metric running on your own data.