Langsung ke konten utama
Peristiwa dievaluasi oleh mesin yang sama dengan transaksi. Ada satu model aturan, satu kosakata kondisi, dan satu kumpulan tindakan. Aturan hanya perlu menyatakan jenis catatan mana yang diterapkannya.

Berlaku untuk

scope.record_types menentukan pada apa aturan akan dipicu.
Jika dihilangkan, aturan tetap hanya berlaku untuk transaksi. Setiap aturan yang ditulis sebelum peristiwa tersedia berperilaku persis seperti sebelumnya, dan aturan tidak akan mulai mencocokkan login hanya karena cakupannya kosong.
Di konsol, ini adalah pemilih Berlaku untuk pada langkah Pemicu aturan. Jika Anda memilih Peristiwa, akan muncul daftar periksa Kategori peristiwa yang mempersempit aturan lebih lanjut. Biarkan semuanya tidak tercentang untuk mengevaluasi setiap kategori.
"__current__" berarti “nilai yang sama dengan peristiwa yang sedang dievaluasi”. Dengan cara inilah aturan menyatakan per subjek, per perangkat, atau per putaran tanpa perlu menyebutkan nilainya. Catatan yang tidak memiliki nilai pengelompokan tidak pernah dikelompokkan bersama. Peristiwa tanpa sidik jari perangkat tidak dianggap “perangkat yang sama” dengan peristiwa lain yang juga tidak memilikinya, dan peristiwa yang tidak menyebutkan subjek tidak dianggap “subjek yang sama” dengan peristiwa anonim lainnya. Jika peristiwa yang sedang dievaluasi tidak memiliki nilai untuk kolom "__current__", agregasi tersebut tidak akan cocok, apa pun operatornya.

Kolom peristiwa

Kondisi membaca jalur dengan namespace. Kosakata transaksi yang sudah Anda kenal (action_type, subject_vendor_data, subject_ip_country, custom_values.<key>) juga dapat digunakan untuk peristiwa. Sinyal subjek disimpan dalam cache pada pengguna yang dipantau, tidak dihitung ulang untuk setiap peristiwa, sehingga aturan dapat membacanya dengan kecepatan penyerapan data.

Agregasi

Velocity

Reducer yang sudah Anda gunakan pada transaksi, yaitu count, sum, avg, min, max, dan distinct_count, dihitung atas window bergulir (30m, 24h, 7d, 30d).

Rasio

Dua reducer atas jendela yang sama. Dengan cara inilah rasio taruhan terhadap deposit, penarikan terhadap deposit, bonus terhadap deposit, dan chargeback dinyatakan.
Deposit 1.000, taruhan 20, lalu meminta penarikan. Rasionya 0,02, pola klasik pencucian uang dengan bermain minimal.
Rasio tanpa penyebut tidak pernah cocok. Tidak ada deposit bukan berarti rasionya nol. Itu berarti tidak ada bukti, dan jika aturan dipicu dalam kondisi tersebut, setiap pengguna baru akan ditandai.

Urutan

Predikat berurutan dalam sebuah jendela. Setiap langkah mencocokkan action_type, event_category, atau filter match apa pun, dan dapat mensyaratkan min_count kemunculan sebelum urutan maju.
Serangan credential stuffing, lalu pengambilalihan MFA, lalu pengalihan pembayaran, lalu penguras dana. Aturan dipicu pada peristiwa yang melengkapi rantai tersebut, dan bukti yang cocok mencantumkan ID peristiwa dari setiap langkah. Status urutan disimpan per aturan dan per subjek, sehingga status maju seiring kedatangan peristiwa dan tidak memindai ulang linimasa. Kemajuan yang lebih lama dari jendela dibuang, bukan dihitung.

Korelasi

Penggabungan lintas subjek: mereduksi semua peristiwa yang berbagi grup dengan peristiwa ini.
"pair": true mencocokkan kedua ujung sebagai himpunan tanpa urutan, sehingga A→B dan B→A masuk ke grup yang sama. Inilah yang memungkinkan satu aturan melihat kedua sisi kolusi. Dumping chip, taruhan berlawanan, dan rujukan mandiri melalui afiliasi semuanya memiliki bentuk ini. Selalu berikan filters pada aturan korelasi untuk mempersempit cakupannya. Tanpa filter tersebut, aturan akan mempertimbangkan setiap peristiwa dalam jendela.

Real-time dan aturan asinkron

Sebagian aturan dapat merespons di dalam permintaan ingesti, sementara sebagian lainnya tidak. Event yang aturannya masih menunggu akan dikembalikan dengan "correlation_pending": true. Status dan skornya diperbarui pada event yang sama setelah tahap asinkron selesai. Menjalankan ulang bersifat idempoten, sehingga aturan tidak pernah menerapkan skornya dua kali. Pemisahan ini disengaja: kueri lintas-subjek untuk jaringan tidak boleh membuat login harus menunggu.

Tindakan

Kosakata tindakan sama dengan aturan transaksi: add_score, change_status, add_tags, add_note, add_to_list, open_case. Ada dua perbedaan pada event:
  • change_status ke AWAITING_USER hanya berlaku untuk transaksi (tidak ada alur remediasi event), dan diterapkan sebagai IN_REVIEW.
  • open_case menautkan kasus ke subjek, bukan ke transaksi, dan mencatat id event yang cocok pada kasus tersebut.

Bukti

Setiap kecocokan menyimpan apa yang dilihatnya: jendela agregasi, nilai yang dihitung, nilai yang diharapkan, sampel id event, dan sumber dari setiap kolom yang cocok. Dengan demikian, analis dapat membedakan IP yang distempel server dari petunjuk yang dikirim klien sebelum mengambil tindakan atas suatu kecocokan. Konsol menampilkan sumber di samping setiap kolom yang cocok di panel event.

Contoh kasus

Deposit, permainan dengan token, penarikan cepat. Kondisi event.action_type eq withdrawal_requested, ditambah rasio taruhan-terhadap-deposit lte 0.1 selama 24h.
Rasio count(chargeback_opened) terhadap count(deposit_completed) per subjek selama 30d, gte 0.5. Kelompokkan berdasarkan event.payment.payment_fingerprint, bukan subjek, untuk menangkap satu instrumen pembayaran di berbagai akun.
Sekuens ato_drain di atas, dengan add_score 90 dan change_status DECLINED.
Korelasi pasangan di atas. Naikkan value ke jumlah yang material untuk tabel Anda, dan tambahkan event.gameplay.game_id ke group_by agar setiap game tetap terpisah.
Kondisi pada event.action_type eq bot_signal_observed, event.bot.timing_variance_ms lte 10 dan event.device.bot_score gte 90, dengan add_tags. Gabungkan dengan distinct_count dari event.device.fingerprint per IP untuk menemukan jaringan bot, bukan satu skrip.
Kondisi pada event.action_type eq self_exclusion_match dan event.payload.re_registration_attempt eq true, dieskalasi dengan open_case.

Berikutnya

Ingesti event

Amplop, sepuluh kategori, dan kontrak batch.

API Aturan

Buat, perbarui, dan lakukan backtesting aturan secara programatis.
Terakhir diubah pada 7 November 2026