Skip to main content
Card class: HeroCategory: Ecommerce Platform
Refunded orders / total orders. Persistent >5% signals product quality or expectation mismatch.

At a glance

Refunded order count divided by total order count over the rolling 30 days. The first canary on product quality, sizing accuracy, or post-purchase expectation issues. APAC fashion and homeware merchants typically sit at 3 to 6%; persistent >5% signals an issue worth investigating before retention erodes.
What it countsCOUNT(orders WHERE has_refund = true) / COUNT(orders) over rolling 30D. A partial refund counts the same as a full refund (the buyer signalled dissatisfaction either way).
API endpointNumerator: GET /v1/refunds. Denominator: GET /v1/orders count. Both filtered to the same 30D window and excluding cancelled-before-payment orders.
What “refund” includesAny refund recorded in Shopline’s refunds array, regardless of reason code. Includes return-driven refunds, customer-cancellation refunds, and price-adjustment refunds.
What it excludesCancelled-before-payment orders (no money moved, nothing to refund). Disputes that have not yet completed are excluded until they resolve.
VAT / tax treatmentOrder-count rate; tax is not the variable being measured.
ShippingThe refund value (separate card) includes shipping where the merchant refunded shipping. The rate itself is order-count based.
CurrencyPer-store native currency on values; the rate is dimensionless.
APAC-specific driversHK / TW / SG buyers refund predominantly for sizing (apparel), late delivery (homeware), and condition issues (electronics). Cross-border buyers refund more often for customs delays.
Time window30D vsP.
Alert trigger>5%. Hero-tier threshold reflects typical APAC fashion floor; configurable per category.
Sentimentrefund_rate. Inverse gauge; lower is better.
Rolesowner, operations, finance.

Calculation

Calculated automatically from your Shopline data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

An APAC fashion brand running a Hong Kong Shopline store, rolling 30D ending 27 Apr 26. The brand sells womenswear with sizes XS to XL. Their target refund rate is below 6% (category benchmark). Last 30 days:
MetricThis 30DPrior 30DChange
Total orders712658+8.2%
Refunded orders5133+54.5%
Refund Rate (this card)7.16%5.02%+2.14pp
Refund Rate = 51 / 712 = 7.16%
Above the 5% alert threshold; +2.14pp vs prior 30D
Reason-code breakdown of the 51 refunds:
ReasonCount% of refunds
Size too small2243%
Size too large816%
Colour different from photo918%
Late delivery612%
Damaged in transit48%
Other24%
What it means. 7.16% is above threshold and the trend is sharply up. The sizing cluster (22 + 8 = 30 of 51 refunds, 59%) is the dominant cause and points to a specific product line. Drilling deeper, 18 of the 22 “too small” refunds are on a single SKU run (a new linen blouse style launched 3 weeks ago). The fix is a sizing recalibration on that SKU’s listing (relabel the photography size as M-fit-S, or re-cut the next batch). The “colour different” cluster (9 of 51) is photographic; the studio shot on a sunny day shows the linen blouse as cream while it actually arrives as oat. Retake the product photos with neutral lighting; expected impact is ~2pp drop in the next 30D. The action plan: relist the linen blouse with corrected size labelling and re-shot photography; expected refund rate trajectory is back to 5 to 5.5% within 30 to 45 days.

Sibling cards merchants should reference together

Refund rate is best read alongside the cards that explain why and what value:
CardWhy it matters next to refund rateWhat the combination tells you
Refund ValueMoney lost.Rising rate + rising value = consistent refunds; rising rate + flat value = small-AOV refunds (often photo or size issues on cheaper SKUs).
Refunds Over TimeThe 90D shape.Lets you see whether the spike is a launch event (single SKU) or a structural drift.
Cancellation RatePre-fulfilment dissatisfaction.If both rise together, the issue is upstream (delivery promise, OOS); if only refund rate rises, the issue is post-arrival.
Avg Time to Fulfil (hrs)Late-delivery refunds.Late-delivery refund cluster correlates strongly with avg fulfilment hours. Fix the warehouse, fix this.
Top Products by RevenueCross-reference to find the offending SKU.Refunds are usually concentrated; the top-3 refunding SKUs explain most of the rate.
Refund-Rate Spike AlertReal-time anomaly.This is the 30D-rolling view; the alert card catches sudden movement.
Shopline Health ScoreComposite.Refund rate is one input to the health score; rising refund rate drags it.
Repeat Customer RateThe downstream consequence.Customers who refund are 60 to 80% less likely to return; persistent refund-rate rise erodes repeat rate over 90D.

