2026-04-27 · Corrected · Returns + Refunds
Returns & Refunds
Cash refunds vs store credit vs exchanges · 77% of returns are sizing-driven · serial returners · product problems
25
Real cash refunds
R49,927 over 2.5y · ~10/year
21
Store credit refunds
R27,524 (no cash out)
301
Exchanges
R603,815 swapped (kept in store)
357
Return line items
From Shopify Returns API · w/ structured reasons
The corrected story
Only 25 actual cash refunds over 2.5 years (R49,927). Customer-driven product-fit refunds: just 2 in 2.5 years — "Nothing fit" and "Didn't like style". Most cash refunds are operational (out of stock, shipping delays, cancellations). The bigger story is in returns — 357 line items with structured reasons reveal that 77% are sizing-related. Product quality is fine. Sizing communication is the problem.
Why customers return — structured reasons
From Shopify Returns API · 357 line items
| Reason | Count | % of returns | Bar |
| SIZE_TOO_SMALL | 237 | 66.4% | |
| SIZE_TOO_LARGE | 41 | 11.5% | |
| UNWANTED | 27 | 7.6% | |
| DEFECTIVE | 23 | 6.4% | |
| UNKNOWN | 14 | 3.9% | |
| STYLE | 5 | 1.4% | |
| NOT_AS_DESCRIBED | 4 | 1.1% | |
| OTHER | 4 | 1.1% | |
| WRONG_ITEM | 2 | 0.6% | |
Product problem patterns · top 30 by return volume
Reason breakdown per product · sizing % shows where size guides need fixing
| Product | Total returns | Size too small | Size too large | Defective | Unwanted | Sizing % | Dominant reason |
| Black Pearl | 46 | 37 | 4 | 0 | 2 | 89% | SIZE_TOO_SMALL (37) |
| French Lingerie | 33 | 27 | 4 | 0 | 0 | 94% | SIZE_TOO_SMALL (27) |
| White Pearl | 21 | 20 | 1 | 0 | 0 | 100% | SIZE_TOO_SMALL (20) |
| Silky Nighty | 16 | 13 | 0 | 0 | 2 | 81% | SIZE_TOO_SMALL (13) |
| Red Pearl | 14 | 9 | 2 | 2 | 0 | 79% | SIZE_TOO_SMALL (9) |
| Lace Bodysuit | 14 | 11 | 2 | 0 | 0 | 93% | SIZE_TOO_SMALL (11) |
| Classic floral lace set | 12 | 1 | 2 | 7 | 0 | 25% | DEFECTIVE (7) |
| Comfy Pajamas | 11 | 6 | 0 | 2 | 2 | 55% | SIZE_TOO_SMALL (6) |
| Wildflower Set | 10 | 5 | 3 | 1 | 0 | 80% | SIZE_TOO_SMALL (5) |
| Cloud Lace Lingerie Set | 10 | 8 | 0 | 0 | 2 | 80% | SIZE_TOO_SMALL (8) |
| Nude Leopard | 9 | 8 | 0 | 1 | 0 | 89% | SIZE_TOO_SMALL (8) |
| Petite Lace | 6 | 5 | 1 | 0 | 0 | 100% | SIZE_TOO_SMALL (5) |
| Tinker Bell Lingerie Set | 6 | 2 | 2 | 1 | 0 | 67% | SIZE_TOO_LARGE (2) |
| Strapped up lingerie suit in | 5 | 2 | 1 | 0 | 0 | 60% | SIZE_TOO_SMALL (2) |
| The Bardot Corset Set | 5 | 3 | 0 | 1 | 1 | 60% | SIZE_TOO_SMALL (3) |
| Luxury Pure Silk Lingerie | 5 | 5 | 0 | 0 | 0 | 100% | SIZE_TOO_SMALL (5) |
| Backless Wonder | 5 | 1 | 0 | 0 | 2 | 20% | UNWANTED (2) |
| Radiant Pearl Set | 5 | 4 | 1 | 0 | 0 | 100% | SIZE_TOO_SMALL (4) |
| Flower Lace | 5 | 3 | 0 | 0 | 2 | 60% | SIZE_TOO_SMALL (3) |
| Amalfi Corset | 5 | 1 | 4 | 0 | 0 | 100% | SIZE_TOO_LARGE (4) |
| Strapped up lingerie suit | 4 | 2 | 1 | 1 | 0 | 75% | SIZE_TOO_SMALL (2) |
| Petal Lace Lingerie Set | 4 | 2 | 1 | 0 | 0 | 75% | SIZE_TOO_SMALL (2) |
| Midnight Chain | 4 | 2 | 2 | 0 | 0 | 100% | SIZE_TOO_SMALL (2) |
| Red Floral Set | 4 | 4 | 0 | 0 | 0 | 100% | SIZE_TOO_SMALL (4) |
| Jewel Bikini | 4 | 3 | 0 | 0 | 0 | 75% | SIZE_TOO_SMALL (3) |
| Sustainable Lounge Set | Built-In B | 4 | 3 | 0 | 0 | 0 | 75% | SIZE_TOO_SMALL (3) |
| Seamless Lace Lingerie Set | 3 | 3 | 0 | 0 | 0 | 100% | SIZE_TOO_SMALL (3) |
| V-Neck Festival Queen | 3 | 0 | 0 | 0 | 3 | 0% | UNWANTED (3) |
| The Vintage Bikini | 3 | 3 | 0 | 0 | 0 | 100% | SIZE_TOO_SMALL (3) |
| Ribboned Lace Bodysuit | 3 | 3 | 0 | 0 | 0 | 100% | SIZE_TOO_SMALL (3) |
Customer patterns · serial returners
2+ refunds · with cluster, gender, LTV · excludes internal accounts
| Customer | Cluster | Gender | Refunds | Refund value | Total LTV | Orders |
| jkyle.felix@gmail.com | Whale | F | 3 | R16,280 | R37,369 | 4 |
| juanpierregraham@gmail.com | Whale | M | 2 | R15,535 | R32,685 | 4 |
| calliecarlson1@gmail.com | High-spend single-shot | M | 2 | R11,793 | R20,387 | 2 |
| bendanb@hotmail.com | Hero (high LTV, high freq | F | 2 | R6,796 | R21,965 | 5 |
| marlise@augustcollective.co.za | High-spend single-shot | F | 2 | R6,227 | R17,202 | 3 |
| nicky.thomsen91@gmail.com | High-spend single-shot | M | 2 | R5,497 | R10,994 | 2 |
| pw@tiptopgroup.co.za | High-spend casual | F | 2 | R5,497 | R9,195 | 2 |
| anthony@stormcap.co.za | High-spend single-shot | M | 2 | R4,977 | R13,231 | 3 |
| darrylcam@gmail.com | High-spend casual | M | 2 | R4,198 | R6,896 | 2 |
| jacquesluciann@icloud.com | High-spend casual | F | 2 | R3,498 | R8,155 | 2 |
| katesaxon11@gmail.com | High-spend casual | F | 2 | R3,398 | R8,495 | 2 |
| tasneemcrawley@gmail.com | High-spend single-shot | F | 2 | R2,588 | R11,193 | 3 |
| m2middelburg@gmail.com | High-spend single-shot | M | 2 | R2,499 | R10,896 | 2 |
| shaun@platform45.com | High-spend single-shot | M | 2 | R2,218 | R12,509 | 3 |
| robj@icon.co.za | Hero (high LTV, high freq | F | 2 | R349 | R11,089 | 5 |
Refund concentration by customer cluster
Which customer types refund most
| Cluster | Total customers | Returners | % who returned | Total refunds | Refund value |
| High-spend casual | 306 | 104 | 34.0% | 108 | R276,431 |
| Single premium order | 772 | 107 | 13.9% | 107 | R188,682 |
| High-spend single-shot | 66 | 36 | 54.5% | 43 | R155,205 |
| Whale | 7 | 3 | 42.9% | 6 | R33,615 |
| One-and-done mid | 1,108 | 11 | 1.0% | 11 | R23,411 |
| Hero (high LTV, high frequency) | 9 | 4 | 44.4% | 6 | R12,641 |
| Loyal regular | 35 | 5 | 14.3% | 5 | R6,796 |
| Frequent low-spend | 17 | 3 | 17.6% | 11 | R2,998 |
| Trial/light buyer | 73 | 1 | 1.4% | 1 | R399 |
| No spend | 23 | 2 | 8.7% | 2 | R0 |
Refund split by gender
| Gender | Customers w/ refund | Total refunds | Refund value |
| Female | 97 | 108 | R273,118 |
| Male | 178 | 191 | R425,360 |
All 25 cash refunds · most recent first
Real money out via Shopify Payments / PayFast
| Order | Date | Amount | Customer | Note / reason |
| #1104 | 2023-11-07 | R1,899 | drown82@gmail.com | (no note) |
| #1159 | 2023-12-17 | R7,295 | werner@upsouthadventures.com | Out of stock: Christmas |
| #1175 | 2024-02-13 | R1,599 | tashiel@gmail.com | Shipping late |
| #1181 | 2024-02-09 | R2,398 | marsune.debruin@gmail.com | Out of stock |
| #1212 | 2024-05-06 | R598 | andrilegrange@gmail.com | (no note) |
| #1616 | 2025-01-28 | R80 | jason.clarke8315@gmail.com | Delay with shipping time |
| #1685 | 2025-03-11 | R1,599 | pumiglietta@gmail.com | nothing fit |
| #1840 | 2025-02-12 | R1,598 | johnryb@icloud.com | Not in stock |
| #1863 | 2025-02-25 | R1,658 | theunsbonnet@icloud.com | Item Unavailable |
| #1981 | 2025-03-25 | R1,000 | rooinicol@gmail.com | (no note) |
| #1995 | 2025-03-31 | R1,599 | melotron@iafrica.com | Ordered by mistake |
| #2057 | 2025-05-05 | R1,758 | yjacobsz@gmail.com | (no note) |
| #2146 | 2025-05-19 | R4,369 | juanpierregraham@gmail.com | (no note) |
| #2432 | 2025-08-13 | R1,858 | jameslake2000@gmail.com | Item no longer in production |
| #2793 | 2025-11-24 | R1,699 | tabaskhan@yahoo.com | (no note) |
| #2806 | 2025-12-01 | R1,599 | nusaibahsa75@gmail.com | (no note) |
| #2816 | 2026-01-26 | R100 | calliecarlson1@gmail.com | (no note) |
| #2936 | 2026-01-26 | R300 | calliecarlson1@gmail.com | (no note) |
| #2981 | 2025-12-13 | R1,958 | willie@randa.bike | Couldn’t wait for pre order |
| #3189 | 2026-04-09 | R1,868 | gouws.emarie@gmail.com | (no note) |
| #3209 | 2026-01-27 | R1,600 | tamsinmadden@gmail.com | (no note) |
| #3469 | 2026-02-09 | R1,768 | dietitian.inge@gmail.com | Order canceled |
| #3613 | 2026-02-11 | R2,028 | jpvisser1971@gmail.com | (no note) |
| #3620 | 2026-02-25 | R3,900 | charliewenhold@gmail.com | (no note) |
| #3812 | 2026-03-10 | R3,799 | alicevanalphen90@gmail.com | Customer canceled |
Action priorities
- Fix sizing on PDP — 77% of returns are sizing. Show real model height + size, "if between sizes, size UP" copy (customers undersize 5.8× more than oversize).
- Audit Push Up Lace, Cloud Lace, Silky Nighty — top sizing-return offenders. Review size chart accuracy, add fit reviews per size.
- Investigate DEFECTIVE returns (23 items) — quality control opportunity. Pull each defective return, identify which products/variants/batches.
- Capture refund reasons in Shopify — current note field only filled 8% of the time. Make it a required dropdown.
- Operational refunds (out of stock, shipping) — mostly preventable with better inventory visibility + fulfillment SLAs. Worth fixing pre-order communication.
- Whales/High-spenders are try-at-home — formalise it. Send pre-paid return labels + multi-size shipping for VIP cluster. Less friction = higher AOV per order.