Skip to main content
Card class: HeroCategory: Cross-Channel: Revenue at Risk

At a glance

The percentage of outbound parcels that came back as a return, broken out per Australia Post service code (Parcel Post, Express Post, Parcel Post Signature, International, and so on). A blended return rate hides which service tier is generating the returns. This card splits it so you can see whether your fast tier, your standard tier or a specific lane is driving the reverse-logistics cost.
What it countsCOUNT(returns by service code) / COUNT(outbound shipments by service code) * 100, one row per AusPost service code, over the rolling 30 days. A return is an inbound article matched back to its original outbound order.
Data sourceOutbound shipments by service code from the AusPost Shipping & Tracking API manifest / GET /shipping/v1/shipments, reading the AusPost service / product code per article. Returns matched from inbound AusPost Returns articles plus your store platform’s return / RMA records, joined on original order ID.
Service-code scopeEvery AusPost product code in your mix gets its own row: Parcel Post (3D55 family), Express Post (E-series), Parcel Post + Signature, Parcel Post + Extra Cover, International Standard / Express. The reverse-logistics tier (AusPost Returns) is reported as the inbound channel, not as an outbound code.
Return definitionAn inbound article tied to an outbound order, whether via a prepaid AusPost Returns label, a customer-arranged return, or a returned-to-sender that the customer subsequently re-lodges as a return. Returned-to-sender failures (never delivered) are excluded here and live on Returned to Sender.
Time window30D vsP (rolling 30 days, compared with the prior 30 days). Long enough to absorb the return lag (returns trail despatch by days to weeks) and to show whether a tier’s return rate is trending.
Alert trigger>8% on any service code. One service code over 8 percent fires, even if the blended rate looks healthy. The whole point is per-code visibility.
Rolesowner, operations, merchandising

Calculation

For each AusPost service code the card counts outbound shipments despatched on that code in the 30-day window, then counts inbound return articles matched back to those outbound orders, and divides: return_rate_by_code = returns_matched_to_code / outbound_shipments_on_code * 100 The denominator is keyed on the service code recorded at outbound label time, so a return that arrives back on a different inbound channel (a prepaid AusPost Returns label, say) is still attributed to the service code the parcel originally went out on. This is deliberate: the question the card answers is “which outbound tier generates the most returns”, which is a merchandising and service-selection question, not a question about the inbound carrier. Returns are matched to their original order by order ID / original article reference where the returns label carries it, and fall back to a customer-and-SKU match against recent outbound orders where it does not. The 30-day window plus period-over-period comparison handles the structural lag between despatch and return: a parcel despatched on day 1 might not come back until day 18, so a short window would systematically under-count. The >8% alert evaluates per row so a single problem tier surfaces even when the blended average sits comfortably in the normal 3 to 6 percent DTC band.

Worked example

A Brisbane DTC fashion and footwear brand, around 7,400 outbound parcels a month, multi-tier AusPost: Parcel Post as the standard default, Express Post offered at checkout, Parcel Post + Signature for orders over $200, and AusPost International for trans-Tasman and US customers. Reading taken at 09:00 AEST on 14 Apr 26 for the trailing 30 days (15 Mar 26 to 13 Apr 26).
Service codeOutbound (30D)Returns matchedReturn ratevsPAlert
Parcel Post4,9802715.4%+0.3ptClear
Express Post1,6101549.6%+1.8ptTripped
Parcel Post + Signature410184.4%-0.2ptClear
International Standard29093.1%+0.4ptClear
International Express11065.5%+0.1ptClear
Blended7,4004586.2%+0.5pt
The card flags Express Post at 9.6 percent, well over the 8 percent line and up 1.8 points versus the prior period, while the blended rate (6.2 percent) sits in the normal band. Five things to notice:
  1. The blend hides the problem. At 6.2 percent blended the brand looks fine. Split by service code, Express Post is returning at nearly double the standard tier. A merchant watching only the blended return rate would never see this. The per-code split is the entire value of the card.
  2. Express returns are a behaviour signal, not a carrier signal. AusPost does not cause returns. A high Express return rate usually means the Express cohort is a different customer: impulse buyers, gift-buyers in a hurry, or fashion shoppers ordering multiple sizes for next-day try-on with intent to send most back. The fix is merchandising (size guidance, fit tools, bracketing-friendly pricing), not the carrier.
  3. Express returns are the most expensive returns you can have. You paid the premium outbound rate, you may pay an inbound returns rate, and the item was out of sellable stock for the round trip. A 9.6 percent return rate on the premium tier is a margin event. Pair with AusPost Cost vs Sendle by Zone and Avg Shipping Cost to size the full round-trip cost.
  4. The 1.8-point jump versus prior period is the actionable part. A stable-but-high return rate is a known cost of doing fashion. A rising return rate on one tier points at a recent change: a new product line that fits poorly, a promotion that pulled in bargain-hunting returners, or a sizing error in a batch. Investigate what changed in the Express cohort in the last fortnight.
  5. International runs lowest, as expected. International return rates are structurally lower (3 to 5 percent) because the friction and cost of returning across a border suppresses casual returns. That is normal, not a sign of better merchandising. Do not benchmark domestic tiers against the international rate.

Sibling cards merchants should reference together

