Kural motoru

Kuralı yazan kişi, deseni gören kişi olsun.

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.

Yapı

Senaryo, sürüm, kural.

Üç kavram var ve üçü de sizin kontrolünüzde. Karmaşıklık ürünün değil, işin karmaşıklığı kadar.

Senaryo

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.

Sürüm

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.

Kural

Bir koşul ağacı ve bir puan. Tetiklenirse puanı toplama eklenir; tetiklenmezse hiçbir şey olmaz. Toplam puan eşiklerle sonuca çevrilir.

Koşullar

Bir kural neye bakabilir?

Alan karşılaştırmaları

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.

Hız kuralları

"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.

Listeler

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.

Türetilmiş sinyaller

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.

Puandan karara

Dört sonuç, sizin belirlediğiniz eşiklerle.

Toplam puan bir sonuca çevrilir. Eşikleri siz koyarsınız; hangi sonucun ne anlama geldiğini de siz tanımlarsınız.

Onay

İşlem geçer. Kayda alınır, ama kimseyi meşgul etmez.

İnceleme

İşlem geçer, ama bir vaka açılır — ekip sonradan bakar.

Engelle ve incele

İşlem durur ve vaka açılır. Karar insana bırakılır.

Red

İşlem reddedilir. Gerekçe kayıtta, itiraza cevap hazır.

Yayın öncesi

Bir kural yayına girmeden önce iki kez sınanır.

Yeni bir kuralın en pahalı hâli, canlıda beklenmedik davranmasıdır. Krino bunu iki ayrı yolla önden gösterir.

Örnek veriyle test

Ö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.

Gerçek trafikle gölge koşum

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.

Sonuç

Karar geldiğinde gerekçesi de gelir.

Kararın yanıtı yalnızca sonucu değil, o sonuca nasıl gelindiğini de taşır. Log'a bakmaya gerek kalmaz.

Yanıt (kısaltılmış)
{
  "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
}

Kendi kurallarınızı kuralım.

Bugün elle yaptığınız kontrolleri anlatın; bir demo ortamında kurup gösterelim.