第461話|「それっぽい数字」に騙されない! データ拷問を防ぐためには

第461話|「それっぽい数字」に騙されない! データ拷問を防ぐためには

if you torture the data long enough, it will confess to anything.
(データを十分に長く拷問すると、何でも自白してしまう)

この言葉をご存知でしょうか。

データは本来、客観的な真実を語るはずです。

しかし、切り方を変え、止めるタイミングを選び、見せ方を工夫すれば、データは私たちが望む「自白」をしてくれます。

これは魅力的である反面、非常に危険な性質でもあります。

今日は、データ分析における「自由度の濫用」という問題を、分析する側と活用する側の両方の視点から考えていきます。

難しく聞こえるかもしれませんが、実はとてもシンプルな話です。

要は「ルールを決めずに数字をいじくり回すと、見たい結果が見えてしまう」ということなのです。

同じ数字が「成功」にも「失敗」にもなる理由

まず、具体的な例から始めましょう。

あなたが新規キャンペーンのレポートを受け取ったとします。

サイトのCVR(コンバージョン率)は前月比で15%向上しており、グラフも右肩上がりです。

一見すると大成功ですね。

しかし、分析期間を1週間延ばしてみたらどうでしょう。

延長した期間には在庫切れが発生しており、その週を含めると効果はほぼゼロになってしまいました。

同じキャンペーンなのに、期間の切り方ひとつで「成功」が「失敗」に変わってしまったのです。

こうした逆転現象は、決して珍しいことではありません。

原因はシンプルです。分析に関わる自由度が高すぎるのです。

どの指標を見るか、どの期間で区切るか、どのグループで比較するか、どの可視化方法を選ぶか。

これらすべてが「選択可能」である限り、意図的であれ無意識であれ、都合の良い結果を引き出すことができてしまいます。

では、どうすればこの問題を防げるのでしょうか。

答えは「自由度を事前に縛る」ことです。以降、分析する側と活用する側、それぞれの立場でできることを見ていきましょう。

分析する側でデータを「拷問しない」ためのポイント

 KPIショッピングを防ぐ(事前に縛る)

「KPIショッピング」とは、複数の指標を試してみて、都合の良い結果が出たものだけを報告する行為です。

たとえば、売上が伸びていなければクリック率を見る、クリック率も微妙なら認知度を持ち出す、といった具合です。

これを防ぐには、主要KPIを事前に1つに固定することが重要です。

1つに固定すると言っても「収益性」を見る…… と漠然と言うだけでは不十分です。

分子は何か(購入金額なのか購入件数なのか)、分母は何か(訪問者数なのかセッション数なのか)、母集団はどこまでか(新規顧客だけか既存も含むか)、観測期間はどれくらいか、除外条件は何か(返品は含むか、外れ値の処理は)。

これらすべてを文章で明記しておく必要があります。

補助的に色々なKPIを見ることも必要ですが、それらは明確に「格下げ」されたものとして扱います。

つまり、最終的な意思決定の根拠にはしないということです。

そのために、「プリ・レジストレーション」(事前登録)を最初に作ります。

堅苦しく考える必要はありません。仮説、主要KPI、期間、停止規則を1枚のメモにまとめるだけで十分です。

このメモがあるだけで、後から都合の良い指標に乗り換えることが難しくなります。

 多重比較とpハッキングを隔離する(探索と検証は別)

データ分析では、様々な切り口で結果を見たくなります。年齢層別、地域別、デバイス別、曜日別。

こうした層別分析を繰り返していると、たまたま「当たり」が見つかることがあります。

たとえば「30代女性のスマホユーザーで木曜日の夜に限れば効果が3倍」といった具合です。

問題は、こうした「探索的な発見」を、あたかも最初から予測していた「検証結果」のように報告してしまうことです。

何がいけないのでしょうか。

統計的には、試行回数が増えれば増えるほど、偶然に「有意な結果」が出る確率が上がります。

これが多重比較の問題であり、pハッキングと呼ばれる行為です。

対策は明確です。

主要な仮説とデータによる検証は1本に絞ります。

それ以外の探索結果は、参考程度に扱います。探索で見つかった「面白い発見」を施策や意思決定の根拠にしないためです。

これらは次の実験の仮説候補としては価値がありますが、今回の施策の評価には使わないということです。

 途中打ち切りをやめる(停止規則を先に決める)

A/Bテストを実施していると、途中経過が気になります。

毎日チェックして、「お、A案がリードしてる!」となったタイミングでテストを終了させてしまう。

これが途中打ち切りの問題です。

