Technology2015.08.20

A/Bテストって何のためにやるの? 月間100億PVサイトのエンジニアが教える、いまさら聞けないデータ活用入門

ヤフーでは、同志社大学文化情報学部の学生を対象に、社員による計15回講義「インターネット環境におけるマルチビッグデータの活用」(2015年4月~7月)を実施いたしました。今回は、7月に行った講義の中から、Yahoo!ニュース責任者・有吉健郎による講義「Yahoo!ニュースがデータを活用する理由」と、Yahoo!ニュースのエンジニア・池田健人による講義「データ分析の裏側」の内容の一部を当ブログ用に再構成してご紹介します。

A/Bテストって、何のためにやるの?

当ブログではこれまで、Yahoo!ニュースで行っているA/Bテストの事例(※アプリのバナーテストYahoo!ニュース トピックスの見出しテストトップページの行間デザインテスト)をいくつかご紹介したことがありましたが、今回は、「A/Bテスト」のそもそもの基本的な考えと流れについて、Yahoo!ニュースのエンジニア・池田による講義「データ分析の裏側」で取り扱った内容の一部からご紹介したいと思います。少し長めですが、お付き合いいただければ幸いです。

A/Bテスト……端的にいうと、Webサービス上で複数のパターンを実際に一部ユーザーに公開して、効果をチェックする手法のことを指します。
→ ライブテスト、バケットテスト、多変量テスト、などと呼ばれることもあります。

A/Bテストの利点

A/Bテストを行うと、どのようなメリットがあるのでしょうか。大きく3つあげてみます。

  • 定量的に判断できる
  • 同時期に複数のパターンを比較できる
  • リスクを減らせる

では、1つずつみていきます。

定量的に判断できる

リリースをジャッジする際に、現状に比べて効果がでるの?その効果はどれくらい?といったことを数値で測ることができるため、データドリブンな意思決定が可能になります。根拠となる数値があるわけでもなく延々と議論し続けるよりも、テストを実施して早く結論をだしてしまいましょう。そうすると、議論もスムーズに進みます。

同時期に複数のパターンを比較できる

Webサービスの数値は、時期的要因や時事要因で数値が変化することがあるため、単純な前後比較では、正確な数値比較が出来ません。例えば、1日の中でも昼と夜ではアクセス量が違ったり、平日と休日でも違ったり……年単位でみると、年末年始や連休などが来る時期は他の月と傾向が異なったりすることも。またニュースサービスは、オリンピックやW杯などの国民的関心が高いイベントが行われている時や、大きな事件事故、災害が発生した時に通常以上のアクセスがくることもあります(下の図参照)。

W杯ブラジル大会・日本代表vs.ギリシャ戦の日(2014年6月20日)と通常の日(2014年6月平均)の推移比較

A/Bテストでは同時期に複数のパターンを比較するため、比較するパターンはいずれも同じ時期的要因や時事要因を受けることになります。つまり、どのパターンも同じ影響を受けているので、テストパターン間の比較がしやすく、正しい効果測定が可能になるということです。

リスクを減らせる

3つ目は、読んで字のごとくですが、リスクを極限まで小さくできるということです。A/Bテストを踏まえることで、「なんとなくこっちのほうがよさそうだから」という感覚で判断してリリースしてみたものの、いざフタをあけてみるとお客さんが大量に減ってしまった……という事態を回避することができます。

A/Bテストの仕組み

それでは、A/Bテストの仕組みをざっくり説明します。以下は、新しいデザイン(施策デザイン)と現行のデザインを、それぞれ5%の割合のユーザーに表示させてテストする場合のA/Bテストを図解したものです。

まず「施策デザイン」(右)を用意した上で、基準パターンとなる、「現行デザイン」(中央)を用意します。施策パターンと結果の数値を比較する際に、現行デザインの数値が必要なため、テスト用にあらためて現行パターンを用意する必要があります。上記の図の場合は、右側と中央の施策パターン・基準パターンともに訪れた人の5%、計10%のユーザーにテストパターンがあたるように設定、残りの90%はテスト対象外となります。この割合は、そのページのPV数やモジュールのCTR次第で適宜調整することが必要です。

ちなみにそれぞれのパターンは、「バケット」と呼ばれることもあります。場合によっては施策パターンを施策バケット、基準パターンを基準バケット、コントロールバケットと呼んだりしています。

A/Bテストの流れ

それでは、実際にA/Bテストをやろう!となった際に踏むべき手順を説明します。大きくわけて3つです。

  1. 企画
  2. 実装・テストリリース
  3. 分析・アクション決定

ではこちらも1つずつみていきます。

1.企画

(ロイター/アフロ)

テスト設計

まず企画フェーズ。A/Bテストを実施する時には、何を検証したいのか、何を狙った施策なのか目的をはっきりさせておくことが必要です。ユーザー貢献を目的としたテストの場合、この施策によって、ユーザーがどのようなメリットを受けることができるのかを明確にしておきます。

