コンビニでアイスコーヒーを1杯買おうとしたら、レジでカードが弾かれた。後ろに並んでる人の視線を感じながら、財布の小銭をかき集めて払った。帰り道でスマホを見たら通知が来ていた。「不正利用の可能性を検知しました」。
……アイスコーヒー1杯で?
アプリを開くと「独自AIが不正利用を検知精度99%で見抜きます」と書いてあった。すごい数字に見える。けど、その「99%」の中で自分がどっち側にいたのか——本物の不正の1人なのか、間違えられた側の1人なのか——この数字だけじゃ分からない。
何かが珍しいことなら、どれだけ精度の良い検知器でも、アラームの中身は間違いだらけになる。 これが「ベースレート」、要するに”普段どれくらいの頻度で起きるか”を先に置いておく話だ。
たとえるなら、宝くじ売り場の店員が「高額当選者を99%の精度で言い当てられます」と豪語していても、そもそも高額当選者が1万人に1人しかいないなら、店員が指さした客のほとんどは、ただの外れくじを握った人だ。
アラームの中身を数えてみる
言葉で分かった気になるより、数えたほうが早い。以下の数字は、話を分かりやすくするために僕が仮に置いた数字で、実際のカード会社の数字ではない。
仮に、ある日のカード決済が100万件あったとする。
- 本物の不正利用:100件(1万件に1件=0.01%)
- 普通の買い物:999,900件
検知システムが「不正の99%を捕まえる」性能だとすると、100件のうち99件を捕まえる(1件は見逃す)。同時に、普通の買い物を「不正っぽい」と間違って弾いてしまう確率が1%だけあるとする(それでもかなり優秀な部類のはずだ)。999,900件のうち1%、9,999件が誤って弾かれる。
アラームが鳴った件数は 99+9,999=10,098件。
アラームが鳴った10,098件のうち、本物の不正は99件。100件に1件もない。
「精度99%」は”見つける力”の数字であって、“珍しさ”の数字じゃない
「精度99%」が言ってるのは「不正を見つける力が99%」という意味で、「不正がどれくらい珍しいか」は言っていない。この2つは別の数字なのに、片方だけ聞くともう片方まで込みで安心してしまう。
| 数字 | 何を教えてくれるか |
|---|---|
| 検知率(99%) | 本物の不正を、どれだけ取りこぼさず捕まえられるか |
| ベースレート(0.01%) | そもそも不正が全体の中でどれだけ珍しいか |
| 適中率(約1%) | アラームが鳴った中で、実際に本物だった割合 |
検知率だけ見ると安心するが、ベースレートが極端に低いと、適中率は検知率よりずっと低くなる。珍しいものを探すゲームでは、これが基本のクセだ。目立つ一件(アラームが鳴った、その1回)だけを見ず、先に母数の景色(普段どれくらいの頻度で起きることか)を置く——それだけで、数字の受け取り方が変わる。
じゃあ「精度99%」って書いてある検知システム、全部あてにならないってこと?
……あてにならないわけじゃない。1件見逃しただけで、99件は本当に捕まえてる。ただ「アラームが鳴った=ほぼ不正」だと早合点しないほうがいい、それだけだ。
今度また似たアラートを見たら、“精度”の後ろに隠れてる分母を思い出すことにする。10,098件中99件。悪くない的中率に見えて、実際は99%が外れくじだった。
アイスコーヒー1杯で弾かれたのは、僕が犯人だったからじゃない。たぶん10,098人のうち、9,999人側に僕が入っただけだ。