PayFlow processes roughly 8 million card transactions per day. Fraud is rare but costly, and the risk team needs a model that flags suspicious transactions without overwhelming manual reviewers with false positives.
You are given a historical transaction dataset for binary classification.
| Feature Group | Count | Examples |
|---|---|---|
| Transaction attributes | 12 | amount, currency, merchant_category, card_present, payment_channel |
| Customer behavior | 10 | avg_txn_7d, txn_count_24h, chargebacks_90d, account_age_days |
| Merchant signals | 6 | merchant_risk_score, country, device_consistency, velocity_score |
| Device / location | 8 | device_id_hash, ip_country, distance_from_home, browser_type |
| Temporal features | 4 | hour_of_day, day_of_week, is_holiday, seconds_since_last_txn |
is_fraud (1 = fraudulent, 0 = legitimate)A good solution should improve fraud capture materially over a majority-class baseline. Target at least 75% recall on fraud while keeping precision above 15% for the review queue, and achieve PR AUC above 0.30 on the holdout set.