One in four COD orders in India never converts to cash. According to Shipway's ShipNotes logistics report, 26% of COD shipments come back as RTOs — return to origin. Prepaid orders? Under 2%. COD order scoring fixes this by assigning a risk number to every order before it ships — so you stop wasting money on deliveries that were never going to convert.
Most merchants respond to this with blunt tools. Block all orders from a certain pincode. Require prepaid above a certain amount. Reject anyone who's returned an order before. These rules catch some fraud, but they also kill real sales. A first-time buyer from a flagged area who would've paid gets blocked. A repeat customer who returned one defective item gets treated like a scammer.
COD order scoring replaces that binary thinking with a number. Every order gets a risk score — say 0 to 100 — based on multiple signals. High-score orders ship immediately. Mid-range orders get a verification call or SMS confirmation. Low-score orders get flagged for manual review or pushed toward prepaid. You stop more fraud and lose fewer real customers.
Why Do Block/Allow Rules Stop Working at Scale?
When you're fulfilling 20 orders a day, you can eyeball each one. Check if the phone number looks real, glance at the address, maybe call the buyer. At 200 orders a day, that falls apart.
Static rules — block this pincode, cap COD at ₹2,000, reject duplicate phone numbers — work until they don't. The problem is they can't weigh context. A ₹5,000 COD order from a new customer in a high-RTO pincode is risky. A ₹5,000 COD order from a customer who's completed three previous orders at the same address is not. A flat rule treats them identically.
The result: merchants with strict rules leave revenue on the table. Merchants with loose rules eat 30-40% RTO rates on certain product categories. Fashion and footwear stores regularly see COD RTOs hit 40%, while top-performing stores with smarter verification keep theirs at 10-15%.
The Five Signals That Make Up a COD Risk Score
You don't need a machine learning team to build a useful scoring model. Five signals, each scored on a simple scale, cover most of the risk landscape for COD orders.
- Phone verification status. Did the buyer complete OTP or SMS verification? A verified phone number is the single strongest trust signal for COD. Unverified = lower score.
- Order history. Repeat buyer with successful deliveries? Score goes up. First-time buyer? Neutral. Previous RTO or cancellation? Score drops.
- Address quality. Complete address with landmark and correct pincode? Higher score. Vague address, missing apartment number, or mismatched pincode-city combo? Lower score.
- Order value relative to category average. A ₹800 t-shirt order is normal. A ₹8,000 first-time COD order from a new customer with no verification is a red flag — not because of the amount itself, but because of the combination.
- Payment method willingness. Did the buyer choose COD when a partial payment or prepaid option was available? Customers who refuse even a small deposit tend to RTO at higher rates. Those who accept a 10-20% deposit show intent.
How to Weight Each Signal
Not every signal matters equally. Here's a starting framework you can adjust based on your own data:
- Phone verification: 30 points. Verified = full points. Unverified = 0. This is the highest-weight signal because verified phone numbers correlate most strongly with successful deliveries.
- Order history: 25 points. 2+ successful deliveries = full points. 1 successful delivery = 15. First-time buyer = 10. Previous RTO = 0.
- Address quality: 20 points. Complete and validated address = full points. Minor issues (missing landmark) = 12. Major issues (pincode mismatch, incomplete) = 5.
- Order value risk: 15 points. Within category average = full points. 2x+ category average from unverified buyer = 5. Normal range from verified buyer = full points regardless.
- Payment method: 10 points. Chose partial payment or prepaid = full points. Chose COD when alternatives were offered = 5. COD-only (no alternatives available) = 7 (neutral — they had no choice).
A perfect score is 100. A verified repeat customer with a clean address, normal order value, and a deposit payment scores 100. A first-time buyer with no phone verification, an incomplete address, and a high-value COD order scores around 20.
How Should You Act on Each COD Order Score Tier?
The score only matters if you act on it. Three tiers keep it simple:
70-100: Ship immediately. These orders have strong trust signals. Process them the same day. No additional verification needed. This should be 50-60% of your orders if your scoring is calibrated correctly.
40-69: Verify before shipping. Send an automated confirmation via WhatsApp or SMS: "Confirm your order of [product] for [amount] to [address]. Reply YES to confirm." If they confirm within 24 hours, ship. If not, cancel. This catches most of the casual fake orders — people who entered a COD order with no real intent to pay.
Below 40: Manual review or prepaid nudge. These orders have multiple risk flags. Options: call the customer directly, offer a prepaid discount ("Pay now and get 5% off"), or require a partial deposit before processing. Some merchants auto-cancel orders below 20 — but test this threshold carefully before making it automatic.
Build Your Scoring Model With Tools You Already Have
You don't need custom software. Most Shopify COD merchants can build a basic scoring model using existing tools and a spreadsheet.
Step 1: Export your last 90 days of orders. Tag each one as "delivered" or "RTO." This is your training data.
Step 2: For each order, note the five signals. Was the phone verified? First-time or repeat? Address complete? Order value vs. average? Payment method chosen?
Step 3: Look for patterns. What percentage of unverified first-time buyers RTO'd? What about verified repeat buyers? You'll likely find that phone verification alone predicts 50-60% of your RTOs correctly.
Step 4: Set your weights and thresholds. Use the framework above as a starting point, then adjust based on your data. If address quality is a weak predictor for your store, reduce its weight. If order value is a strong predictor, increase it.
Step 5: Automate the verification layer. Use your order form's built-in verification features — OTP, SMS confirmation, deposit collection — as both scoring inputs and response actions. EasySell, for example, lets you require OTP verification and offer partial deposits directly on the order form, which means you're collecting scoring signals and acting on risk simultaneously.
Track the Right Metrics After You Launch
A scoring model isn't set-and-forget. Track these four numbers weekly:
- RTO rate by score tier. If your "ship immediately" tier (70-100) has an RTO rate above 5%, your weights are too generous. Tighten them.
- Conversion rate by tier action. If your "verify before shipping" tier is losing 40% of orders to non-response, your verification process might be too slow or too friction-heavy. Test shorter confirmation windows or simpler reply methods.
- False positive rate. How many orders scored below 40 actually would have been successful? Check a sample by manually calling a few low-score customers. If more than 30% would have paid, your model is too aggressive.
- Revenue impact. Compare your total delivered revenue (not total orders) before and after scoring. The goal is more cash collected, not more orders processed.
Platforms using AI-powered risk scoring report 25-30% RTO reductions within weeks of implementation. You won't match that precision with a manual model on day one, but even a rough scoring system outperforms flat rules.
The Scoring Signals You're Probably Not Collecting Yet
Most merchants already have phone numbers and addresses. The signals that sharpen your model are the ones you're not tracking:
- Time on page before ordering. Buyers who spend under 10 seconds on the product page before hitting "Buy" are more likely to be impulse COD orders that never convert. Your analytics platform already tracks this.
- Device type and session count. A buyer who visited your store three times on mobile before ordering is a stronger signal than a single-visit desktop order. Shopify's customer timeline shows this.
- Pincode-level RTO history. Build your own pincode risk database from your delivery data. Some pincodes will have 50% RTO rates while others sit at 5%. Weight this into the score.
Start with the five core signals. Add these refinements once your base model is running and you have enough data to validate each one.
Every COD order is a bet — you're paying shipping, packing, and handling costs before the customer pays you. Order scoring doesn't eliminate that bet, but it tells you the odds before you place it. Build your first model this week using your last 90 days of data, set your three tiers, and start routing orders by risk instead of treating every buyer the same.