DMM.comの、一番深くておもしろいトコロ。

DMM動画サービスでA/Bテストを1年間運用してわかったこと

DMM動画サービスでA/Bテストを1年間運用してわかったこと

はじめに

こんにちは。動画配信事業部 EC-Growthチームの宮園です。

DMMの動画配信サービスをGrowth(成長)させるためのEC-Growthチームでは、アナリストと共に売上向上に繋がる施策を打ったり、ユーザのエンゲージメントを高める施策に日々取り組んだりしています。

今回は、私たちのチームが取り組んできたことのなかで近年一番役立ったA/Bテストという手法に焦点を当ててお話ししたいと思います。

A/Bテストをご存知ない方、聞いたことはあるけどどのように進めれば良いのかわからず導入を躊躇している方に、私たちの体験談が参考になれば幸いです。

  • 私たちがどうしてA/Bテストに取り組むことになったのか
  • ツール選びはどうしたのか
  • 実際にやってみてどうだったのか

目次

A/Bテストとは

A/Bテストとは、Webマーケティングにおける施策判断の手法の1つ

Webサイトを改修したい時に2つの改修案を用意し、それぞれをユーザーに公開することでテストを行い、どちらの改修案がユーザビリティの点で優れたものになったかを測ることができます。

元々、私たちは良かれと思った機能を実装してきました。 実装して良かったものも多くありますが、その裏には利用率が低く無駄に終わったものも少なくありません。 いくら良かれと思っても、根拠のない改修案ではユーザーに受け入れられずに終わるリスクを含んでしまいます。

では、そうしたリスクにどう向き合えば良いのでしょうか?

私たちのチームでは、”仮説立て+A/Bテスト+効果測定” を行うことでリスクを回避できるようになったと考えています。 実装前にこうした仮説検証を行うことで、根拠のなかった改修案を根拠のあるものにでき、それ(根拠のある改修案)だけを実装できるからです。

A/Bテストのおかげで、無駄なく開発し続けられるようになり、今ではA/Bテストはなくてはならない存在になっています。

ツールの紹介

用いたツールは Google Optimize

Google OptimizeはGoogleが提供しているA/Bテストを行うためのツールです。
URL:https://optimize.google.com

Google Optimizeを用いた理由

A/Bテストのツールを導入するとなりましたが、効果がどれだけあるかもわからないツールにいきなり巨額のお金を投資することはどこの会社でも厳しいと思います。

まずは1つ試してみようということで、なるべくコストが低く簡単にできることを重視してツールを探しました。 そんな時に見つけたのが、このGoogle Optimizeです。

調べてみると無料で簡単、さらにはすでに導入済みのGoogle Analyticsと連携もできるということで、すぐに試してみようということになりました。

Google Optimizeの導入

簡単なアカウント登録、スニペットというタグを案内されるままに自サイトに埋め込むだけで導入が完了します。

初めて触った時に、直感でテスト設定を済ませられるくらいシンプルで使いやすかったです。 利用できるテストの種類が無償版でも制限されない点も、好感度が高いです。

A/Bテストを運用してみて

まずは開発環境で確認

開発環境でテストを組んでみて動きを見たり、他にどんなことができるかを一通り触ってみたりすると、今すぐにでもテストを始められることがわかりました。

パターンと呼ばれるA/BテストのBにあたる ”変更を加えた状態” を用意し、誰をターゲットにしてテストを行うか、どんな数値が向上すれば目標達成になるかの設定をすればテストが開始できます。

A/Bテストの結果にはブレが存在する

動作の確認ができれば、続いては「何でもいいから1回テストしてみよう」となるわけですが、そこでチーム内から「ツールの精度を知ろう、それにはA/Aテストというのがあるらしい」との声が聞こえてきました。

A/Aテストと検索してみると、確かに記事がいくつか見つかり、”AとBの違うもので差を測るのがA/Bテストなら、AとAの同じもので差が出ないことを測るのがA/Aテスト” といった内容が書かれています。 AとAでテストをしているのに数倍の差が生まれた、とそんなことになってしまえばツールの数値が正確でないことになり、当該ツール自体の運用を見送る必要が出てくるため、これは大事なことだと理解して実施しました。

▼A/Aテスト結果(概要)
A/Aテスト結果(概要)

A/Aテストの結果は上の画像のとおりで、どのパターンもオリジナルに何も手を加えていない状態にもかかわらず、なぜか最適である確率やベースラインを上回る確率が70%や91%という数字が見えます。 数値にブレがあったりパターンに差がないのに「このパターンがいいかもよ!」と示されたりすることで不安な面もありますが、それ以上に、ユーザーにそれぞれのテストパターンを見せる機能やGoogle Analyticsとの連携が便利なのは確かです。 効果測定を自分たちで行なっていけば良いことに気付き、Google Optimizeで運用していくことで決定しました。

A/Bテストを実施

A/Aテストを行ってみて結果に不安を覚えつつも、実際にやってみないとわからないということでやってみました。

▼A/Bテスト結果(推移)
A/Bテスト結果(推移)

結果は上の画像の通りで、”余白なし” パターンの数値がオリジナルを上回る勝ちパターンとなりました。

ただよく見ると、A/Bテスト開始直後では各パターンの数値がバラバラで日によっての動きも大きく、数日経過していくことで収束していくのが読み取れます。 開始から数日でテストをやめていたら負けパターンになっていたかもしれません。 このことからもわかるように、Google Optimizeのテストには期間が重要です。