Return rate by service code is a merchandising-meets-logistics metric. Pair it with these to find the cause and the cost:
CardWhy pair it with Return Rate by Service CodeWhat the combination tells you
Charity / Returns Parcel VolumeThe absolute inbound returns volume on the AusPost reverse-logistics tier.The rate tells you the proportion; this tells you the parcel count and the reverse-logistics spend behind it.
Returned to SenderThe other inbound flow: never-delivered parcels coming back.Separates “customer chose to return” from “carrier could not deliver”. A spike in RTS is an address-quality problem, not a merchandising one.
Avg Shipping CostThe outbound cost per parcel by tier.Multiply the return rate by the round-trip cost to size the true margin hit per service code.
AusPost Cost vs Sendle by ZoneCarrier-mix economics.A high-return tier on an over-priced carrier compounds the cost; fix both.
Parcel Post vs Express vs Standard MixThe volume share of each tier.A high return rate on a small tier is contained; a high return rate on your dominant tier is a business problem. Read the rate against the share.
On-Time Delivery RateLate deliveries drive a slice of returns.If a tier’s return rate rises alongside falling OTD, some returns are “arrived too late, no longer wanted” rather than fit or quality.

Reconciling against the source

Where to look in the carrier’s own tooling: The outbound denominator is in Australia Post MyPost Business or your Business credit-account manifest under Shipments → by product / service code, where each article carries its AusPost product code. The inbound returns are visible two ways: AusPost Returns articles in the same portal (the prepaid returns labels you issued, under the AusPost Returns service), and the matched return records in your store admin’s returns / RMA area (Shopify Returns, BigCommerce RMAs, Adobe Commerce Credit Memos / RMA). The card joins both sides, so reconciling means checking the outbound count per code in AusPost and the matched-return count in your store’s returns ledger. AusPost scan timestamps on the returns leg are in carrier-local time (AEST / AEDT). A return lodged late at night sits on the previous UTC day in our index, which only matters at the 30-day boundary. Why our number may legitimately differ from the carrier’s figures:
ReasonDirectionWhy
Return lag at the window edgeOurs can read lowA parcel despatched late in the window returns after the window closes, so the most recent days’ return rate is always provisional and rises as late returns land. Compare full historical periods, not the trailing few days.
Match-rate gapsOurs can read lowReturns whose label lost the original order reference and cannot be customer-and-SKU matched fall out of the numerator. The card reports a match-confidence figure; a low match rate under-states the return rate.
Customer-arranged returnsOurs can read lowA customer who returns via a non-AusPost method (drops at a store, uses a different courier) is not in the AusPost inbound feed; only the store RMA side catches it. Where the store records the return it is counted; where it does not, it is missed.
Service-code attributionBy designReturns are attributed to the outbound service code, not the inbound channel. AusPost’s own returns report groups by the inbound AusPost Returns service, so the two views will not line up code-for-code; that is intentional.
RTS exclusionOurs reads lower than a naive inbound countReturned-to-sender (never delivered) parcels are excluded here and counted on Returned to Sender. A raw “all inbound articles” count in the portal includes RTS and will be higher.
Cross-connector reconciliation:
CardExpected relationshipCauses of legitimate divergence
shopify.return_statusUpstream truth for the return event. Shopify tracks returns by order; this card splits the same returns by the carrier service code they shipped on.Shopify includes returns shipped by any method; this card’s denominator is AusPost outbound only. A multi-carrier merchant sees a different base.
shopify.refund_rateDownstream financial impact.Not every return is refunded (exchanges, store credit) and not every refund is a physical return (goodwill, faulty-no-return); the two rates diverge legitimately.

Known limitations / merchant FAQs

Why split returns by service code at all? My return rate is fine. Because the blend hides the tier that is hurting you. A 6 percent blended rate can be a healthy 5 percent standard tier plus a 10 percent premium tier. The premium tier costs you the most per return, so a healthy blend can sit on top of an expensive, fixable problem. The split is the only way to see it. Does Australia Post cause my returns? Almost never. Returns are a merchandising and customer-behaviour outcome (fit, sizing, expectation, impulse buying), not a carrier outcome. The exception is the slice of returns caused by late or damaged delivery, which you can isolate by reading this card against On-Time Delivery Rate and the exceptions cards. The carrier is the messenger, not the cause. Why is my Express tier returning so much more than standard? Cohort, not carrier. Express buyers are disproportionately impulse buyers, gift-in-a-hurry buyers, and fashion shoppers bracketing sizes for fast try-on. They return more by nature. The fix is on the product page (better sizing, fit tools, clearer imagery) and in how you price and position Express, not in the carrier choice. The return rate for last week looks suspiciously low. Is it broken? No, it is provisional. Returns lag despatch by days to weeks, so the most recent days have not had time to accumulate their returns yet. The trailing edge of the window always reads low and climbs as late returns land. Judge the metric on completed historical periods, not on the last few days. A return came back on a prepaid AusPost Returns label. Which code does it count under? The outbound code the parcel originally shipped on, not the AusPost Returns inbound code. The card answers “which outbound tier generates returns”, so it attributes the return to the tier that sold the order. This is why our per-code split will not match AusPost’s own returns report, which groups by the inbound AusPost Returns service. What is the difference between this and Returned to Sender? This card counts parcels the customer received and chose to send back. Returned to Sender counts parcels AusPost could not deliver and bounced back (bad address, unclaimed, refused). They are different problems with different fixes: returns are a merchandising lever, RTS is an address-quality and delivery lever. What is the playbook when a service code crosses 8 percent? In order: (1) check the period-over-period delta, a rising rate points at a recent change (new line, promo, sizing batch); a stable high rate is a structural cost to manage. (2) Pull the SKU breakdown for that tier, returns usually concentrate in a handful of products. (3) For a premium tier, size the round-trip cost against Avg Shipping Cost, the margin hit is often the real story. (4) Act on the product page (sizing, imagery, fit guidance) and on how the tier is positioned at checkout, not on the carrier.

Tracked live in Vortex IQ Nerve Centre

Return Rate by Service Code is one of hundreds of KPI pulses Vortex IQ tracks across Australia Post 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.