ライブテストの設計の際に、あらかじめ決めておきたいことは以下の項目です。

  • パターンをいくつテストするのか
  • 何%のバケットサイズでテストをするのか
  • 何日間テストをするのか
  • 各テストで必要なログはどんなものか

そのほか、データロギング、つまり「どのデータを計測のために集めるのか」といったことも評価指標に応じて決めておきます。
また、テスト開始後に、「あの指標見たかったのにデータ取れていなかった・・・!」とならないためにも、テスト前に「指標」と「その指標は測定できるのか?」ということを明確にしておくことが大切です。

次に、テストのパターン数についていくつかポイントをあげます。

  • パターン数を絞る
  • 少ないパターンで速い意思決定を行う
  • 何回かのステップに分け、できるだけ1パターン1要素の検証を狙う

注意したいことは、「たくさんの要素を詰め込みすぎないこと」。たとえば、あるボタンのテストをしよう、となっても、色・形・文言・位置……と多くの調整要素があります。「位置を上にして、色を●●にして、文言は少し変えて、形は●●にして……」と、多くの要素を一度に盛り込むと、どの要素が効果的に働いて、結果が向上/低下したかわからなくなってしまいます。複数のパターンを一度に実施するよりも、少ないパターンで速い意思決定を行い、繰り返し実施することがA/Bテストのコツ、ともいえます。そのため、何度かにステップをわけて、可能な限り1パターン1要素の検証を行うことを心がけて実施するのがポイントです。ここで欲張っても、結果いいことはあまりありません。

ところで、ネガティブバケットという言葉をご存知でしょうか。

ネガティブバケットとは、主に改善策をリリースした時に、一部のわずかのユーザーに対して、あえて改善前の状態を残すことで、改善策の影響を見ることに利用するパターンのことを指します。

ネガティブバケットが利用される例としては、

  • 事前にやった改善策のA/Bテスト期間が短すぎ、評価に不安がある場合
  • 改善策自体が、長期間利用して初めて効果が出てくる場合
  • 新規広告の長期的な影響を図りたい場合

こうしたケースがあげられます。ここでは、「あえて古いデザインをみせることがある」ということを知っておいていただければと思います。

では次に、必要なバケット割合を見積もる際のポイントについてです。

Yahoo!ニュースの場合は、各バケットのサンプルサイズが1万UB以上になるように割合を見積もっています。ちなみにUB(ユニークブラウザ)とは、Webサイトへのブラウザごとの訪問回数のことです。例えば1つのパソコンで同じ人がGoogle ChromeとFireFox、Internet Explorer と3つのブラウザを利用していた場合、UBは「3」としてカウントされます。

施策パターンも、基準パターンも比較ができるよう、同じバケットサイズを利用します。1万UBの基準に満たない場合はバケット数を減らす、つまり、最低限の基準バケットと施策バケットの2パターン比較にする手段があります。また、売上影響がない場合は50%と50%で比較することもあります。
施策対象のコンテンツの想定クリックが1万UBに対して一桁が想定されるなど、数値が小さすぎて評価するのが難しい場合は、テストが困難になるケースもありえます。

バケット割合の目安は、以下の算出方法でわかります。

ちなみにYahoo!ニュースではA/Bテストの際、バケットの出し分けにCookieを使います。Cookieとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させる仕組みです。ユーザーが、そのサイトでコメント表示のON/OFFなど何かを設定した値や、ログイン状態など、Webサイトを閲覧している時に必要な情報を保持させる際によく利用されます。

測定指標とリリース条件の設定

(ロイター/アフロ)

テストの設計はここまで。では、次に測定指標をみていく際のポイントです。

A/Bテストの際にみる指標は、基本的にはそのサービスが持っている「KPIへの影響・効果」をみることになります。A/Bテストの施策箇所だけではなく、サービスを総合的に見渡した影響・効果をみることが重要です。
また、CTRだけではなく、そのサービスの目的に合わせた指標=コンバージョン(CVR)数もみていく必要があります。例えばショッピングサイトの場合、「購入してもらう」ことが目的になると思いますので、購入数も同時にウォッチしていく必要があります。
このほか、施策箇所だけではなく、サービス全体で重要視しているコンテンツへの影響も考えておく必要があります。サービスで重要視しているコンテンツ、例えばCTRが高いトップ3のモジュールなどの、どの指標が、どう影響があるとNGなのか決めた上で、それらの数字にも気を配る必要があります。施策箇所が向上していたとしても、ユーザーニーズの高い枠やメインコンテンツへアクセスしづらくなってしまっては全体としてはマイナスの効果になることが予想されるからです。
そしてもちろん、売上も重要な要素です。取扱高や、テスト対象のページや、そこから送客するページ等の広告売上への影響/効果など、あらかじめどの売上を見るのか決めておきましょう。

2.実装・テストリリース