まずは、推奨されている2週間を実施し、それでもブレる場合は状況に応じて延長するなどの手段を取る必要があります。 また、アクセス数が少ないと収束するのに時間が掛かるようなので、そういったページをテストする場合はグラフがしっかり収束するまで様子を見てテスト期間を延長することも頭に入れておく必要があると学びました。

実装のGOサイン

A/Bテストを終えGoogle Optimize上では勝ちパターンとなりましたが、A/Aテストでのブレの件もあるのでこのまま実装とはなりませんでした。 いくら「Google Optimize上で勝ちパターンになりました!」といっても、それだけで上長が実装のGOサインを出すには情報が不十分で、納得してもらえなかったのです。

こうなったら決定的な証拠を提示するしかないと思ってGoogle Analyticsに頼りましたが、この時は効果測定に必要な情報がなく、勝ち負けを判断できないという悲しい結末になってしまいました。 その後の別のA/Bテストでは、Google OptimizeとGoogle Analyticsの双方からデータを分析することで、上長を説得することに成功しています。

こうした失敗を経験してきたことで、今では施策を考える段階からその施策に必要な情報は何かを確認するようになりました。 また、事前にGoogle Analyticsのイベントタグを埋め込んだり、ダッシュボードを用意して推移を見守ったりするだけで結果を判断できるようにもなりました。

おまけ:チームに貯まった知見の一部をご紹介

テストが動作しないブラウザに注意

正直なところ、メジャーなブラウザなら問題なく動作してくれると思っていましたが、テストを認識してくれないブラウザも存在するようです。

認識してくれるくれないの判断については、Google Optimize上にあるプレビュー機能がそもそも動かないので、各ブラウザでのプレビューを行ったほうが良いと思います。 私たちが把握している限りでは、FirefoxやIEが特に怪しく、ターゲット設定から動作確認が取れたブラウザに限定してテストを行うほうが良いと思います。

要素の移動は簡単にできるが制限あり

Google Optimizeでは、テストの対象ページを実際に見ながらテストパターンを作成できます。

要素の位置を入れ替える機能も用意されていてとても便利なのですが、ページの構造によってはテストパターンの作成が上手くできず、対応できない場合がありました。 オススメ作品の位置を変更しようとテストを準備していたのですが、意図した位置に移動できませんでした。

その時はテスト内容の見直しになってしまい、原因究明できずに終わってしまったのですが、意外とできないこともあるので注意が必要です。

非同期のDOMは触れない

テストをしたいページが表示されてから非同期で読み込まれる要素についてはGoogle Optimizeでは触れないため、テストを行いたい場所の選定には気をつけたほうが良いかもしれません。

テストパターンの動作検証はCookieで制御可能

テストを開始した時、「上手く動いているか?」「不具合はないか?」と不安に駆られます。 問題なく動作しているかを検証するため、当初はCookieを削除してはリロードしたり、シークレットウィンドウでアクセスし直したりして、各テストパターンを引き当てて確認していました。

ただ、この方法はとても疲れるので、どうにかして簡単にテストパターンを確認できないか調査をしました。

結果、テストパターンを引いた場合に ”Cookie(_gaexp)” が用意され、その値の ”末尾の数字” を変更してページの再読み込みをすることでテストパターンを強制で表示できることがわかりました。
※末尾の数字については、0:オリジナル、 1:パターン1つ目に対応(2以降も同様)

テスト対象の条件にCookieやLocal Strageの値の参照/判定可能

テスト対象の条件設定にて ”カスタム JavaScript" を利用することで自由にJavaScriptを組んで判別ができます。 そして、Webサイト上のCookieやLocal Strageの値を参照することもできます。

”CookieやLocal Strageの値がhogehogeだったら” といった判定処理を用意することで、複雑な条件でもその条件に一致したユーザーに対してのみテストを実施できるので重宝します。

カナリアリリースにも使える

カナリアリリース(プロダクトやサービスの新機能を一部ユーザーのみが利用できるようにリリースし、新機能に問題がないことを確認しながら段階的に全体に向けて展開していくデプロイ手法)にも利用できました。

Google Optimizeの画面上で ”トラフィックの割り当て” という項目でテスト対象の割合を設定できるので ”一部のユーザーのみ” という部分を簡単にコントロールできます。 リリース時には10%で設定し、様子を見てその値を徐々に100%へ上げていくことで段階リリースを実現できました。

使い方として良いか悪いかと言われると怪しいところではあるのですが、専用の仕組みを用意せずとも段階リリースできたのでとても助かりました。

まとめ

これまでいくつかのA/Bテストを実施してみたことで、大きな勝ちパターンはないものの、小さな勝ちパターンはちゃんと存在することがわかりました。 また、一発勝負での実装を予定していた施策についても、事前にA/Bテストをして効果があることの裏付けをできました。

売上向上に向けて活躍してくれるツールだろうとは期待していましたが、失敗から学び、それを次に活かす文化もチームに芽生えるという思わぬ副産物も得られたので、やはりA/Bテストを導入して良かったと思います。

最後に

今回のA/Bテストはほんの一例ですが、DMMは常に新しいことにチャレンジして知見を貯めることができる会社です。

一緒に働く仲間を募集していますので、ご興味のある方はいつでも気軽にご連絡下さい。

RECRUIT

DMMの採用情報では、中途採用情報、経験者採用情報を掲載してます。東京本社、石川県内、北海道、その他各事業所にて、現在募集中のエンジニア、デザイナー、ディレクター、営業職などの募集要項、待遇・福利厚生などを掲載しています。