Perkiraan Model Volume Transaksi ATM

Pendahuluan

Dalam modul ini Anda akan mempelajari cara membangun model prediktif untuk memperkirakan volume transaksi ATM berdasarkan kombinasi data historis, geospasial, mobilitas penduduk, dan karakteristik lokasi. Model ini sangat penting bagi tim jaringan perbankan untuk:

  • Menentukan lokasi ATM baru,
  • Mengurangi ATM dengan transaksi rendah,
  • Menentukan kebutuhan kas harian/weekly,
  • Merencanakan relokasi dan optimasi biaya operasional.

Anda akan mempelajari langkah-langkah lengkap mulai dari data engineering, pembuatan fitur geospasial, hingga pemodelan machine learning yang siap digunakan untuk forecasting volume transaksi.

Prasyarat / Alat yang Dibutuhkan:

  • Pengetahuan dasar statistik, time series, dan machine learning.
  • Python (Anaconda) dengan pustaka: pandas, geopandas, scikit-learn, statsmodels, prophet, xgboost.
  • QGIS/ArcGIS untuk analisis spasial.
  • Dataset historis transaksi ATM, koordinat lokasi ATM, mobilitas penduduk, POI (supermarket, kantor, tempat wisata), dan kompetitor ATM/EDC.

Langkah-langkah Utama

1. Tetapkan Tujuan Prediksi dan Ruang Lingkup Analisis

  1. Tentukan bentuk output model:
    • Forecast transaksi per hari/ minggu/ bulan, atau
    • Prediksi potensi transaksi untuk lokasi baru (greenfield).
  2. Tentukan KPI yang ingin ditingkatkan:
    • Akurasi prediksi, stabilitas suplai kas, optimasi densitas ATM.
      (Visual Hint: Dokumen definisi KPI dengan tabel target akurasi dan horizon prediksi.)
  3. Tentukan batas area analisis: kota, kecamatan, atau radius sekitar ATM.

Tip: Selalu tetapkan horizon prediksi (misal 4 minggu, 3 bulan) sejak awal untuk memilih algoritma yang tepat.


2. Kumpulkan dan Siapkan Data Historis Transaksi ATM

  1. Impor data transaksi ATM minimal 12–24 bulan:
    • Jumlah transaksi tarik tunai
    • Setoran tunai (jika CDM)
    • Non-tunai (cek saldo, transfer)
  2. Periksa kelengkapan data dan hilangkan anomali seperti hari libur tertentu atau gangguan sistem.
    (Visual Hint: Grafik garis transaksi 24 bulan di Jupyter Notebook.)
  3. Agregasikan data sesuai horizon: harian, mingguan, atau bulanan.

Peringatan: Data gangguan sistem sering membuat model bias — pastikan diberi flag atau dihapus dari training jika ekstrem.


3. Padukan Data Geospasial untuk Menjelaskan Variasi Transaksi

  1. Ambil koordinat ATM dan lakukan spatial join dengan:
    • Kepadatan penduduk
    • Keramaian (mall, pasar, terminal, kantor pemerintah, kampus)
    • Mobilitas wilayah (footfall)
    • Lokasi kompetitor ATM
      (Visual Hint: QGIS dengan titik ATM berwarna dan layer POI.)
  2. Buat buffer 200–500 m untuk menghitung jumlah POI sekitar.
  3. Hitung variabel jarak:
    • Jarak ke pusat keramaian
    • Jarak ke cabang bank terdekat
  4. Normalisasi seluruh variabel geospasial agar model mudah belajar.

Tip: Fitur geospasial biasanya memperbaiki akurasi prediksi hingga 20–40% dibandingkan model time series murni.


