2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
もう迷わない!A/Bテスト技術選定で重視すべきポイント(全1記事)
リンクをコピー
記事をブックマーク
串崎康介氏(以下、串崎):「もう迷わない!A/Bテスト技術選定で重視すべきポイント」というタイトルで発表します。串崎康介と言います。よろしくお願いします。メドピアに入社したのは昨年の4月で、ライフログプラットフォーム事業部でサーバーサイドの開発を担当しています。
「A/Bテストとは」「今運用しているA/Bテストの事例」「他のA/Bテストの方法とその比較」について話していきます。本題に入る前に、A/Bテストとは何なのか、認識を合わせておきたいと思います。Wikipediaによると、「広義のA/Bテストはインターネットマーケティングにおける施策の良否を判断するために、2つの施策同士を比較検討する行為全般」のことです。
この発表では、もう少しスコープを絞って話をしたいので、“施策”とはWebアプリの機能やデザインの変更を想定して話します。“良否”は、数値で測れるものを前提にしています。弊社の事例でいうと、コンバージョンです。“比較”は時期によってユーザーの傾向が変わってしまうので、同時期にきたアクセスでの比較になります。
「今運用しているA/Bテストの事例」を紹介したいと思います。私の所属している、ライフログプラットフォーム事業部では、通称“スギサポシリーズ”と呼んでいるサービス群を開発しています。毎日の食べる、歩くなどの日常生活を中心に、健康になりたいユーザーをサポートするサービスです。今回取り上げる「スギサポdeli」は、例えば塩分、あるいは糖質が気になる方に向けて作られた、お弁当が注文できるECサイトです。
その「スギサポdeli」でお試しセットという、初回購入者向けの商品を売り出しています。そのため、オンラインの広告からきた方は、このお試しセットのページ、ランディングページに着地するようになっています。このページからコンバージョンするユーザーの数を増やすために、継続的にA/Bテストを行っています。
A/Bテストに関わるメンバーは、PMとエンジニア1名ずつです。HTMLなどの変更は、他のプロジェクトも兼務されているコーダーの方にお願いしています。A/Bテストを経て、継続的にデザイン変更を行いたいという話だったので、テストの度に僕が介入せず、最小限の2人でA/Bテスト回せる体制にできたらいいなと考えました。
そのため、このA/BテストではGoogle OptimizeのLowCodeパターンを採用しています。マーケティング用の計測や分析のツールには今のところGoogle Analyticsを使っていて、結果はそのままGoogle Analyticsで取得するのが楽だなと思い、そうしています。
具体的なパターン作成の操作の画面は、今出ているような感じです。HTMLを、指定した別のHTMLに変えたいとか、CSSやJSを追加したいとかを、画面上で追加できます。今回はコーダーがいるので特に検討はしていませんでしたが、LowCodeとはいわず、NoCodeでテストパターンを作ることもできます。例えば、右下に出ている画面で操作できます。
A/Bテストの結果はこのような表で確認できます。ちょっと今隠していますが、パターンの名前、コンバージョンやコンバージョン率、またそのパターンが最適である確率や、推定されたコンバージョン率などの指標を見れます。この方式で進めていった結果、導入時に、PMとコーダーでだいたい完結できるようにしたいと考えていましたが、おおむねできているかなといった感じです。
A/Bテストのサイクルは2週間くらいでテストの準備、1ヶ月くらいでテストの計測を行う感じにしています。2020年の12月から半年やっていて、今5回目の途中で、A/Bテストで比較ができている状態です。
この方式を使用する際の注意点がいくつかあります。1つは、LowCodeであってもコードなので、ソースコードと分離していることです。コードが競合したりすることもあります。実際に、ランディングページに貼っていたキャンペーンのバナーがキャンペーンの終了時に消え、Google Optimizeのパターンの出し分けができなかったことが1回ありました。また、LowCode側で置き換えるHTMLをCSSセレクタで指定するため、動的な要素が多いページだと指定が難しい場合があります。
また、Railsで管理するasset、要は画像のことですが、フィンガープリントがつくので、他の画像と同様のフローでリリースする場合は、いったんデベロップメント環境でフィンガープリントを特定して、それをコーダーにリンクとして伝えるなどの手間が必要でした。以上が、今チームで行っている方法です。他の方法との比較を引き続き話していきます。
まず1つ目、Google Optimize(FrontEnd)と命名しましたが、FrontEndのソースコードとGoogle Optimizeを連携させることもできます。その場合は、先ほどと同様にA/Bテストの実験、Google Optimize上では“Experience”と呼ばれているものを作ります。その後、ページの読み込み時にGoogle Optimizeに決めてもらった値、基本的には0か1が返ってくることになると思いますが、その値に応じて表示を変える操作になります。
ほぼ同様ですが、FrontEnd側ではなく、BackEndのソースコードとGoogle Optimizeを連携させることもできます。1つ違うのは、どちらのパターンでいくかは、BackEnd側で決めることになります。そのため、BackEnd側で決めたVariant_idと、もともと設定されているExperience idをGoogle Optimizeに送る感じになります。
もう1つ別のパターンとして、“Split”というRubyのgemで実装もできます。こちらは、Rackベースのアプリで使えるA/Bテストのフレームワークです。アクセスやコンバージョンのデータは基本Redisに保存できて、普通のデータとは別れる感じです。一応、専用の管理画面でRedisに保存されたデータや、基本的な分析を見れます。
Google Analyticsでサイトの分析をしていることが多いと思うので、別途連携する必要があるこの方式は、個人的にはあまり推していません。データの出し分けや、コンバージョンの記録はRubyコードのようなイメージで実装できます。
結論、A/Bテストの導入の際に、基本的なツールとしてはGoogle Optimizeの使用を前提に置いておけばいいんじゃないかなと考えています。技術選定としては、A/Bテストで変更する施策が、FrontEnd領域にとどまるか、BackEnd領域にも広がるのかが1つのポイントです。施策の変更がFrontEnd領域にとどまる場合は、次はちょっとざっくりですが、さっくり入れたいのか、かっちり入れたいのかという分類になるかと考えています。
チームが小さかったり、アプリの規模が小さかったり、A/Bテストの実行頻度がちょっと高いとか、コードを書ける人が少ない場合は、さっくり入れることを重視してLowCode方式になるのかなと考えています。A/Bテストによる変更も同様に、「そのソースコードに入れたい」という場合はFrontEnd方式が良さそうです。ソースコードの変更は通常の開発フローと同じになるので、特に違いを意識せずに開発が続けられるので、安心できるかなと考えています。
BackEndの変更を含む場合は、基本的にはGoogle OptimizeのBackEnd方式が良いのかなと考えています。gemの方式だと、やはりA/Bテストの結果を他のGoogle Analyticsのイベントと絡ませて分析したりが難しくなるかなと考えています。結論、Googleの回し者みたいな感じになってしまいましたが、以上で発表を終わりたいと思います。ご清聴ありがとうございました。
司会:はいどうも、ありがとうございました。さっそく、質問がきています。Google Optimize、Google Analyticsとかにもあるのかな? 「多腕バンディットアルゴリズム、使えるんでしたっけ?」という質問がきていますが、Optimizeって使えますか?
串崎:すみません、もともとの何でしたっけ? 要は50、50で出すのではなく、たぶん結果に応じて出す割合を変えてく方式のことだと思ってるんですが。Optimizeでどうなのかはちょっと把握できてないです。
司会:使ってない?
串崎:はい、使ってないです。
司会:ありがとうございます。用途によってLowCodeとFrontEnd分けてると思いますが、串崎さんの理想としては、どっちのほうがいいんですか?
串崎:今の状況でいうと、まだLowCodeのほうが手間が少ない。効果が大きいのかなと考えています。「以前競合した」という話をしたと思いますが、今後はFrontEndの方式に寄せていったほうが、そういう事故などは少ないので、今もうスイッチしてもいいのかなとちょっと考えてる次第ですね。
司会:なるほど。お手軽だけど、ちょっとした修正が事故になるっていう(笑)。
串崎:そうですね。コーダーのスキル的にも、別にかっちり方式でもできるとは思っているので。ちょっと移行とかは僕がやらないといけないのかなと考えているんですけど。
司会:わかりました。なんかA/Bテストやってよかったなっていう、一番の成果はどんな感じですか?
串崎:ちょっとまだA/Bテストをして、すごい結果が出たことがなくて。どちらのパターンも、多少は確率が変わりますが、そこまでっていう感じです。少しずつ良くはなっていますが、今のところすごい結果が出てはいません。ただ、継続的に実験できるのがいいのかなと考えています。
司会:わかりました。回数増やしていきましょう、というところで。視聴されてる方も、ぜひGoogle Optimizeを使ってもらえたらと思います。(笑)ということで、登壇ありがとうございました。
串崎:ありがとうございました。
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05