Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase A/B Testingを使ってサーバ側までA/Bテストした話(Android)

9a18f43cea38f204f59451b0b83430d1?s=47 mahiguch
February 28, 2019

Firebase A/B Testingを使ってサーバ側までA/Bテストした話(Android)

「potatotips #59 (iOS/Android開発Tips共有会)」での発表資料です。
https://potatotips.connpass.com/event/119277/

9a18f43cea38f204f59451b0b83430d1?s=128

mahiguch

February 28, 2019
Tweet

Transcript

  1. Firebase A/B Testingを使って サーバ側までA/Bテストした話 (Android)

  2. Masahiro Higuchi / 樋口雅拓 • グリーグループのリミア株式会社で、LIMIA という住ま い領域のメディアを作っています。 • 機械学習のエンジニアですが、iOS,

    Androidなどもやっ ている何でも屋です。 • 4歳の娘のパパ
  3. 背景と目的みたいなもの • A/BテストにFirebase A/B Testingを使っている。 • 色や形などデザインについてA/Bテストしていた。 • これって、サーバ側のA/Bテストもできるんじゃね? →

    サーバのデータ取得APIのA/BテストをFirebase A/B Testingを使って やってみた事例を発表します。
  4. 何をA/Bテストしたか • 記事一覧を表示し、タップすると記事を閲覧でき る。 • 記事一覧はサーバから取得したデータを表示し ており、この並び順をA/Bテストする。 • コンバージョンとして、記事のタップを使う。

  5. Firebase RemoteConfig設定 • RemoteConfigはKey-Valueストア。 • PCブラウザから設定できるので、企 画側で対応可能。 • Firebase A/B

    Testingでは、直接的に は指定したRemoteConfig keyの値 が変更される。 • そこでデータを取得するAPI毎に RemoteConfig keyを作成する。
  6. Firebase RemoteConfigからのデータ取得コード defaultはリソース ファイルに保持し ておき、 RemoteConfigか ら非同期に値を取 得します。

  7. HTTPリクエストのQueryStringに追加 QueryStringにRemoteconfigから取得したパラメータを追加します。 サーバ側では、そのパラメータを使って処理を分けます。

  8. Firebase A/B Testing設定 • ユーザグループAとBに送られる RemoteConfigの値を設定しま す。 • PCブラウザから設定できるので、 企画側で対応可能。

  9. テスト結果 PCブラウザから結果を確認で きる。 設定から結果確認までPCブラ ウザで出来るので、エンジニ アが開発に集中できる!

  10. テスト結果分析 A/Bテストでどちらのセグメントに振り 分けられたか、UserPropertyに設定さ れます。keyは次のようになります。 firebase_exp_<ABテスト番号>

  11. 5メディア全てでFirebaseを使ってます。 絶賛仲間募集中! グリーグループには全5メディアあり、Firebaseを使う事に よって横比較が可能になった。 mogna

  12. まとめ • Firebase A/B Testingを使ってサーバまでA/Bテストできた。 • PCブラウザから設定出来るため、企画だけでA/Bテスト可能に。 • テスト結果はUserPropertyに設定されBigQueryで分析できる。 ご清聴、ありがとうございました!