一歩ふみ込むデータ分析 その2 ～ビジネスで統計的な検定を使う～ 

# 0. はじめに
　本記事は、効果検証などで使われる「検定」というものについて、統計を専門としない方々に向けて説明することを試みた記事です。BIツールの発展もあり、統計的な検定手法は誰でも簡単に実施できるようになっていると感じています。検定を使えば、例えば施策の効果検証において「本当に効果があったのか？」を統計的な観点から分析することできるため、意思決定の際の有力な根拠となり得ます。しかしながら、何をしているのかも分からずに利用すると誤った結論を出してしまうことにつながるため、統計的な検定の考え方を簡単にでも理解していることが重要であると筆者は考えています。

　本記事では、ビジネスで統計的な検定を利用する場合によく利用する手法や、検定の解釈における注意点などを説明します。以下の記事で説明した基本的な概念・用語を前提として説明しますので、よろしければ先にご参照ください。

https://qiita.com/yo_fuji/items/9b512baf23292c51d821

　なお、分かりやすさを重視するために、厳密ではない説明や正確でない表現となっている箇所がいくつかあります。また、筆者の主観を多分に含む説明も見受けられるかもしれません。可能な限り脚注で補足しますが、あらかじめご了承ください。

# 1. ビジネスで使いやすい検定
　ビジネスで使う場面が多いであろう2つの検定手法について説明します。どの手法を使うかの判断や実際の分析はデータ分析担当者に任せればよいと思いますが、データ分析者としても正しいデータが無ければ検定ができません。そのため、以下の説明で「どのようなデータがあれば検定が実施できるのか」であったり、「このデータを使った検定ではどのようなことが分かるのか」をご理解いただければと思います。

### ①：平均の差の検定
　ある施策の効果が数値で表れる場合に利用しやすい検定手法です。前の記事では治験の例がこれにあたります。ここでは別の例を考えてみましょう。

　あなたが担当するECサイトでは、ユーザーの利用額が伸び悩んでいます。そのため、購入金額に応じて抽選に応募できるキャンペーンを実施し、利用促進を図ることにしました。キャンペーンを打ち出す前の1か月間のデータと、キャンペーンを実施した今月のデータは、以下のようになりました。

![ECサイト_データ令.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2959513/aea43e65-59c6-2b80-f94e-096480486c54.png)

　このようなデータがあれば、<b>「コントロールグループの平均値と比較して、トリートメントグループの平均値は上昇しているのか？」</b>という観点での検定ができます。今回の例では、「前月に比べ、今月は平均利用額が上昇していると言えるのか？」ということが検証できます。今月のデータがトリートメントグループ、前月のデータがコントロールグループとなります。「前月の利用額で分布を想定した時に、今月の平均利用額が異常なほど高いと言えるのか？」という観点で検定します。

　なお、ここで重要なのが、各月の平均値だけでなく、<b>各個人のデータも利用できる状態</b>であるということです。検定のためには各月の利用額のばらつきなども算出する必要があり、平均だけ渡されても検定はできません。[^1]

[^1]:厳密には、各月の「不偏分散」と「集計したユーザー数」が分かれば、「Welchの検定」と呼ばれる手法によって平均値の差が検定できます。秘匿の都合で個人レベルのデータが渡せない場合は、どのような集計値を渡せばよいかを分析担当者に確認してみてください。

### ②：クロス集計表の検定
　施策の効果が金額などの何らかの値で出てくるという場面ばかりではないと思います。例えば、あなが動画配信サービスの担当者で、あるドラマの視聴者数が低迷しているため、これを改善したいという状況を考えてみましょう。担当者間で議論した結果、「サムネイル画像の引きが弱く、ユーザーの目に留まらないのではないか？」という仮説が浮上しました。そこで新しいサムネイル画像に差し替えて、視聴率回復を試みるという案が出ました。

　サービス内のユーザーをグループA・グループBの2グループに分け、グループAには新しいサムネイルを、グループBにはこれまでのサムネイルを継続適用し、1か月様子を見ました。その結果、以下のようなデータが得られました。

|グループ|ドラマを見た人|サムネイルを見たがドラマを見ていない人|　合計　|
|:---:|:---:|:---:|:---:|
|A|343|669|1,012|
|B|288|732|1,020|
|合計|631|1,401|2,032|

このように、「ポジティブな反応（ドラマを見た）かネガティブな反応（ドラマを見ていない）か」の軸と「グループ（AかBか）」の軸でまとめた表をクロス集計表と呼びます。クロス集計表があれば、<b>「トリートメントグループにおいてポジティブ反応が増えたか」</b>という観点の検定ができます。今回の例では、「グループAの方がより多くの人がドラマを見てくれているのか」、ひいては「新しいサムネイルによってドラマ視聴が促されたのか？」ということが検証できます。グループAがトリートメントグループ、グループBがコントロールグループです。全体で見ると、ドラマを見てくれた人の割合は31.1%です。そして、グループAだけで見た時にはドラマを見てくれた人の割合は34.8%です。この情報から「全体と比較した時、グループAの割合が異常なほど高いと言えるのか？」という観点で検定を実施します。
　こちらの検定については、上の表のように人数だけ分かれば実施できます。たいていのアプリやサービスでは、表示された回数を表す「インプレッション」というデータと、クリックや視聴を表すデータがそれぞれ保存されていると思うので、このようなクロス集計表は比較的入手しやすいのではないかと思います。

