本文へ移動

ホーム / PdM / 第4部 データと指標

第4部 データと指標・第10章

A/B テスト

★★☆ 重要6トピック・面接 3問

施策の効果を数字で確かめる A/B テストを、計画から読み方まで、判断に使える範囲で押さえる。

10.1A/B テストの読み方

用語★★☆ 重要
ひとことで

差が偶然かどうか(有意差)と、指標の選び方・期間に注意する。

A/B テストは、ユーザーをランダムに2つの群に分け、旧(A)と新(B)で指標を比べる方法です。見るべきは「差があるか」だけでなく、その差が偶然でも出る程度のものか(有意差)、指標と期間は正しいかです。有意差があるとは、本当は差がないのに、偶然でこれくらいの差が出る確率が十分小さい(よく使う基準は5%未満)ということです。

先に決めて、ランダムに分けて、決めた期間で比べる事前に決める仮説・主要指標ガードレール・期間ユーザーランダムに分けるA:今のまま50%B:新しい案50%比べる有意差・期間人数比のずれ・副作用決めた基準で判断する(途中で変えない)
A/B テスト:事前の計画・ランダムな振り分け・決めた基準での比較

A/B テストが向いているのは、利用者が多く、結果がすぐ数字に出る変更(画面の文言・並び順・導線など)です。利用者が少ない、効果が出るまで何か月もかかる、全員に同時に出す必要がある(法改正など)場合は、ほかの方法で判断します。

ML の「A/B テスト」

リリースと Feature Flag

面接ではこう答える

A/B テストは、ユーザーをランダムに2つの群に分け、今のままの A と新しい案の B で指標を比べる方法です。ランダムに分けるので、差が出ればその施策の効果だと言いやすくなります。見るべきは差の有無だけではなく、偶然でも出る程度の差ではないか、指標と期間は事前に決めたとおりか、副作用は出ていないか、です。私は始める前にこれらを1枚に書いてチームで合意するようにしています。

ひとことで

偶然とは言いにくい差かどうか。p 値が基準(よく 5%)より小さければ有意とする。差の大きさとは別の話。

差の幅がゼロをまたぐなら、「差がない」可能性を消せないB と A の購入率の差(推定の幅)差ゼロ案1:有意(幅がゼロより右)案2:有意でない(ゼロをまたぐ)案3:有意だが差は小さい
有意かどうかと差の大きさは別の話

有意差があるとは、「本当は差がないのに、偶然これくらいの差が出る確率(p 値)が十分小さい」という意味です。よく使う基準は 5%(p < 0.05)です。結果は「差の推定の幅」(信頼区間)で見ると分かりやすくなります。

よくある誤解正しくは
有意=効果が大きい有意でも差はとても小さいことがある。差の大きさが事業に意味があるかは別に判断
有意でない=効果がない人数が足りず、差を見分けられなかっただけかもしれない
p 値=B が良い確率p 値は「差がないとしたら、これくらいの差が出る確率」

面接ではこう答える

有意差があるというのは、本当は差がないとしたら、偶然これくらいの差が出る確率である p 値が十分小さい、という意味で、よく 5% を基準にします。有意だからといって差が大きいとは限らず、有意でないからといって効果がないとも限りません。人数が足りなかっただけのこともあります。私は p 値だけでなく、差の推定の幅を見て、その差が事業として意味のある大きさかを判断します。

10.3サンプル数と期間

用語★★☆ 重要
ひとことで

A/B テストに必要な人数は、見分けたい差が小さいほど急に増える。差を半分にすると約4倍。

見分けたい差が小さいほど、必要な人数は急に増える見分けたい差 →大きい必要な人数差を半分にすると、約4倍の人数が要る
差の大きさと必要な人数

必要な人数(サンプル数)は、見分けたい差の大きさで大きく変わります。見分けたい差を半分にすると、必要な人数はおよそ4倍になります。計算はデータ担当に頼み、PdM は「どれくらいの差なら意味があるか」を決めます。

決めること考え方
見分けたい差事業として意味のある最小の差(例:購入率が 0.5 ポイント上がれば価値がある)
期間必要な人数が集まるまで。最低でも1〜2週間、曜日をまたぐ
人数が足りないときもっと大きな差を狙う案にする、テストせずに判断する、期間を延ばす

利用者が少ないプロダクトでは、小さな改善は A/B テストで見分けられないことがよくあります。その場合は、テストの形にこだわらず、ユーザーテストや段階的な公開で判断します。

面接ではこう答える

A/B テストに必要な人数は、見分けたい差の大きさで決まり、差を半分にするとおよそ4倍の人数が要ります。計算はデータ担当に頼みますが、どれくらいの差なら事業として意味があるかを決めるのは PdM です。期間は必要な人数が集まるまでで、曜日の差をならすために最低でも1〜2週間は回します。人数が足りないときは、大きな差を狙う案にするか、テスト以外の方法で判断します。

ひとことで

判断に使う1つの指標(主要指標)と、悪化してはいけない指標(ガードレール)を、テストの前に決めておく。

テストの前に、判断に使う指標を1つ(主要指標)と、悪化してはいけない指標(ガードレール指標)を決めます。たくさんの指標を後から見ると、どれかが偶然よく見えてしまうからです。

計画書の項目例
仮説検索結果に在庫ありを先に出すと、購入まで進む人が増える
主要指標検索した人の購入率
ガードレール指標検索からの離脱率、表示の速さ、問い合わせ件数
見分けたい差・人数・期間0.5 ポイント・各群 4 万人・2週間
判断のルール有意に良ければ全員に出す。ガードレールが悪化したら止める
振り分けとログFeature Flag で 50:50。必要なイベントが取れているか

