Senaryo
Ilgaz Bank'ın risk ekibi dolandırıcılık modeli kurmadan önce veriyi tanımak istiyor. İki şey bekleniyor: kural ve istatistikle şüpheli işlemlerin işaretlenmesi, ve her müşteri için bir satırlık özellik tablosu (feature table).
Yöntem
- z-skoru: (değer − ortalama) ÷ standart sapma. Hesap bazında hesaplanırsa “bu müşteri için olağandışı” işlemi bulur.
- Kurallar: gece saatleri, yeni kanal, çok yüksek tutar gibi işaretler birleştirilerek basit bir skor oluşturulur.
- Sızıntı yok: Özellik tablosu, tahmin anından önceki veriden üretilmelidir (burada referans tarih 2024-12-01; Aralık verisi etiket için ayrılır).
Standart sapma bu uygulamada STDDEV (SQL Server'da STDEV) ile hesaplanabilir; taşınabilir yol SQRT(AVG(x*x) - AVG(x)*AVG(x)).
Derinleş: modele hazır veri teslim etmek
Brif: Risk ekibi lideri“Ay sonunda dolandırıcılık ve pasifleşme modelleri için bütçe isteyeceğiz. Önce SQL ile ne kadar sinyal olduğunu görelim: şüpheli işlemler gerçekten ayrışıyor mu, özellik tablosu etiketle ilişkili mi? Bana özellik tablosu ve iki sayfalık bulgu notu lazım.”
Çalışma planı
- Kesim tarihini sabitle. Özellikler 2024-12-01 öncesinden, etiket Aralık'tan. Aşağıdaki sorgu öncesi dönemi tanır: 18.771 kart harcaması, 477 müşteri, son işlem 2024-11-30.
- Dağılıma bak. Ortalama 3.111 TL ama en büyük işlem 93.500 TL: dağılım sağa çarpık; ortalama + 3 standart sapma kaba bir eşiktir, kesin değildir.
- Hipotezleri yaz. “Gece işlemleri olağandışı”, “uzun süredir harcamayan müşteri pasifleşir”. Her biri bir sorguyla sınanabilir.
SELECT COUNT(*) AS islem, COUNT(DISTINCT a.customer_id) AS musteri,
MIN(t.txn_time) AS ilk, MAX(t.txn_time) AS son
FROM bank_txns t
JOIN bank_accounts a ON a.account_id = t.account_id
WHERE t.txn_type = 'kart_harcama' AND t.txn_time < '2024-12-01';
Kontrol listesi
- Bir müşteri = bir satır. Özellik tablosunun satır sayısı tekil müşteri sayısına (477) eşit olmalı; etiket tablosunun toplamı da.
- Sızıntı testi.
son_gunnegatifse kesimden sonraki veri özelliğe girmiş demektir. Sıfır olmalı. - Bölme hatası. z-skoru için standart sapma 0 olan ve az işlemli hesaplar dışarıda bırakılmalı.
- Sınıf dengesi. Pasif müşteri yalnızca 13; model başarısını doğruluk (accuracy) ile değil, yakalama oranıyla ölç.
Teslim
Özellik tablosu (müşteri başına bir satır, sütun sözlüğüyle) ve bulgu notu: işaret sayıları, kesişim, etiketle ilişki tablosu.
Yönetici özeti örneğiKasım sonuna kadar harcaması olan 477 müşteri için özellik tablosu hazırlandı; 13 müşteri Aralık'ta pasifleşti. Son harcamasının üzerinden 30 günden fazla geçen 13 müşterinin 12'si pasif kaldı;
son_gun tek başına çok güçlü bir sinyal. Kural skoru 25 işlemi işaretledi; bunların 19'u hesap bazında z-skoruyla da olağandışı. Bu 25 işlemin hepsi gece saatlerinde, 45.400 TL üstünde ve her biri farklı bir hesapta: dolandırıcılık ekibine öncelikli inceleme listesi olarak gönderilmeli.Kendini değerlendir
| Ölçüt | Başlangıç | İyi | Mükemmel |
|---|---|---|---|
| Doğruluk | Özellikler hesaplanmış | Kesim tarihi her yerde aynı | Sızıntı ve satır sayısı testleri sıfır hata |
| Analiz | Tek yöntem | Kural ve istatistik karşılaştırılmış | Kesişim ve etiketle ilişki sayıyla gösterilmiş |
| Teslim | Sorgular | Tablo + sütun sözlüğü | Tablo, sözlük ve modelin neyi tahmin edeceğine dair net not |