統計的に言えば、ランダムな変動によって一時的に差が開くことはよくあります。

しかし、そのタイミングで止めてしまえば、「効果があった」という誤った結論を導いてしまいます。

これを防ぐには、最小サンプルサイズ、最短実施期間、検定を行う回数を事前に宣言しておくことです。

たとえば「最低2週間、各パターン1000サンプル以上を集めるまでは結論を出さない。中間確認は週1回のみ」といった具合です。

途中の数字は「実況中継」として楽しむのは構いませんが、「参考情報」であって意思決定には使わないという線引きが重要です。

スポーツの試合で、前半戦の途中経過だけで勝敗を決めないのと同じです。

 リーケージ(leakage)と過学習を断つ(設計で守る)

「リーケージ」とは、未来の情報が分析に混入してしまうことです。

たとえば、顧客の購入予測モデルを作る際に、「配送先住所」という変数を使ったとします。

しかし、配送先住所は購入が決定した後にしか分からない情報です。

これを使ってしまうと、モデルは高精度に見えますが、実際には使い物になりません。

また、在庫切れ、価格変動、季節要因、競合のキャンペーンといった外部要因も混入しやすいポイントです。

施策の効果を測りたいのに、たまたま競合が値上げしたから売上が伸びただけ、ということもあり得ます。

対策としては、時点で明確に分割すること、検証データは学習データよりも「未来」に配置すること、外的要因は明示して固定するか統制することです。

そして、データを学習用、検証用、本番用の3つに分けるのが基本です。

学習データで何度も試行錯誤すると、そのデータに「過学習」してしまい、新しいデータでは通用しなくなります。

 可視化で嘘をつかせない(プロトコル化する)

グラフは強力なコミュニケーションツールですが、同時に「印象操作」の温床でもあります。

縦軸をゼロから始めずに拡大すれば、わずかな変化も劇的に見えます。

都合の良い基準線を引けば、「目標達成」の演出もできます。

これを防ぐには、可視化のルールをプロトコル化することです。

縦軸はゼロから始める、縮尺は複数のグラフで統一する、注釈は標準的なテンプレートを使う、凡例の順序も決めておく。

こうした小さなルールを積み重ねるだけで、恣意的な操作の余地は大きく減ります。

また、「悪い例と良い例」の対比を例としてチーム内で共有するのも効果的です。

チーム内で「こういう見せ方はNG」という共通認識を作ることで、無意識のうちに誤解を生む表現を避けられるようになります。

 すべてを残す(「成功」以外も記録する)

成功した分析だけでなく、失敗した試行、検討したが採用しなかった切り口、変更した設定の履歴。

これらすべてを記録し、共有します。

具体的には、データの取得に使ったSQL、分析に使ったNotebook、データのバージョン情報などです。

理想的には、他の誰かが同じ手順を踏めば同じ結果が得られる「再現可能性」を担保することです。

この再現可能性こそが、データ分析の品質を保証する最大の仕組みです。

隠すものがなく、すべてがオープンであれば、恣意的な操作は自然と難しくなります。

活用する側で、「自白」を採用しないためのポイント

ここまでは分析する側の話でした。

しかし、どんなに優れた分析プロセスがあっても、それを受け取る側が無批判に受け入れてしまえば意味がありません。

ここからは、データの「活用側」としてどう振る舞うべきかを見ていきましょう。

 まず問う(何の意思決定に使う数字か?)

レポートを受け取ったら、まず自問してください。

「この数字は、どんな意思決定に使うのか?」

意思決定には種類があります。

施策を続行するのか、停止するのか、拡大するのか。許容できるリスクはどれくらいか。代替案はあるのか。

こうした問いに答えられない場合、その数字がどれだけ「都合がよさそう」に見えても、採用すべきではありません。

目的が曖昧なまま数字を眺めても、結局は都合の良い解釈を探すだけになってしまいます。

「とりあえず良さそうだから続けよう」ではなく、「この条件を満たせば続行、満たさなければ停止」という明確な判断基準を持つことが重要です。

 定義の固定度を見る(分子・分母・母集団・期間)

次に確認すべきは、指標の定義がどれだけ固まっているかです。

「CVRが上がりました」と報告されても、その定義が曖昧、もしくは、よく見ると毎回微妙に異なると評価のしようがありません。

質問すべきポイントは次の通りです。

この指標の定義は事前に合意されていたものか?

分析期間や分母の定義を、会議の途中で変更していないか?

返品、在庫切れ、価格変動、競合の動きはどう扱っているか?