4. Lakukan Feature Engineering pada Data Transaksi

  1. Buat fitur waktu (temporal features):
    • Hari ke-, minggu ke-, bulan ke-, hari libur nasional, akhir pekan.
  2. Buat fitur tren:
    • Moving average (7, 14, 30 hari), growth rate.
  3. Buat fitur musiman:
    • Musim gajian, puncak liburan, Ramadan/Lebaran, Natal/Tahun Baru.
  4. Gabungkan dengan fitur geospasial yang disiapkan di langkah sebelumnya.
    (Visual Hint: Tabel fitur lengkap dengan 20–40 kolom hasil engineering.)

Peringatan: Overfitting sering terjadi jika fitur time-based terlalu banyak — gunakan cross-validation berbasis waktu.


5. Bangun Model Prediksi Volume Transaksi

Anda dapat menggunakan 2 pendekatan: model time series atau machine learning.

A. Pendekatan Time Series (Prophet / ARIMA)

  1. Format data menjadi kolom ds (tanggal) dan y (volume transaksi).
  2. Gunakan Prophet:
from prophet import Prophet
m = Prophet()
m.fit(df)
forecast = m.predict(future)

(Visual Hint: Output plot Prophet dengan garis tren dan musiman.)

  1. Evaluasi menggunakan cross-validation Prophet.

B. Pendekatan Machine Learning (XGBoost)

  1. Siapkan dataset fitur lengkap (time + geospasial).
  2. Jalankan training:
from xgboost import XGBRegressor
model = XGBRegressor(
    n_estimators=300,
    max_depth=6,
    learning_rate=0.05
)
model.fit(X_train, y_train)

(Visual Hint: Jupyter Notebook dengan kode training dan grafik evaluasi.)

  1. Evaluasi dengan RMSE/MAE/MAPE.
  2. Simpan model jika performanya stabil.

Tip: Untuk lokasi baru (ATM belum ada data historis), gunakan model machine learning karena pendekatan time series tidak dapat bekerja tanpa riwayat.


6. Prediksi Volume Transaksi untuk Lokasi Baru (Greenfield ATM)

  1. Tentukan titik koordinat ATM baru.
  2. Hitung seluruh fitur geospasial (POI, jarak, kepadatan, kompetitor).
  3. Buat dataset satu baris berisi fitur lokasi baru.
  4. Jalankan prediksi:
prediction = model.predict(new_location_df)

(Visual Hint: Peta lokasi kandidat ATM dengan lingkaran radius 300 m di QGIS.)

  1. Bandingkan beberapa lokasi dan pilih yang memiliki prediksi terbesar.

Tip: Gunakan minimal 3 skenario: jam sibuk, hari kerja, dan akhir pekan untuk menguji konsistensi prediksi.


7. Visualisasikan dan Laporkan Hasil Prediksi

  1. Buat heatmap transaksi aktual dan prediksi.
  2. Tampilkan titik ATM dengan warna berdasarkan volume:
    • Hijau = tinggi
    • Kuning = sedang
    • Merah = rendah
      (Visual Hint: Peta heatmap di QGIS/ArcGIS.)
  3. Buat dashboard ringkas berisi tren, prediksi 3 bulan ke depan, dan rekomendasi.

Tip: Visualisasi membantu manajemen cepat memahami hasil dan melakukan keputusan penempatan atau penarikan ATM.


Ringkasan

Tiga hal penting dari modul ini:

  1. Kombinasi data historis + geospasial memberikan prediksi volume ATM yang lebih akurat.
  2. Feature engineering adalah elemen terpenting untuk menangkap pola musiman, tren, dan lokasi.
  3. Model machine learning sangat efektif untuk memperkirakan potensi transaksi ATM baru.

Tugas Praktis

  1. Ambil data transaksi 12 bulan dari 5–10 ATM (dummy pun boleh).
  2. Tambahkan minimal 5 fitur geospasial (jumlah kompetitor, POI, kepadatan penduduk, jarak ke pusat keramaian, mobilitas).
  3. Buat model prediksi menggunakan Prophet atau XGBoost.
  4. Prediksi volume 4 minggu ke depan untuk satu ATM.
  5. Buat heatmap transaksi aktual vs prediksi dan kirimkan laporan 1 halaman.