Proyek ini bertujuan untuk membangun model Machine Learning yang mampu mendeteksi transaksi penipuan ( fraud ) pada layanan keuangan Mobile Money di pasar negara berkembang.
Model ini dirancang untuk menggantikan sistem keamanan berbasis aturan ( rule-based ) lama yang kaku, dengan fokus ganda: menyelamatkan uang nasabah (meminimalkan kecolongan) sekaligus menjaga kenyamanan transaksi pengguna sah (meminimalkan alarm palsu) .
Industri layanan keuangan menghadapi kendala besar dalam pengembangan teknologi deteksi penipuan karena sifat data transaksi yang sangat rahasia. Proyek ini menggunakan dataset sintetis PaySim yang secara akurat meniru pola transaksi asli dari perusahaan Mobile Money multinasional di Afrika.
Skenario kejahatan utama dalam dataset ini adalah peretas yang mengambil alih akun nasabah ( Account Takeover ), memindahkan dana ke akun penampung (TRANSFER), lalu mencairkannya keluar dari sistem (CASH_OUT).
Tujuan Proyek:
- Menekan Type 2 Error (False Negative): Mencegah uang nasabah dicuri karena sistem gagal mendeteksi penipuan.
- Menekan Type 1 Error (False Positive): Mengurangi jumlah transaksi sah yang terblokir secara keliru untuk memangkas biaya operasional Customer Service dan mencegah hilangnya nasabah ( churn ).
Langkah paling krusial dalam proyek ini adalah membersihkan fitur yang menyebabkan model "mencontek" hasil akhir ( Data Leakage ).
Dalam sistem akuntansi bisnis, transaksi yang terdeteksi sebagai penipuan akan dibatalkan, sehingga saldonya tidak berubah. Oleh karena itu, fitur saldo ( oldbalanceOrg, newbalanceOrig, oldbalanceDest, newbalanceDest ) dihapus dari pemodelan. Model dilatih murni menggunakan pola pra-transaksi (nominal, jenis transaksi, dan waktu) agar kinerjanya valid saat diterapkan di dunia nyata secara real-time .
Fitur seperti nameOrig, nameDest, dan isFlaggedFraud juga dihapus karena tidak memiliki nilai analitis yang representatif.
Tiga algoritma berbasis tree dievaluasi: Decision Tree, Random Forest, dan XGBoost . Metrik evaluasi difokuskan pada kombinasi Recall, Precision, dan F1-Score .
XGBoost terpilih sebagai model terbaik dan selanjutnya dioptimasi ( Hyperparameter Tuning ) menggunakan Optuna untuk mencegah overfitting dan meningkatkan generalisasi pada data baru.
- Test F1-Score: 89.86%
- Test Recall: 90.09%
- Test Precision: 89.62%
- ROC AUC: 0.9665
Melalui analisis Feature Importance , model berhasil mengidentifikasi bahwa relasi antar jenis transaksi (one-hot encoding pada jenis transaksi TRANSFER dan CASH_OUT) adalah prediktor yang jauh lebih kuat dibandingkan sekadar melihat nominal uang.
Berikut adalah simulasi perbandingan kerugian pada 1.000 transaksi harian (asumsi 950 sah, 50 fraud dengan rata-rata nilai $250):
| Komponen | Sistem Lama (Rule-Based >$200) | Machine Learning (XGBoost Tuned) | Penurunan Error |
|---|---|---|---|
| Kasus Type 1 (Alarm Palsu) | 150 transaksi diblokir | 5 transaksi diblokir | Turun 96,6% |
| Kasus Type 2 (Kecolongan) | 30 transaksifraudlolos | 5 transaksifraudlolos | Turun 83,3% |
| Kerugian Operasional CS | $750 | $25 | Hemat $725 |
| Kerugian Ganti Rugi | $7,500 | $1,250 | Hemat $6,250 |
| Total Kerugian Kasar | $8,750 | $1,275 | Hemat $7,475 |
Kesimpulan: Penerapan model ML ini menghasilkan penghematan biaya sebesar 85% sekaligus melindungi reputasi merek ( brand trust ) tanpa merepotkan mayoritas pengguna yang sah.