エンジニアには振り分けとログの準備、データ担当には人数の計算を頼み、計画書をチームで合意してから始めます。終わったら、勝ち負けに関係なく結果と学びを記録に残します。

リリースと Feature Flag

面接ではこう答える

A/B テストでは、始める前に判断に使う指標を1つ決め、それとは別に悪化してはいけないガードレール指標を決めます。後からたくさんの指標を見ると、偶然よく見えるものが必ず出てくるからです。私は仮説・主要指標・ガードレール・見分けたい差と期間・判断のルールを計画書1枚にまとめ、エンジニアとデータ担当と合意してから始めます。

途中で何度も見ると、偶然「勝ち」に見える瞬間がある日ごとの p 値の動き(例)基準 5%ここで止めると「勝ち」と誤る日
途中で止める危うさ
よくある落とし穴起きること対策
途中で何度も見て、良いときに止める偶然の差を「勝ち」と判断しやすくなる期間とサンプル数を先に決め、それまで止めない
期間が短い曜日の差や「新しいから押される」効果に引っぱられる最低でも1〜2週間、曜日をまたいで回す
指標を後から選ぶたくさん見れば、どれかは偶然よく見える主要な指標を1つ、事前に決めておく
セグメントを掘りすぎる「20代の iPhone だけ勝ち」は偶然のことが多い掘った結果は次のテストで確かめる仮説として扱う
群の人数比がずれる振り分けかログに不具合があり、結果が信用できない50:50 のはずが大きくずれていたら結果を使わない
副作用を見ないCVR は上がったが、解約や問い合わせが増えたガードレール指標も決める
ひとことで

「後に上がった」は「効果があった」ではない。ほかの変化が混ざるので、比べ方の強さを知って判断する。

前後比較では、施策の効果と季節の変化が混ざる購入率の推移(例)施策を出した日実際に見えた数字季節だけで上がった分前後の差のうち、施策の効果は一部だけかもしれない
前後比較の罠

「出した後に数字が上がった」だけでは、施策の効果とは言えません。季節・キャンペーン・ほかのリリースなど、同じ時期のほかの変化が混ざるからです(相関と因果は違う)。A/B テストができないときは、比べ方の弱さを知ったうえで判断します。

比べ方強さ注意
A/B テスト強いランダムに分けるので、ほかの変化の影響が両方に同じだけ入る
地域・時期で分けて出す中くらい地域や時期の違いが混ざる。出す前の差も比べる
前後比較弱い季節・キャンペーン・ほかのリリースが混ざる。去年の同じ時期とも比べる
使った人と使わなかった人を比べる弱いもともと熱心な人が使っているだけ、のことが多い

面接ではこう答える

施策を出した後に数字が上がっても、季節やキャンペーン、ほかのリリースが同時に効いているかもしれないので、それだけでは効果とは言えません。相関と因果は違うということです。A/B テストができないときは、地域や時期で分けて出す、去年の同じ時期と比べる、などで補います。また、機能を使った人と使わなかった人を比べるのは、もともと熱心な人が使っているだけのことが多いので、特に注意しています。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • 先に仮説・主要な指標・ガードレール・サンプル数・期間を決め、途中で変えない
  • 有意差は「偶然とは言いにくい」という意味で、「差が大きい」ではない
  • A/B テストができないときは、比べ方の弱さを知ったうえで判断する

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1A/B テストの結果を判断するときに気をつけることは?

模範回答

4つに気をつけます。1つ目は有意差で、差が偶然でも出る程度のものではないかを確かめ、途中で何度も見て良いときに止めることはしません。2つ目は期間で、曜日の違いや「新しいから押される」効果を避けるため、事前に決めた期間とサンプル数まで回します。

3つ目は指標で、主要な指標を事前に1つ決め、解約や問い合わせなど悪化してはいけないガードレール指標も一緒に見ます。4つ目はセグメントで、一部の層だけ勝っている結果は偶然のことが多いので、次のテストの仮説として扱います。群の人数比が想定からずれていないかも確認し、ずれていれば結果を使いません。

深掘りされたら

  • サンプル数が足りないときはどうしますか?
  • 有意差は出たが差が小さいとき、どう判断しますか?

見られているポイント有意差・期間・指標・セグメント

Q2A/B テストをせずに機能を出す判断をするのは、どんなときですか?

模範回答

A/B テストには時間と、十分なユーザー数が必要です。そこで、利用者が少なく、意味のある差を見るのに何か月もかかる場合、法令対応や障害の修正のように効果に関係なく出す必要がある場合、全員に同時に出さないと不公平になる価格変更などでは、テストせずに判断することがあります。

その場合でも、出す前と後の指標を比べ、段階的リリースで少しずつ広げながら悪化していないかを見ます。また、ユーザーインタビューや社内での試用など、別の方法で根拠を集めます。テストしない理由と、見る指標を記録に残しておきます。

深掘りされたら

  • 前後比較で判断するときの注意点は?

見られているポイントA/B テストの前提(期間・サンプル数)と、代わりの確かめ方

Q3A/B テストで「有意差なし」という結果が出ました。どう判断しますか?

模範回答

「効果がない」とすぐには決めません。まず、事前に決めた人数と期間を満たしているか、群の人数比がずれていないかを確かめます。人数が足りていなければ、差を見分けられなかっただけかもしれません。

そのうえで、差の推定の幅を見ます。幅が狭くゼロの近くなら、効果があっても小さいので、別の案に時間を使うと判断します。幅が広いなら、もっと大きな差を狙う案にするか、期間を延ばすかを考えます。いずれにしても結果と学びを記録し、出すかどうかは費用や体験の一貫性も含めて決めます。

深掘りされたら

  • 有意差はないが、ユーザーの評判は良い場合は?

見られているポイント有意でないことの意味と、次の判断