PayFlow, a mid-size digital payments company, currently blocks suspicious card transactions using hard-coded rules such as amount > 1000 and country != billing_country. These rules are easy to explain but miss new fraud patterns and require constant manual updates. You need to design an ML-based fraud classifier and explain how it differs from a rule-based system in behavior, maintenance, and performance.
You are given historical transaction-level data labeled after chargeback resolution.
| Feature Group | Count | Examples |
|---|---|---|
| Transaction features | 8 | amount, currency, merchant_category, payment_method |
| User behavior | 7 | txn_count_24h, avg_amount_30d, account_age_days, failed_attempts_7d |
| Device / network | 6 | device_type, ip_country, is_proxy, browser_family |
| Rule outputs | 4 | rule_high_amount, rule_geo_mismatch, rule_velocity, rule_new_device |
| Target | 1 | is_fraud |
A good solution should outperform the current rule engine on fraud recall while keeping analyst review volume manageable. Target at least 75% recall with precision above 20% and provide a clear comparison between static rules and a trained model.