
In the world of e-commerce, whether it’s platforms like Shopee, Lazada, Amazon, or any rapidly growing marketplace, the checkout process often takes center stage. However, an equally critical and sensitive component is the refund process.
As an intermediary between customers and sellers, an e-commerce platform must ensure fairness. It needs to maintain customer satisfaction by offering timely and transparent refunds while simultaneously protecting sellers from potential misuse of refund policies.
This blog is the first in a series that explores the refund process from a Business Analyst’s (BA) perspective. In this entry, we focus on the foundational question: How does an e-commerce system calculate the refund amount?
1. Understanding Refund Types
Each order may consist of multiple products, and customers may initiate one of the following:
- Full Refund – Return of the entire order.
- Partial Refund – Return of one or more selected items from the order.
For this discussion, we will assume the refund request is valid, meaning it meets policy criteria (e.g., the item is not in a non-returnable category, or the order is not a “zero-value” promotional order).
2. It’s Not Just the Price – Discounts Complicate Calculations For Refund
A straightforward assumption might be: “Just refund the amount the customer paid for the product.” However, the presence of multiple types of discounts complicates this calculation. Most modern platforms are heavily driven by discount strategies, requiring systems to handle refund logic carefully.
Two Common Types of Discounts:
a. Product-level Discounts:
- Applied directly to specific items
- Examples include promotional markdowns during sales campaigns (e.g., Christmas, flash sales)
- May also include product-specific shipping discounts
b. Order-level Discounts: Applied across the entire order
Examples include:
- Spend over a threshold (e.g., $100) to receive $25 off
- Platform-wide vouchers
- Redeemed loyalty points (e.g., Shopee’s “Xu”)
- Free shipping based on total order value
Additional Charges:
- Some fees may be added to the order, such as:
- Insurance (to cover risks during transit)
Special handling fees (e.g., for remote or island delivery)
3. Refund Calculation – An Example
Let’s use a simple example to break down the math.
🛒 Order Summary:
| Product | Original Price | Discount | Shipping Fee |
| A | $100 | 10% | $1 |
| B | $200 | None | Free |
| C | $150 | None | Free |
- Total before discounts: $450
- Order-level discount (due to value over $400): $100
- Shipping Fee: $10
- Insurance Fee: $10
- Total Paid by Customer: $370
Now, assume the customer wants to:
- Return only Product A (partial refund), or
- Request a full refund for the entire order.
But before calculating, some questions need to be clarified:
| Question | Common Industry Practice (e.g., Shopee, Lazada) |
| Is the shipping fee refunded? | It depends on whether the issue is the seller’s fault; the shipping fee will be refunded. |
| Is the insurance fee refunded? | No – Paid to insurer to cover risk |
| Is the order discount revoked if the refund invalidates eligibility? | Generally, No Refund is still allowed |
| Does the gift of a refund product need to be sent back to the shop, or does the customer need to pay a fee? | Generally, yes, you need to refund the main product with its gift. |
| Are loyalty points or vouchers refunded or restored? | No – Considered redeemed upon use |
| How is the order discount divided among products in partial refunds? | Equally distributed by item count (some platforms use proportional allocation) |
🧮 Refund Calculations
a. Partial Refund – Product A:
- Original Price: $100
- Product Discount: 10% → $10
- Order Discount Allocation: $100 ÷ 3 = $33.33
- Refund Amount = $100 – $10 – $33.33 = $56.67
b. Full Refund – Entire Order:
- Total Paid: $370
- Less: Shipping Fee ($10) and Insurance Fee ($10)
- Refund Amount = $370 – $10 – $10 = $350
⚠️ Important Rule: The system must ensure the refund does not exceed the actual amount paid by the customer. Refunds are based on the paid value, not original prices, and fees not tied to specific products are typically non-refundable.
4. Key Takeaways for Business Analysts working in ecommerce
A BA plays a vital role in ensuring the refund process is well-defined and implemented correctly. Here’s a checklist of considerations for refund handling:
✅ System Design & Transparency
- Track each pricing component independently:
- Original product price
- Product-level and order-level discounts
- Shipping and insurance fees
- Loyalty points or voucher use. This is very important to let the customer know that their coupon/voucher/points cannot be recovered.
- Maintain a clear audit trail for Customer Service to validate refund amounts and minimize disputes.
✅ Prevent Refund Abuse
- Enforce logic to prevent multiple refund requests on the same product.
- Implement proper state transitions (e.g., requested → approved → refunded).