Fraud detection for mobile-money payments in a small Haitian marketplace
poze a month ago487 gadeen
Our marketplace (MonCash payments, cash-on-delivery too) is seeing fraud: fake accounts, stolen phones used to pay, and sellers who never ship. We don't have a data science team. Where do we start?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
Start with rules and good data. Machine learning only helps once you have labeled history.
1. Rules that catch most early fraud
- Velocity: many orders or payment attempts from one account, phone or device in a short time.
- New account plus high value: first order far above your median, especially electronics or phone credit.
- Mismatch signals: many accounts sharing one MonCash payer number, or one account paying from many numbers.
- Seller signals: many "not received" disputes, and sellers who request payouts right after sales.
const score =
(ordersLastHour(user) > 3 ? 30 : 0) +
(accountAgeDays(user) < 2 && order.totalHtg > 10_000 ? 40 : 0) +
(payerLinkedToAccounts(payment.payer) > 2 ? 30 : 0);
if (score >= 60) holdForReview(order); // don't auto-reject: review
2. Controls that remove whole categories
- Hold seller payouts until delivery is confirmed (escrow-style), with a delay for new sellers.
- Verify phone numbers by OTP at signup, and limit accounts per number.
- For cash on delivery, confirm by phone call for first orders above a threshold.
3. Label everything. Every chargeback, dispute and confirmed fraud goes in a table with the order id. After a few months that becomes your training data.
4. Then ML. A gradient-boosting model (LightGBM or XGBoost) on features like account age, velocity, amount and history, evaluated with precision/recall, not accuracy, because fraud is rare. It should rank orders for review, not silently cancel them. Customers wrongly blocked are a real cost too.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.