Firebase A/B Testingとは
Firebase Remote Config の仕組みを使い、A/Bテストを設定、評価するための機能です。
ユーザ体験を最適化するのに役立つだけでなく、収益やユーザー定着率などの指標を最大化するための検証をおこなうこともできます。
なお、 通知(メッセージング)についても A/Bテストを実施することができますが
本記事では Remote Config テストについてのみ記載します。
※2019年8月時点の情報です。Firebase A/B Testingはベータ版のため変更になる場合があります。
Firebase A/B Testing の仕組み
(Diagram-AB-Testing-IO-v2.png は https://firebase.google.com/docs/ab-testing/ より引用)
Targeting : 対象ユーザについて
Google Analytics for Firebase から複数条件により定義することができます。
また、Firebase Predictions により自動的に作成されるグループに属するユーザのみに対象を制限することもできます。
全体に影響が出ないように大半のユーザをコントロールグループ(従来のUI / 機能が表示されるグループ)に含め、一部のユーザーのみでテストを実施することで、テストによる影響範囲を狭めることができます。
Measurement : 評価について
テスト作成時に最適なパターンを選択するためのメイン指標を設定します。
この指標は Google Analytics for Firebase で計測しているイベントから選択します。
また、その指標に加えて他の指標(クラッシュの影響を受けていないユーザー、定着)を追跡することもできます。
指標1つだけでなく、他の指標を加味して検証することで本当に最適な体験となっているか確認することができます。
テストの作成方法
テストの作成画面を開く


テストの設定
基本

ターゲット設定
ターゲット設定ではテスト対象の絞り込みをおこないます。




目標
目標ではA/Bテストの結果どちらが優れているかを比較するための指標を設定します。

追跡するメインの指標を選択します。
指標は Google Analytics for Firebase で計測しているイベントから選択します。
また、追跡するその他の指標を設定することできます。
その他の指標はデフォルトでは「定着(4日〜7日)」、「クラッシュの影響を受けていないユーザ」がデフォルト選択されており、
最大で5つまで追加することができます。設定が完了したら [次へ] をクリック。
バリアント
バリアントでは実施したいテストのパターンを定義します。

コントロールグループ
コントロールグループはテストと比較対象となるグループで、従来のUI・機能が表示されるグループです。
Variant
新しいUI・機能をテストするグループです。Variant Aはテキストフィールドになっているので任意の名前に変更することができます。
[別のバリアントを追加] をクリックすることで、バリアントを増やすことができ複数パターンのテストが実施可能です。
バリアントのユーザー数は均等になるように割り振られます。
例) コントロールグループ、Variant A, VariantB, VariantCが存在する場合は25%ずつになるよう割当られます。
[パラメータ] をクリックし Remote Config で変更したいパラメータを選択。
値にパラメータに設定したい値を入力します。プレースホルダーにはそのパラメータのデフォルト値が表示されます。
アプリ側は設定した値でUI / 機能を分岐するように実装しておく必要があります。
設定が完了したら [確認] をクリック。

このような画面が表示されれば設定完了です。
この段階ではテストは開始されておらず、[テスト開始]をクリックすることでA/Bテストを開始することができます。
テストデバイスでの確認
設定・実装後に Firebase A/B Testing が期待どおり動いているか確認します。
テストデバイスの設定には FirebaseインスタンスIDトークン が必要になります。
設定完了後のページの [Details] をクリックし展開するとこのような画面になります。
次に[テストデバイスを管理]をクリックしテストデバイスを追加します。

インスタンスIDトークンを入力し、その端末に反映させたいバリアントを選択後 [追加]をクリックします。
[保存]を押して設定完了です。
バリアントは指定したテストデバイスのみにしか反映されないため、安全に動作確認をおこなうことができます。
最後に
以上ですべての設定が完了しました。
テストを開始後の評価はFirebaseが自動的に集計し、グラフで表示されます。
アプリ側の実装はRemote Configによる分岐と
必要に応じてGoolge Analytics for Firebaseを設定するだけで良いので
簡単にA/Bテストを実施することができます。
対象の絞り込みと指標の設定がGUI上でき、プロダクトの改善に集中できるのでおすすめです。ぜひお試しください。
このページの一部は、Googleが作成および共有した作品から複製され、
Creative Commons 4.0 Attribution Licenseに記載されている条件に従って使用されています。