ブログに戻る

現場に信頼されるリスクスコアを設計するには

リスク不正対策エンジニアリング

リスクスコアは、アナリストが納得して使えるものでなければ意味がありません。シグナルの重み付け、判断理由の可視化、しきい値の調整、継続的な見直しの考え方を解説します。

不正対策の仕組みを作っていくと、最終的にはたいてい「0〜100」のどこかの数字に行き着きます。優れたスコアと使われないスコアの違いは、数学的な精緻さだけではありません。むしろ重要なのは、その数字を見て判断する人たちが、本当に信頼できるかどうかです。

雰囲気ではなく、証拠をスコア化する

まずは、生のシグナルを書き出し、それぞれが自社のトラフィックにおいてどの程度の意味を持つのかを整理します。

| Signal | Typical weight | Why | | --- | --- | --- | | TOR exit node | High | 意図的な匿名化であり、一般的な顧客ではまれ | | Hosting / datacenter | Medium-high | サーバーは買い物客ではない | | Commercial VPN | Low-medium | 正当なユーザーにも非常に一般的 | | Residential proxy | High | 正規ユーザーに見せかける目的で使われやすい | | Mobile carrier | Neutral | 共有されるが、利用者の大半は実在の一般ユーザー | | ASN abuse history | Medium | 安価なネットワークには安価な攻撃が集まりやすい |

こうした重みは、ブログ記事——もちろんこの記事も含めて——から借りてくるものではありません。自社の結果から導き出すべきです。過去1か月分の、確定したチャージバックと問題のなかった注文を取り出し、どのフラグが実際に両者を分けているのかを確認します。

判断理由をスコアに必ず添える

理由のない「78点」は、手順が増えただけのコイントスです。スコアだけでなく、その点数に寄与した理由も一緒に返し、レビュー画面に表示しましょう。すると2つの効果があります。アナリストがルールの不具合に気づいてくれるようになり、異議申し立ても5往復ではなく1通のやり取りで解決しやすくなります。

しきい値は1本ではなく、3つの帯で調整する

  • Low — 何もせず通過させる。
  • Medium — 追加の摩擦を入れる。メール認証、3-D Secure、支払い前の遅延など。
  • High — レビュー待ちにする。ポリシー上可能であれば拒否する。

単一のしきい値は、連続的なシグナルに対して二択を強いることになります。その結果、ミスの多くが高くつく判断になりがちです。帯で考えれば、信頼を失う代わりに、必要な場面だけ摩擦を使う設計ができます。

IPだけで判断させない

IPインテリジェンスが答えられるのは、「これはどのような種類のネットワークか」という問いです。「この人は本当に名乗っている本人か」までは分かりません。アカウント作成からの期間、行動速度、デバイスの一貫性、請求先と配送先の整合性、決済履歴などと組み合わせて判断する必要があります。IPの判定は意思決定を傾ける材料であって、単独で結論を出すものではありません。

誤検知のコストを明示的に測る

不正利用者をブロックすれば、その注文金額を守れます。一方で、本物の顧客をブロックすると、注文だけでなく関係性まで失います。しかも、その発生頻度は多くのチームが見積もっているより高いものです。次の両面を追跡しましょう。

  • 1週間あたりに検知できた確定不正件数。
  • 1週間あたりにリスク判定が原因で発生したサポートチケット数。
  • それらのチケットの取り消し率。つまり、レビューの結果「ブロックが誤りだった」と判断された割合。

取り消し率がおおむね5件に1件を超えているなら、不正検知の数字がよく見えていたとしても、しきい値は攻めすぎです。

定期的に見直す

攻撃パターンは入れ替わります。春には有効だった重みが、秋にはただのノイズになっていることもあります。スコアのレビューを定期予定としてカレンダーに入れ、直近のラベル付きケースを現在のルールに再適用し、必要に応じて調整しましょう。1年間誰も見直していないスコアは、統制ではなくレガシーシステムです。

信頼性を確かめるテスト

昨日の高リスク判定をランダムに1件選び、アナリストに「なぜそう判定されたのか」を一文で説明してもらってください。説明できるなら、そのスコアは機能しています。肩をすくめて「システムがフラグを立てたので」としか言えないなら、そこにあるのはシグナルではなく、ただの数字です。

現在の接続