赤信号(警戒すべきサイン)は、同じ会議の中でグラフの軸、縮尺、期間がコロコロ変わることです。

「この切り方だと微妙なので、別の切り方を試してみました」

このような説明が出てきたら、それは典型的なKPIショッピングの兆候です。

 設計の健全性を問う(対照・分割・停止規則)

分析設計の健全性も重要なチェックポイントです。

対照群(比較対象)はどうやって作ったのか?

A/Bテストであれば、ランダム割り付けは本当にランダムか?

途中打ち切りはしていないか?

季節性やイベントの影響は統制されているか?

もし設計が弱い場合、その分析結果を「確定情報」として扱うべきではありません。

むしろ「仮説」として受け取り、より厳密な実験で検証する必要があります。

次のステップに進めずに「再度検証」するという判断も、時には必要です。

 結果の頑健性を確かめる(感度に耐えるか)

良い分析結果は、条件を変えても安定しています。

母集団を変えても、期間を変えても、モデルのパラメータを変えても、効果の方向性と大まかな大きさは変わらないはずです。

そのため、様々な設定で感度分析をした結果なのか、を質問すべきです。

もし特定の切り口でしか効果が見られない場合、それは赤信号です。

たとえば「30代女性で先週の木曜夜の新規顧客に限れば効果あり」といった、極めて限定的な条件でしか効果が出ないのであれば、それは偶然の可能性が高いと考えるべきです。

 グラフの素行調査(軸・縮尺・注釈)

可視化のチェックも忘れてはいけません。

縦軸はゼロから始まっているか?

複数のグラフで縮尺は共通化されているか?

外れ値や例外的な期間に適切な注釈がついているか?

赤信号は、派手な配色や強調が多いのに対して、説明が薄いことです。

見た目のインパクトで判断を誘導しようとしている可能性があります。

落ち着いて、グラフの構造要素(軸、目盛り、凡例、注釈)を一つ一つ確認しましょう。

 行動に落とす(反証可能な計画を立てる)

数字を受け取ったら必ず「行動」に落とし込みます。

誰が、いつまでに、どの指標を、どれだけ動かせば成功なのか。これを明確にしないと、「やって終わり」になってしまいます。

重要なのは、計画を「反証可能」にすることです。つまり、「成功の条件」だけでなく「失敗の条件」も定義しておくのです。

3ヶ月後にこの指標がこの水準に達していなければ撤退する、といった具合です。

そして、次の検証条件までセットで決めておきます。

 拷問の手口と見抜き方(質問例)

ここまでの内容を、実際の会議で使える質問形式にまとめておきましょう。

データレポートを受け取ったら、次の質問を投げかけてみてください。

  • KPIショッピングの疑いがある場合:たとえば「この指標の定義は事前に合意されていたものですか? 事前定義のメモを見せていただけますか?」と尋ねます。
  • 多重比較やpハッキングの疑いがある場合:たとえば「探索的分析と検証的分析は分かれていますか? 試した切り口の全リストを見せていただけますか?」と確認します。
  • 途中打ち切りの疑いがある場合:たとえば「このA/Bテストの停止規則(最小サンプルサイズ、最短実施期間)は事前に決まっていましたか?」と問います。
  • リーケージや過学習の疑いがある場合:たとえば「データの分割図(学習・検証・本番)を見せてください。外的要因はどう統制しましたか?」と質問します。
  • 可視化に疑問がある場合:たとえば「縦軸ゼロ起点、縮尺共通、注釈テンプレートを適用したバージョンを見せていただけますか?」と依頼します。

これらの質問は攻撃的に聞こえるかもしれませんが、実際には建設的なものです。

良い分析をしている人であれば、これらの質問にすぐに答えられるはずです。

むしろ、こうした質問が標準化されることで、分析の品質が組織全体で底上げされます。

今回のまとめ

「データ拷問」の多くは、悪意から生まれるわけではありません。

むしろ、分析の自由度が高すぎる設計、つまり「何でもできてしまう」環境が問題なのです。

最終的に、私たちが信じるべきは「数字そのもの」ではなく「プロセス」です。

厳密で透明性の高いプロセスから生まれた数字だけが、意思決定の根拠として使えます。

そして、そうしたプロセスを持つ組織ほど、速く正しく動けるようになります。

今日から、会議の最初の一言を変えてみましょう。

「その数字、どのようなデータで、どのようなプロセスで、どのように作りましたか?」

この質問が当たり前になったとき、あなたの組織はデータへの拷問から解放され、本当の意味でデータドリブンになっているはずです。