# 2. 統計的な検定を解釈する際の注意
　統計的な検定の2つの手法を紹介しましたが、これらを使った検定の結果「有意である」という結論になったとしても、その解釈には注意が必要です。何も考えずに解釈すると、誤った結論を導き出してしまう場合もあります。筆者としては、大きく分けて<b>「有意であっても、施策自体の効果を保証するわけではない」</b>という点と<b>「有意であっても、『効果が大きい』ことが保証されるわけではない」</b>という点の2点に注意が必要であると考えています。

### 注意１：有意であっても、施策自体の効果を保証するわけではない。
　検定の結果<b>「有意である」という結論になっても、それが必ずしも「"施策の効果"があった」ということを保証しない</b>ということです。よくありがちな3パターンに分けて、具体的に説明します。

#### 1-1. 月をまたいだ集計値の比較
　セクション1の「①：平均の差の検定」において、筆者は「前月に比べ、今月は平均利用額が上昇していると言えるのか？」が検定できるとは書きましたが、「キャンペーンによって利用額が上昇したと言えるのか？」が検定できるとは明記していませんでした。仮に「今月の平均利用額は有意に上昇している」という結論になったとしても、この問題設定では、その理由が「キャンペーンによるものである」とまでは言えないのです。
　
　理由はいくつか挙げられます。例えば、ECサイトでは商品の入れ替わりが頻繁に行われると思いますので、前月と今月では商品のラインナップが異なるでしょう。その場合、今月のユーザーの平均利用額上昇の原因は「今月は良い商品が入ったため」という可能性もあり、キャンペーンを打たなくても同程度に利用額が上昇していたかもしれません。
　また、例えば「前月」が5月、「今月」が6月であれば、6月は多くの企業でボーナスが入る月ですので、ユーザーの多くが奮発して買い物をした結果、利用額が全体的に向上したのかもしれません。

![ECサイト_データ例_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2959513/5541f48a-0918-58a7-a557-372cf98e3efa.png)

　このように月をまたいだ比較する場合、比較するグループ間（前月と今月）で様々な条件が異なることが想定されるため、明確に施策効果の有無を判定することが難しいです。セクション1の「①：平均の差の検定」において正しい例のように挙げてしまいましたが、可能な限り時期をまたいだ比較は避けた方が安全です。[^2]

[^2]: もちろん、時期をまたいだ検証しかできない場合もあるかと思います。その場合は、時期による指標の増減まで加味したより高度な分析が必要となります。

#### 1-2. 不適切なグループ分けによる比較
　「②：クロス集計表の検定」においても、グループの分け方によっては視聴割合の向上が「新サムネイルの効果である」と結論付けることが難しい場合があります。

　例えば、2グループを半々に分けるために、グループAは「女性」、グループBは「男性」という分け方をしたとします。この時、仮にグループAの視聴割合が有意に高かった場合でも、その内実は以下のようであったかもしれません。

![画像サービス＿例.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2959513/c272f462-0f95-b84c-e610-f6ace4bf8650.png)

検証前の女性に限定した集計結果も、検証グループAの集計結果も、どちらも視聴割合は等しく34.8%です。検証結果だけ見ると、サムネイルを新しくしたためにグループAの視聴割合が上がっているように見えましたが、その内実はサムネイルに関係なく「女性に限定した視聴割合が、男性に限定した視聴割合よりも高い」ということに過ぎなかったと言えます。

　このように、月をまたいでいなくとも、比較するグループの条件がそろっていない場合には検定の結果を施策効果として解釈することが難しくなります。

#### 1-3. 限定的な施策に対する効果検証
　「1-2のような分け方をしてはいけない」ということを直観的に理解している方でも、以下のような誤りをすることはあるかと思います。

　もう一度ECサイトの例で考えてみます。あなたはサイトの訪問者を詳細に分析し、サイト訪問頻度が高い傾向にあるユーザーに共通する特徴を見つけました。そこで、その特徴に当てはまるユーザー1,000人に対し、メールでクーポンを配信して利用促進を図る施策を実施しました。施策実施後、メールを配信したユーザーにおける平均利用額とそれ以外のユーザにおける平均利用額を集計すると、以下のようになりました。

|グループ|平均利用額|集計人数|
|:---:|:---:|:---:|
|配信対象ユーザー群|2,342.7|1,000|
|その他ユーザー|1,216.5|19,000|

「配信対象ユーザー群」と「その他ユーザー」で、平均利用額に1,000円以上も差があります。この差が有意だったとして、この結果からクーポン配信によって利用額が上昇したと言えるでしょうか？

