メインコンテンツへスキップ
イベントは取引と同じエンジンで評価されます。ルールモデル、条件で使用する語彙、アクションのセットはそれぞれ1つだけで、ルールはどのレコード種別に適用されるかを宣言するだけです。

適用先

scope.record_typesによって、ルールが何に対して発火するかが決まります。
省略した場合、ルールは取引のみを対象とします。イベント機能より前に作成されたルールはすべてこれまでとまったく同じように動作します。スコープがたまたま空だったという理由で、ルールがログインにマッチし始めることはありません。
コンソールでは、ルールのトリガーステップにある適用先セレクターがこれに当たります。イベントを選ぶとイベントカテゴリのチェックリストが表示され、ルールをさらに絞り込めます。すべてのカテゴリを評価する場合は、何もチェックしないでください。
"__current__"は「評価対象のイベントと同じ値」を意味します。これにより、ルールは特定の値を指定せずに対象者ごと、デバイスごと、ラウンドごとの条件を表現できます。

イベントフィールド

条件は名前空間付きのパスを読み取ります。すでにおなじみの取引の語彙(action_type、subject_vendor_data、subject_ip_country、custom_values.<key>)は、イベントでも参照できます。 対象者シグナルはイベントごとに再計算されるのではなく、モニタリング対象のユーザーに対してキャッシュされます。そのため、ルールは取り込み時にこれらを読み取れます。

集計

ベロシティ

取引ですでに使っているリデューサー(count、sum、avg、min、max、distinct_count)を、ローリングwindow(30m、24h、7d、30d)にわたって適用します。

比率

同じウィンドウにわたる2つのリデューサーです。賭け額対入金額、出金額対入金額、ボーナス対入金額、チャージバック率はこの方法で表現します。
1,000を入金し、20を賭けて出金を申請すると、比率は0.02になります。最小限のプレイによる典型的なマネーロンダリングです。
分母のない比率は決して一致しません。入金がないことは比率ゼロではなく、根拠がないということです。ここで発火させると、新規ユーザー全員にフラグが立ってしまいます。

シーケンス

ウィンドウ内の順序付き述語です。各ステップはaction_type、event_category、または任意のmatchフィルターで一致を判定し、シーケンスが次に進む前にmin_count回の発生を要求できます。
クレデンシャルスタッフィング、次にMFAの乗っ取り、次に支払先の変更、そして資金の引き出し。ルールはチェーンを完了させたイベントで発火し、一致した根拠には各ステップのイベントIDが列挙されます。 シーケンスの状態はルールと対象者ごとに保持されるため、タイムラインを再スキャンすることなく、イベントの到着に応じて進行します。ウィンドウより古い進行状況はカウントされず、破棄されます。

相関

対象者をまたぐ結合です。このイベントと同じグループを共有するすべてのイベントにわたって集計します。
"pair": trueは両端を順序のない集合として照合するため、A→BとB→Aは同じグループに入ります。これにより、1つのルールで共謀の両側を把握できます。チップダンピング、反対ベッティング、アフィリエイトによる自己リファラルは、いずれもこの形です。 相関ルールには必ず絞り込み用のfiltersを指定してください。指定しないと、ウィンドウ内のすべてのイベントが対象になります。

リアルタイムルールと非同期ルール

取り込みリクエスト内で結果を返せるルールと、できないルールがあります。 ルールが保留中のイベントは、"correlation_pending": true付きで返されます。非同期処理が完了すると、既存のイベントのステータスとスコアが更新されます。再実行は冪等なため、ルールがスコアを二重に適用することはありません。 この分担は意図的なものです。複数の対象者にまたがるリングのクエリのために、ログインを待たせてはならないからです。

アクション

取引ルールと同じアクション(add_score、change_status、add_tags、add_note、add_to_list、open_case)を使用します。 イベントでは次の2点が異なります。
  • AWAITING_USERへのchange_statusは取引専用の結果であるため(イベントには是正フローがありません)、IN_REVIEWとして適用されます。
  • open_caseは、ケースを取引ではなく対象者に紐付け、一致したイベントIDをケースに記録します。

エビデンス

すべての一致には、集計ウィンドウ、算出値、期待値、サンプリングされたイベントID、一致した各フィールドのソースが保存されます。 そのため、アナリストは一致に対してアクションを起こす前に、サーバーで記録されたIPとクライアントが提供したヒントを区別できます。コンソールでは、イベントドロワー内の一致した各フィールドの横にソースが表示されます。

実例

入金し、形だけのプレイを行い、すぐに出金するパターンです。条件event.action_type eq withdrawal_requestedに加え、前述の賭け金対入金比率を24hの期間でlte 0.1に設定します。
対象者ごとのcount(chargeback_opened)とcount(deposit_completed)の比率を30dの期間でgte 0.5に設定します。対象者の代わりにevent.payment.payment_fingerprintでグループ化すると、複数のアカウントにまたがって使われる1つの決済手段を検出できます。
前述のato_drainシーケンスに、add_score 90とchange_status DECLINEDを組み合わせます。
前述のペア相関を使用します。valueをお客様のテーブルにとって重要な金額まで引き上げ、group_byにevent.gameplay.game_idを追加してゲームごとに分けて集計します。
event.action_type eq bot_signal_observed、event.bot.timing_variance_ms lte 10、event.device.bot_score gte 90を条件とし、add_tagsを設定します。IPごとのevent.device.fingerprintのdistinct_countと組み合わせると、単一のスクリプトではなくファーム全体を検出できます。
event.action_type eq self_exclusion_matchとevent.payload.re_registration_attempt eq trueを条件とし、open_caseでエスカレーションします。

次のステップ

イベントの取り込み

エンベロープ、10のカテゴリ、バッチの仕様について説明します。

ルールAPI

プログラムでルールを作成、更新、バックテストできます。
最終更新日 2026年11月1日