Krino'da bir kural koşul ağacıdır: alanları seçersiniz, karşılaştırmayı kurarsınız, puanını verirsiniz. Kod yok, dağıtım yok — kural verinin üstünde yaşar.
Üç kavram var ve üçü de sizin kontrolünüzde. Karmaşıklık ürünün değil, işin karmaşıklığı kadar.
Bir olay tipine bağlanır — kredi başvurusu, sanal POS işlemi, para çekme. Hangi tabloyu okuyacağını ve kararın kime ait olduğunu belirler.
Kuralların o anki hâli. Taslak üzerinde çalışırsınız, canlı sürüm etkilenmez. Yayınladığınızda yenisi devreye girer, eskisi kayıtta kalır.
Bir koşul ağacı ve bir puan. Tetiklenirse puanı toplama eklenir; tetiklenmezse hiçbir şey olmaz. Toplam puan eşiklerle sonuca çevrilir.
Kendi veri modelinizin alanları üzerinde eşitlik, aralık, içerir, boş mu, listede mi — ve bunların iç içe VE/VEYA birleşimleri. Alanlar sizin adlandırdığınız alanlar; başka bir şemaya çevirmek zorunda değilsiniz.
"Aynı cihaz son 24 saatte kaç farklı kart denedi", "aynı IP son 10 dakikada kaç başvuru yaptı" gibi zaman penceresine dayalı sayımlar. Ölçüt, pencere ve eşik ekrandan ayarlanır.
Beyaz ve kara listeler, ülke ve BIN listeleri, kendi tuttuğunuz özel listeler. Listeye eklemek için kural değiştirmek gerekmez — liste ayrı yaşar.
E-posta sağlayıcısının geçici olup olmadığı, IP'nin datacenter çıkışı olup olmadığı, telefonun hat tipi, isim listeye benziyor mu — hepsi kuralda normal bir alan gibi kullanılır.
Toplam puan bir sonuca çevrilir. Eşikleri siz koyarsınız; hangi sonucun ne anlama geldiğini de siz tanımlarsınız.
İşlem geçer. Kayda alınır, ama kimseyi meşgul etmez.
İşlem geçer, ama bir vaka açılır — ekip sonradan bakar.
İşlem durur ve vaka açılır. Karar insana bırakılır.
İşlem reddedilir. Gerekçe kayıtta, itiraza cevap hazır.
Yeni bir kuralın en pahalı hâli, canlıda beklenmedik davranmasıdır. Krino bunu iki ayrı yolla önden gösterir.
Örnek bir Excel indirir, kendi kayıtlarınızla doldurur, geri yüklersiniz. Her satır için hangi kuralın tetiklendiğini, kaç puan geldiğini ve sonucun ne olduğunu satır satır görürsünüz. Yayınlanmış hiçbir şeye dokunulmaz.
Taslak sürüm, canlı trafiğin üstünde paralel olarak koşar ama hiçbir karara karışmaz. Süre dolduğunda elinizde şu vardır: kaç işlemde canlıyla aynı fikirdeydi, hangi durumlarda ayrıştı ve bu ayrışmalar hangi yönde. Sonra yayınlarsınız.
Kararın yanıtı yalnızca sonucu değil, o sonuca nasıl gelindiğini de taşır. Log'a bakmaya gerek kalmaz.
{
"decision": {
"outcome": "Review",
"score": 65,
"scenario_name": "Sanal POS · yüksek tutar"
},
"rule_executions": [
{ "rule_name": "Geçici e-posta sağlayıcı",
"outcome": "hit", "score": 40 },
{ "rule_name": "24 saatte 5+ farklı kart",
"outcome": "hit", "score": 25 },
{ "rule_name": "Yaptırım listesi",
"outcome": "no_hit", "score": 0 }
],
"execution_time_ms": 28
}
Bugün elle yaptığınız kontrolleri anlatın; bir demo ortamında kurup gösterelim.