　必ずしもそうとは言えません。クーポン配信対象の1,000人は、そもそも「訪問頻度が高い傾向にあるユーザー」としてあなたが選んだユーザーです。そして、訪問頻度が高いユーザーは、そもそも利用額が多い傾向にあることでしょう。そのため、クーポン配信に関係なく、このユーザーだけの平均利用額は他のユーザーの平均利用額より高くなることが想像できます。こちらの例も、1-2の例と同様に比較するグループの条件がそろっていないパターンとなってしまっています。
![クーポン配信＿例.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2959513/2146c06e-c056-8124-caa2-5f4dd54c8f25.png)


#### 対策1：ABテストを実施する
　3つの例すべてに共通するのは、<b>「比較するグループの条件がそろっていない」</b>という問題です。施策効果を検証したければ、「施策の実施有無」以外の条件はすべて同じにしなければなりません。これを可能にするのが<b>ABテスト</b>です。以下の手順で実施します。

1. ユーザーをランダムに2分する（割合は必ずしも半々でなくともよい）
2. 片方のグループには施策を実施し、片方のグループには実施しない
3. 一定期間様子を見てグループごとに集計し、集計値を比較する。

一番最初の「ユーザーをランダムに2分する」というのがポイントです。ランダムに分けることで、2つのグループの条件を揃えることができます。[^3]

　具体的には、以下のような設計で検証を実施します。
- 動画配信サービスの例
    1. ユーザーをランダムにグループAとグループBに分ける
    2. グループAに新サムネイルを、グループBに既存サムネイルを適用する
    3. グループAとグループBで、1か月の視聴割合を比較する

- ECサイト クーポン配信の例
    1. ユーザーをランダムにグループAとグループBに分ける
    2. グループAに含まれる配信対象ユーザーにはクーポンを配信し、グループBの配信対象ユーザーにはクーポンを配信しない
    3. グループAとグループBで、一定期間の利用額を比較する


![クーポン配信＿概念.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2959513/30998a05-58ae-d8d1-70e2-20952447c3f6.png)

　このようにすることで、「施策を実施した」ということ以外は同じ条件であるグループAとグループBが出来上がります。この2グループの集計値に差があるとき、はじめて「施策を実施したことによって集計値に差が生じた」という可能性を指摘できるようになるのです。

[^3]: あえて統計的な専門用語を用いれば、ランダムに2分することによって、グループAとグループBが独立同分布である状態を実現できます。

#### 対策2：回帰分析を実施する
　今回の記事の対象外であるため詳細は割愛しますが、複数の条件をコントロールして施策効果を測る方法の1つに回帰分析という手法があります。これは、ABテストのように施策適用対象を意図的にコントロールできないような状況でも有効な場合があります。ただし、実施にはより高度な統計の知識が必要であり、知識不足の状態で使えば誤った結論を導き出してしまう可能性が非常に高いです。実施を検討する場合はデータ分析の専門家に相談することをおすすめします。

### 注意2：有意であっても、「効果が大きい」ことが保証されるわけではない
　<b>統計的な検定で判定できるのは、あくまで「差があるか」という部分まで</b>です。その差にビジネス的な意味があるかとどうかは別途判断が必要になります。

　例えば、ある飲食店では、テレビCMをうった結果に対し統計的な検定を実施したところ、「客単価を有意に100円上昇させることができる」ということが分かりました。あなたはこのCMに「効果があった」と結論付けますか？それとも「大した効果がなかった」と結論づけますか？

　元々の客単価が1,000円程度の低価格・高回転な飲食店であれば、この上昇は非常に大きいものかもしれません。継続的にテレビCMを出した方が良いでしょう。
　一方で、もともとの客単価が10,000円程度の高価格・低回転な飲食店であれば、広告代理店やテレビ局に支払った広告費に見合った効果があったとは言えないと思います。売り上げの上昇を目指すなら、他の施策を模索すべきでしょう。

　このように、統計によって導き出された結果が正しくても、その結果が重要なものであるかはビジネス担当者が判断する必要があります。「検定の結果、有意な差が出た」という結論に満足せず、「その差がビジネス的にどの程度意味があるのか」まで深堀りして分析することが重要です。

# 3. 終わりに
　統計的な検定について、ビジネスで利用することを想定して説明しました。実際にはデータ分析を専門とする人に任せることが多いかとは思います。しかしながら、分析者と共通言語で会話ができることは、分析や意思決定を円滑に進めるうえで非常に重要であると筆者は考えており、そのためには基礎的な部分だけでも具体的にイメージできる状態が望ましいと考えております（もちろん、分析者側も専門ではない方へ分かりやすい説明をする責任があると考えています）。
　また、あまり理解せずに検定を使うことで、意図せず誤った判断をしてしまったり、（そのような人はいないと信じたいですが）悪意を持った分析者によって、都合の良い解釈がなされてしまったりする場面も、もしかしたらあるかもしれません。この記事がそういった悲劇の回避に少しでも役に立てば幸いです。

# 参考文献
一般社団法人 日本統計学会, 『日本統計学会公式認定 統計検定準1級対応 統計学実践ワークブック』, 学術図書出版社