library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
library(lubridate)
library(ggplot2)
library(plotly)
##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
library(shiny)
library(dplyr)
library(jpeg)
Pengguna e-commerce di Indonesia terus meningkat sejak 2017, dengan 70,8 juta pengguna, dan diprediksi mencapai 189,6 juta pada 2024. Pada 2018, jumlah pengguna mencapai 87,5 juta, dan terus bertambah hingga 129,9 juta pada 2020. Pada 2021, diperkirakan 148,9 juta pengguna, 166,1 juta pada 2022, dan 180,6 juta pada 2023.
Pertumbuhan pesat pasar e-commerce dan peningkatan pengguna internet menjadi faktor utama penyebab fraud di e-commerce. Pada 2018, pasar e-commerce di Indonesia bernilai USD 50 miliar dan diprediksi mencapai USD 200 miliar pada 2026. Pengguna internet meningkat dari 560 juta pada 2018 menjadi 835 juta pada 2023, dengan pertumbuhan online shoppers sebesar 73%.
Berdasarkan dari demandsage.com Pasar deteksi penipuan e-dagang diperkirakan mencapai $102,28 miliar pada akhir tahun 2027.
Berdasarkan sejarah dari tahun ke tahun, terjadi peningkatan lebih dari 50% dalam serangan dibandingkan tahun sebelumnya. Namun, hanya sedikit peningkatan yang diamati dalam upaya penipuan yang berhasil.
63% dari biaya penipuan yang ditanggung oleh pedagang e-commerce di Amerika Serikat dikaitkan dengan transaksi domestik. Sisanya, 37% dikaitkan dengan penipuan internasional di Amerika Serikat pada tahun 2022. Angka ini menunjukkan penurunan yang cukup besar dalam penipuan domestik dibandingkan dengan 71% yang tercatat pada tahun 2021, sementara penipuan internasional meningkat.
Proporsi terbesar kerugian akibat penipuan yang dialami pedagang daring di Amerika Serikat disebabkan oleh penipuan yang dilakukan oleh pihak yang bersahabat.
Ini adalah praktik di mana konsumen melakukan pembelian dan kemudian meminta pengembalian uang. Bagian terbesar kedua adalah penipuan sintetis, di mana penipu membuat identitas palsu untuk tujuan penipuan.
Fraud di e-commerce meliputi:
Phishing/Pharming/Whaling: Mencuri informasi rahasia seperti kartu kredit dan kata sandi, terkait dengan Cyber Security Fraud seperti pengambilalihan akun.
Card Testing: Menguji kartu kredit curian untuk validitas, bagian dari Cyber Security Fraud.
Identity Theft: Pencurian identitas untuk penipuan, termasuk Cyber Security Fraud.
First-party Misuse: Memberikan informasi palsu untuk keuntungan ilegal, terkait dengan Fraud Pembeli (klaim palsu, penolakan pembayaran) dan Merchant Fraud (barang palsu, ketidakpatuhan).
First-party Misuse : Penipuan di mana individu atau organisasi dengan sengaja memberikan informasi palsu untuk keuntungan ilegal. Ini berkaitan dengan Fraud Pembeli dan Merchant Fraud, yang melibatkan klaim palsu, penolakan pembayaran, akun palsu, penyalahgunaan promosi, serta penjualan barang palsu.
Secara umum dalam project ini akan mencoba mengimplementasikan pada beberapa model hingga mendapatkan yang terbaik
Logistic Regression: Sangat populer untuk deteksi fraud karena outputnya biner (fraud atau non-fraud). Model ini bekerja dengan baik untuk dataset yang linier terpisah.
Decision Trees: Memberikan interpretasi yang mudah dipahami dalam mendeteksi pola yang mengarah ke fraud. Dapat digunakan untuk klasifikasi biner (fraud atau tidak) dengan pembagian berdasarkan fitur transaksi.
Random Forest: Model ensemble yang menggabungkan beberapa decision trees untuk meningkatkan akurasi. Berguna untuk menangani data yang kompleks dan mengurangi risiko overfitting.
Support Vector Machines (SVM): Dapat memisahkan data secara optimal untuk mendeteksi fraud, terutama jika data tidak linier. Dapat digunakan dengan kernel untuk menyesuaikan berbagai pola yang ada dalam dataset.
Gradient Boosting Machines (GBM): Seperti XGBoost atau LightGBM, sangat efektif untuk mendeteksi pola fraud dengan menangani ketidakseimbangan kelas dalam dataset.
K-Nearest Neighbors (KNN): Dapat digunakan untuk mengklasifikasikan transaksi sebagai fraud berdasarkan kedekatan dengan transaksi lain yang serupa. Model ini sederhana tetapi bisa efisien jika datasetnya tidak terlalu besar.
Neural Networks (Multilayer Perceptron): Dapat digunakan untuk mendeteksi pola non-linier yang kompleks dalam transaksi fraud. Ini sangat kuat tetapi membutuhkan lebih banyak data dan komputasi.
Berikut model berdasarkan tujuannya
- Classification of Fraud Campaign Mengklasifikasikan kampanye yang berkaitan dengan aktivitas fraud berdasarkan pola perilaku dan karakteristik transaksi.
Model yang Direkomendasikan:
Logistic Regression: Cocok untuk klasifikasi biner (fraud vs. non-fraud), serta memberikan probabilitas deteksi penipuan. Random Forest: Memanfaatkan banyak decision trees untuk meningkatkan akurasi dan mengenali fitur-fitur penting yang mempengaruhi kampanye fraud. Gradient Boosting Machines (GBM): Berguna untuk menangani data yang kompleks dengan hubungan non-linier. Pengolahan Fitur:
Categorical Encoding: Encoding kategori kampanye (seperti jenis promosi) dengan metode seperti one-hot encoding atau target encoding. Feature Engineering: Buat fitur tambahan seperti frekuensi penggunaan promosi atau kampanye per pelanggan.
- Fraud Technique Analysis Analisis teknik penipuan yang digunakan oleh pelaku untuk mengeksploitasi sistem, seperti card testing atau identity theft.
Model yang Direkomendasikan:
Support Vector Machines (SVM): Untuk memisahkan data yang sulit dipisahkan secara linier dan mendeteksi teknik penipuan yang kompleks. Neural Networks (Multilayer Perceptron): Cocok untuk mendeteksi pola non-linier yang rumit dalam teknik penipuan. XGBoost: Menggabungkan beberapa model untuk meningkatkan prediksi terhadap teknik penipuan tertentu. Pengolahan Fitur:
Time Series Analysis: Analisis waktu transaksi dan teknik penipuan yang mungkin terjadi dalam periode tertentu. Anomaly Detection: Mengidentifikasi teknik penipuan berdasarkan pola anomali dalam data.
- Monitoring Fraud Trend Memantau tren penipuan dari waktu ke waktu untuk mengidentifikasi peningkatan aktivitas yang mencurigakan dan mengantisipasi potensi risiko.
Model yang Direkomendasikan:
Time Series Models: Seperti ARIMA atau Prophet untuk memantau perubahan tren fraud secara berkala. LSTM (Long Short-Term Memory): Cocok untuk mendeteksi pola penipuan yang bergantung pada waktu. Random Forest: Dapat digunakan untuk memantau variasi tren berdasarkan fitur historis.
Pengolahan Fitur: Temporal Feature Engineering: Menggunakan fitur berbasis waktu, seperti jam, hari, atau bulan, untuk melihat pola tren. Clustering: Segmentasi tren penipuan berdasarkan pola tertentu seperti area geografis atau jenis penipuan.
- Fraud Ring GNN (Graph Neural Network) Mendeteksi jaringan penipuan atau fraud rings yang melibatkan beberapa pelaku yang saling berhubungan, menggunakan analisis graf.
Model yang Direkomendasikan:
Graph Neural Networks (GNN): Untuk menganalisis hubungan antara pelaku penipuan dalam jaringan yang kompleks. DeepWalk atau Node2Vec: Algoritma untuk merepresentasikan node (pelaku) dalam jaringan fraud untuk memprediksi keterlibatan mereka dalam jaringan penipuan. XGBoost: Dapat digunakan sebagai model tambahan untuk menganalisis fitur hasil dari representasi graf. Pengolahan Fitur:
Graph Feature Engineering: Membuat fitur-fitur berbasis graf, seperti degree centrality dan clustering coefficient untuk mengidentifikasi pelaku penting dalam fraud ring. Network Analysis: Melakukan analisis terhadap struktur jaringan untuk menemukan pola penipuan yang terkait dengan aktor dalam fraud ring.
Mengembangkan model Machine Learning untuk memprediksi dan mencegah First-party Fraud dalam transaksi e-commerce dengan mengidentifikasi aktivitas yang mencurigakan yang dapat menunjukkan perilaku penipuan.
Fitur Classification of Fraud Campaign Mengklasifikasikan kampanye yang berkaitan dengan aktivitas fraud berdasarkan pola perilaku dan karakteristik transaksi.
Fitur Fraud Technique Analysis Analisis teknik penipuan yang digunakan oleh pelaku untuk mengeksploitasi sistem, seperti card testing atau identity theft.
Fitur Monitoring Fraud Trend Memantau tren penipuan dari waktu ke waktu untuk mengidentifikasi peningkatan aktivitas yang mencurigakan dan mengantisipasi potensi risiko.
Fitur Fraud Ring GNN (Graph Neural Network) Mendeteksi jaringan penipuan atau fraud rings yang melibatkan beberapa pelaku yang saling berhubungan, menggunakan analisis graf.
Output dari project ini berupa dashboard interaktif yang memungkinkan pengguna untuk mendeteksi fraud lebih mudah dengan 4 Fitur utama yaitu Fitur Classification of Fraud Campaign, Fitur Fraud Technique Analysis, Fitur Monitoring Fraud Trend dan Fitur Fraud Ring GNN (Graph Neural Network)
Secara umum terdapat beberapa impact yang akan dirasakan berdasarkan ulasan diatas yaitu
Setelah mengetahui penjelasan secara umumnya, berikut ini merupakan penjelasan lebih mendalam
Target Project:
Ditujukan untuk perusahaan e-commerce dan lembaga keuangan yang ingin mendeteksi serta mencegah First-party Fraud dan penipuan lainnya yang berdampak negatif pada bisnis.
Pengguna Utama:
Tim Keamanan dan Pencegahan Fraud Tim Manajemen Risiko Pengelola Platform E-commerce Lembaga Keuangan
Manfaat dan Dampak Bisnis:
Pengurangan Kerugian: Mengurangi risiko chargebacks dan klaim penipuan, serta menjaga pendapatan perusahaan. Peningkatan Kepercayaan Konsumen: Melindungi pelanggan dari penipuan, sehingga menciptakan pengalaman bertransaksi yang aman. Efisiensi Operasional: Mengotomatisasi deteksi penipuan, menghemat biaya monitoring manual. Penggunaan Promosi yang Efektif: Mencegah penyalahgunaan kupon dan promosi, mengoptimalkan strategi marketing. Pengalaman Pelanggan yang Lebih Baik: Meningkatkan kelancaran transaksi bagi pelanggan yang sah.
data <- read.csv("data/archive/Fraudulent260.csv")
head(data)
## Transaction.ID Customer.ID
## 1 c12e07a0-8a06-4c0d-b5cc-04f3af688570 8ca9f102-02a4-4207-ab63-484e83a1bdf0
## 2 7d187603-7961-4fce-9827-9698e2b6a201 4d158416-caae-4b09-bd5b-15235deb9129
## 3 f2c14f9d-92df-4aaf-8931-ceaf4e63ed72 ccae47b8-75c7-4f5a-aa9e-957deced2137
## 4 e9949bfa-194d-486b-84da-9565fca9e5ce b04960c0-aeee-4907-b1cd-4819016adcef
## 5 7362837c-7538-434e-8731-0df713f5f26d de9d6351-b3a7-4bc7-9a55-8f013eb66928
## 6 5da506fe-d4df-474a-b773-146333f06cfe 03033baf-2bcc-4608-b5b8-9c86976f4948
## Transaction.Amount Transaction.Date Payment.Method Product.Category Quantity
## 1 42.32 3/24/2024 23:42 PayPal electronics 1
## 2 301.34 1/22/2024 0:53 credit card electronics 3
## 3 340.32 1/22/2024 8:06 debit card toys & games 5
## 4 95.77 1/16/2024 20:34 credit card electronics 5
## 5 77.45 1/16/2024 15:47 credit card clothing 5
## 6 345.27 2/22/2024 13:49 PayPal toys & games 1
## Customer.Age Customer.Location Device.Used IP.Address
## 1 40 East Jameshaven desktop 110.87.246.85
## 2 35 Kingstad tablet 14.73.104.153
## 3 29 North Ryan desktop 67.58.94.93
## 4 45 Kaylaville mobile 202.122.126.216
## 5 42 North Edwardborough desktop 96.77.232.76
## 6 9 Johnsonmouth desktop 158.48.161.135
## Shipping.Address
## 1 5399 Rachel Stravenue Suite 718\nNorth Blakeburgh, IL 78600
## 2 5230 Stephanie Forge\nCollinsbury, PR 81853
## 3 195 Cole Oval\nPort Larry, IA 58422
## 4 7609 Cynthia Square\nWest Brenda, NV 23016
## 5 2494 Robert Ramp Suite 313\nRobinsonport, AS 52039
## 6 PSC 3832, Box 5265\nAPO AE 85694
## Billing.Address Is.Fraudulent
## 1 5399 Rachel Stravenue Suite 718\nNorth Blakeburgh, IL 78600 0
## 2 5230 Stephanie Forge\nCollinsbury, PR 81853 0
## 3 4772 David Stravenue Apt. 447\nVelasquezside, KS 67650 0
## 4 7609 Cynthia Square\nWest Brenda, NV 23016 0
## 5 2494 Robert Ramp Suite 313\nRobinsonport, AS 52039 0
## 6 PSC 3832, Box 5265\nAPO AE 85694 0
## Account.Age.Days Transaction.Hour
## 1 282 23
## 2 223 0
## 3 360 8
## 4 325 20
## 5 116 15
## 6 251 13
glimpse(data)
## Rows: 60
## Columns: 16
## $ Transaction.ID <chr> "c12e07a0-8a06-4c0d-b5cc-04f3af688570", "7d187603-7…
## $ Customer.ID <chr> "8ca9f102-02a4-4207-ab63-484e83a1bdf0", "4d158416-c…
## $ Transaction.Amount <dbl> 42.32, 301.34, 340.32, 95.77, 77.45, 345.27, 53.69,…
## $ Transaction.Date <chr> "3/24/2024 23:42", "1/22/2024 0:53", "1/22/2024 8:0…
## $ Payment.Method <chr> "PayPal", "credit card", "debit card", "credit card…
## $ Product.Category <chr> "electronics", "electronics", "toys & games", "elec…
## $ Quantity <int> 1, 3, 5, 5, 5, 1, 3, 5, 4, 4, 2, 1, 4, 5, 3, 2, 3, …
## $ Customer.Age <int> 40, 35, 29, 45, 42, 9, 41, 39, 35, 19, 24, 53, 51, …
## $ Customer.Location <chr> "East Jameshaven", "Kingstad", "North Ryan", "Kayla…
## $ Device.Used <chr> "desktop", "tablet", "desktop", "mobile", "desktop"…
## $ IP.Address <chr> "110.87.246.85", "14.73.104.153", "67.58.94.93", "2…
## $ Shipping.Address <chr> "5399 Rachel Stravenue Suite 718\nNorth Blakeburgh,…
## $ Billing.Address <chr> "5399 Rachel Stravenue Suite 718\nNorth Blakeburgh,…
## $ Is.Fraudulent <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ Account.Age.Days <int> 282, 223, 360, 325, 116, 251, 138, 36, 188, 245, 25…
## $ Transaction.Hour <int> 23, 0, 8, 20, 15, 13, 13, 23, 4, 22, 12, 0, 19, 2, …