Reconciling against the vendor’s own dashboard

Where to look in Shopline’s own dashboard:
Shopline Admin -> Reports -> Refunds report Filter by date range; the “refund count / order count” tile is the apples-to-apples comparison.
Why our number may legitimately differ from Shopline’s Admin:
ReasonDirectionWhy
Time zoneBoundary daysShopline Admin uses store-local time; we use UTC. The boundary effect on a 30D window is small.
Cancellation handlingEitherShopline counts cancelled-after-payment orders as refunds in some views (the money was returned); we treat them as cancellations and exclude.
Partial refund countingMarginalA partial refund counts as one refunded order in our card; some Shopline reports show it as a fraction of an order.
Dispute pendingTheirs higherShopline Admin counts dispute-in-progress as refunded immediately; we wait for resolution. The lag is typically 7 to 14 days.
Sync lagMarginalRefund webhooks fire reliably; the gap is usually under 60 seconds.
Internal identity: shopline_refund_rate = COUNT(refunded orders) / COUNT(total orders) over the same 30D window. The numerator is the refund count surfaced by shopline_refunds_over_time; the denominator is shopline_order_count. Mathematical identity, not reconciliation.

Known limitations / merchant FAQs

What is a normal refund rate for an APAC fashion brand? 3 to 6% for established brands; up to 8% for fast-fashion or sizing-heavy categories. The threshold of 5% is the rule-of-thumb floor; sustained >7% is a quality or expectation problem worth investigating. Why is the alert at 5% not 10%? Because by 10% the damage is already structural, retention has dropped, customer-acquisition cost has not been recovered, and the brand reputation has likely taken a hit. 5% catches the issue while it is still a 30 to 45 day fix, not a 6-month rebuild. My refund rate spiked overnight; what should I check first? (1) shopline_alert_refund_spike for the rolling 24h delta, (2) drill-down on this card to see refund reason codes (sizing, photo, delivery, damage), (3) cross-reference shopline_top_products to find the SKU concentration. Sudden spike + single SKU dominance = product-quality issue on a recent batch; sudden spike + spread across SKUs = process issue (delivery, packaging). Does this include cancelled orders? No. Cancelled-before-payment orders never had a refund (no money moved). Cancelled-after-payment orders trigger a refund and would count, but we treat the cancellation as primary and exclude from this rate to avoid double-counting with shopline_cancellation_rate. My refund rate dropped because I tightened my returns policy. Is that good? Operationally yes, strategically maybe not. Refund rate dropping while shopline_repeat_rate also drops means the policy hardening cost you customer trust. The healthier signal is refund rate dropping while repeat rate holds or rises; that means the underlying quality improved, not just the policy. Why does this exclude pending disputes? Because a dispute can take 14 to 60 days to resolve, and including pending disputes inflates the rate during the dispute window then deflates it on resolution. We wait for resolution to count consistently. The drill-down shows pending disputes separately for awareness. How does this compare to refund rate on Shopify or BigCommerce? Definitionally the same; the threshold “good vs bad” is the same; the underlying data is similar. The APAC-specific note is reason-code mix: APAC merchants see a higher proportion of sizing and customs refunds than Western markets, which changes the action playbook (more sizing-photography fixes, more cross-border-fulfilment investment). Does this include subscription order refunds? Yes. Each subscription order is a separate order record in Shopline, so a refunded monthly subscription contributes to both numerator and denominator the same as a one-time purchase. Should I aim to drive this to zero? No. A refund rate near zero usually indicates an over-strict returns policy that is suppressing genuine returns at the cost of customer trust. The healthy band is 3 to 6% for fashion; near-zero is rarely a quality signal, more often a policy signal.

Tracked live in Vortex IQ Nerve Centre

Refund Rate is one of hundreds of KPI pulses Vortex IQ tracks across Shopline 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.