企画フェーズはここまで。次に行うのが、二つ目の、「実装・テストリリース」のフェーズです。ここからが開発作業の段階。デザイナーがテストするデザインのテンプレートを作り、エンジニアがそれを動くものに実装していきます。実装する際には、ここまでに計画してきたテストパターン、テストバケットの割合、取得したいデータ等に沿って、プログラムしていきます。Yahoo!ニュースでは、PHPでテストを組んでいます。実装する項目は以下のようなものです。

  • バケットの情報を定義する
  • PHPやHTMLでバケットに該当した場合に何を実行・表示させるのかのロジックと表示をコーディングする

これらを実装していった上で、テストを実施のためのリリース作業、という流れになります。

3.分析・アクション決定

最後は、テスト後の「分析・アクション決定」のフェーズです。

まず集まったテストデータの数値を確認し、事前に検討していた指標や確認ポイントを見ていきます。基本指標の数値、施策箇所の数値、重要コンテンツの数値、売上の数値などです。その結果、どのテストパターンが一番効果があるのか、もしくは、現状維持の方が良いのか、を決断します。もちろん、判断を下す際には、「何となくこっち」ではダメで、判断の根拠を数値を持って言える状態で判断することが必要です。

テストを実施したら、その結果を確認することは当たり前のことですが、ここで判断を間違うと、これまでに行ったテストの意味がなくなってしまいます。正しい判断を行うためには、これまでのフェーズでの手順を1つずつ踏まえてテストを走らせることが重要です。

以上が、A/Bテストの一通りの流れです。

Yahoo!ニュースで実施しているA/Bテストは様々なものがありますが、当ブログの過去の記事にも事例(ほんの一部ですが)が掲載されていますので、ご興味のあるかたはご覧ください。

そもそも、データ活用って何で必要なの?

ここまでA/Bテストについてご紹介してきましたが、最後にYahoo!ニュース責任者・有吉による講義「Yahoo!ニュースがデータを活用する理由」の一部から、データ活用全体の話について触れてみたいと思います。
Webサービスを作る上で、「データの活用」は欠かせないものとなっています。最近よく耳にする「データ活用」という言葉ですが、そもそもなぜデータ活用が必要なのでしょうか。ビジネス側面からあらためて整理してみると、データ活用の目的は2つあります。

  • 意思決定
  • モニタリング/チューニング

まず1つ目は、意思決定。次の一手をどうすべきか、これからサービスがとるべき戦術や戦略を決めるため。そしてもう1つがモニタリングとチューニング。既にあるサービスのやり方がうまくいっているのか、戦術を確かめるためです。データを活用すると、数字に基づいて、客観的で再現性のある評価を下すことができるメリットがあります。

(ロイター/アフロ)

アメリカで2011年に公開された「マネーボール」という映画をご存知でしょうか。オークランド・アスレチックスのゼネラル・マネージャー ビリー・ビーンが、統計学を野球界に持ち込み、弱小球団をリーグ優勝に導いたというストーリーで、ブラット・ピットがビリー・ビーン役を演じました。この映画は、保守的・伝統的な野球界をデータ活用で変えたストーリーともいえます。
イメージがつきにくい方向けに、ビリー・ビーンが行ったデータ活用を、さきほどの2つの項目に当てはめてみたいと思います。

意思決定
→打者は出塁率や長打率などを、投手は奪三振数や与四球 などを重要な指標だと決めた(セイバーメトリクス

モニタリング/チューニング
→データアナリストを採用し、セイバーメトリクスに基づいて選手のスカウティングやトレードまでの方針を現場に徹底させた

「マネーボール」でビリー・ビーンがデータ活用で成果をあげることができたポイントは、意思決定と、モニタリング/チューニングをセットで実行したことです。分析で終わって満足してしまうと、データの持ち腐れになってしまいます。データ活用の世界では、意思決定とモニタリングを現場レベルで徹底的に遂行することが重要となってきます。

同志社大学の学生のニュース摂取傾向は?

授業の内容の一部紹介は以上となりますが、ここで授業を受けた学生160人へのアンケート結果の一部をご紹介します。この授業に限った学生のデータではありますが、どこでニュースをみるかという質問に対し、インターネットの次にテレビが大半を占めており、またSNS上でのニュース摂取はTwitterが圧倒的という結果が印象的でした。

※グラフの数字は、小数点を四捨五入しているため、合計が100%にならない場合があります

同志社大学でのヤフー社員による連続講義は今年で2回目。文化情報学部の宿久洋教授は「統計学の話はどうしても理論的な話にばかりなってしまうけれど、これが社会でどういう風に使われるかを伝える場として、具体的な企業の話が入ると学生の理解が深まるんです」と、こうした取り組みの狙いを話します。
一方、教壇に立った社員は「講義後も、興味を持ってくれた学生や教員の方々から、サービスに対するご意見をいただいたり、ニュースに関する議論を交わすことができたりと、私たちも学ぶことが多かったです」と語っていました。
今後も、Yahoo!ニュースは日々の業務で得た知見を、教育の場に活かす取り組みを続けていきます。

お問い合わせ先

このブログに関するお問い合わせについてはこちらへお願いいたします。