Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アプリデータの分析を楽に効果的に!FirebaseAnalyticsとお友達になると良い3つの理由
Search
t-kurimura
December 02, 2019
Programming
1
1.8k
アプリデータの分析を楽に効果的に!FirebaseAnalyticsとお友達になると良い3つの理由
Data Platform Meetup #2
2019/12/02
https://data-platform-meetup.connpass.com/event/155073
文字が色褪せる!!
t-kurimura
December 02, 2019
Tweet
Share
More Decks by t-kurimura
See All by t-kurimura
Eurekaの DataPlatform開発状況と再現性の実現
t_kurimura
3
4.4k
Other Decks in Programming
See All in Programming
Contemporary Test Cases
maaretp
0
140
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
950
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
as(型アサーション)を書く前にできること
marokanatani
10
2.7k
Better Code Design in PHP
afilina
PRO
0
130
cmp.Or に感動した
otakakot
3
200
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
890
受け取る人から提供する人になるということ
little_rubyist
0
250
Realtime API 入門
riofujimon
0
150
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
It's Worth the Effort
3n
183
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Code Review Best Practice
trishagee
64
17k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Building Applications with DynamoDB
mza
90
6.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
We Have a Design System, Now What?
morganepeng
50
7.2k
Transcript
アプリデータの分析を楽に効果的に! FirebaseAnalytics とお友達になると良い3つの理由 Data Platform Meetup #2 Eureka, Inc Kurimura
Takahisa
自己紹介 Takahisa Kurimura - Eureka Inc. - BI (Business intelligence)
チーム所属 - Mobile apps/ Matching / SharingEconomy - Football (主にJリーグ) / Motorbike / other sports... t-kurimura t_kurimura
None
エンゲージ プロダクト紹介 グローバル展開のオンラインデーティングアプリと新規事業の結婚コンシェルジュサービス
での を利用した アプリデータの収集 本日のテーマ の紹介 エウレカでの活用事例
お仕事遍歴 データアナリスト・整備人 アプリエンジニア Androidアプリ開発 SMSログイン機能の導入 設計変更 ABテストなどの実装グロースハック Scrum Master アジャイル開発の推進
プロダクトチームの進捗管理 PdMのサポート Pairs事業部(日本版) PairsGlobal(台湾/韓国版) Androidアプリ開発 お相手を探す画面フルスクラッチ サーバーサイド開発 不正ユーザー登録阻止機能企画実装 アクティベーションキャンペーン実装 データ抽出・分析 有料会員の UXの現状課題分析 各種効果測定設計・実施 BI Team In-App Chat機能の分析 ユーザー向けコンテンツのための分析 効果測定フロー整備 DataPlatform業 CloudComposerによるAirflowの新規フロー実 装・リファクタリング DigDagのETL管理 Tableauデータソース管理 BQ内データセット・テーブル整理 受託開発会社 Androidアプリ開発 iOSでリリースされた トークアプリの実装
使っていますか?
実体は Googleアナリティクス Google のアプリ デベロッパー向け統合プラットフォームである Firebase と連 動する最新のアプリレポート。 FirebaseというiOS/Andoridアプリ開発ツールの一部 Google
アナリティクスか Firebase コンソールかを問わず、アプリレポートを使 用するには、アプリに Firebase SDK を導入しておく必要があります。 Firebase SDK では、独自にコードを追加しなくても、基本的なアプリ使用状況 データが自動的に収集されます。 とはなにか 簡単に言えばGoogleAnalyticsのアプリ版
(個人的には)アプリ開発のデファクトスタンダード とはなにか アプリの統合開発環境プラットフォーム Googleが提供するアプリの開発を支援するツール群。導入が容易で、それぞ れの機能が相互に連携が可能で、機能も多岐に渡る。 SNSログイン機能 モバイルアプリ内での 機械学習ツール ABテスト支援ツール Push通知送信機能
ABテスト支援ツール
の良さ 導入・運用の簡単さ 自動で収集される データ データの活用 が容易
の良さ 導入・運用の簡単さ 自動で収集される データ データの活用 が容易
導入・運用の簡単さ の良さ データの人 アプリケーション エンジニア 「こんなデータ取りたいので ここ と ここ と
ここ に ログいれてくれませんか?」
導入・運用の簡単さ の良さ データの人 「こんなデータ取りたいので ここ と ここ と ここ に
ログいれてくれませんか?」 「わかりました(チョット嫌そう」 「来月やります...」 「ホントに必要なんですか...」 アプリケーション エンジニア
導入・運用の簡単さ の良さ データの人 「わかりました(チョット嫌そう」 「来月やります...」 「ホントに必要なんですか...」 アプリケーション エンジニア 経験上、たしかに面倒 「こんなデータ取りたいので
ここ と ここ と ここ に ログいれてくれませんか?」
導入・運用の簡単さ の良さ モバイルアプリ Pairsサーバー データベース とあるログの転送フロー 自社API
導入・運用の簡単さ の良さ 実装するコードは実質1行 Bulk送信なのでオフラインでも利用可能 UX面でもメリット 最大72時間アプリにログを貯める
導入・運用の簡単さ の良さ パラメーターの追加などで工数削減 サーバーサイド開発 ネイティブアプリ開発 ネイティブアプリ開発
導入・運用の簡単さ の良さ SDKの導入のみで計測開始 Consoleで簡易的な情報は確認可能
導入・運用の簡単さ の良さ BigQueryと接続可能(10GBまでは無料)
導入・運用の簡単さ の良さ アプリ毎に細かくプロジェクトを分けるのがおすすめ アプリA アプリB アプリC アプリA アプリB アプリC Android
iOS BigQuery Date partition
の良さ 導入・運用の簡単さ 自動で収集される データ データの活用 が容易
の良さ セッション関連データ インストール毎のアプリの初回起動 セッションの開始 アプリのフォアグラウンドでの動作 自動で収集される データ アプリ特有データ OSのアップデート アプリのアップデート
Push通知関連データ(FCM) プッシュ通知の受信 プッシュ通知の開封 プッシュ通知の削除(Androidのみ) アプリ内での動作 各画面遷移データ IAP購入データ これだけのイベントがSDKを導入するのみで収集できる
の良さ 自動で収集される データ 端末のカテゴリ(モバイル、タブレット、 PC) 端末のブランド名 端末のモデル名 端末のマーケティング名 OS から直接取得した端末のモデル情報
端末の OS OS のバージョン IDFV(IDFA を収集していない場合にのみ使用) 広告 ID / IDFA OS の言語 ユーザーの位置情報を格納するレコード イベントが報告された大陸( IP アドレス ベース) イベントが報告された亜大陸( IP アドレスベース) イベントが報告された国( IP アドレス ベース) イベントが報告された地域( IP アドレス ベース) イベントが報告された大都市圏( IP アドレスベース) イベントが報告された都市 (IP アドレス ベース)
の良さ 自動で収集される データ ユーザーを最初に獲得したトラフィックソースの名前 。このフィールドは当日テーブルでは使用されません。 ユーザーを最初に獲得したマーケティングキャンペーンの名前。このフィールドは当日テーブルでは使用されません。 ユーザーを最初に獲得したメディアの名前(有料検索、オーガニック検索、メールなど)このフィールドは当日テーブルでは使用 されません。 ユーザーを最初に獲得したネットワークの名前。このフィールドは当日テーブルでは使用されません。
の良さ 自動で収集される データ 地域情報 デバイス情報 ユーザーカスタム パラメーター イベントカスタム パラメーター 1つのイベントに対して、その時の状態がこれだけ付与される
の良さ 導入・運用の簡単さ 自動で収集される データ データの活用が 容易
の良さ データの活用 が容易 アプリに対して、設定した値を返すツール アプリに対して、Firebaseのコンソールから設定した値を返却できる。 機能のABテストなどのフラグ管理に有効 女性ユーザーには機能Aを、男性には...」といった形で値の変更ができる。コ ンソールからいつでも変更できるので、アプリのリリースサイクルなどに影響を 受けない。 https://firebase.google.com/docs/remote-config
の良さ データの活用 が容易 アプリのABテストの支援ツール ユーザーを指定のセグメントに分類し、そのセグメント毎のアクションの状況を Firebase Analyticsに送信する。 ユーザーの分割などを自動的に行える部分が魅力 ユーザーの分割をランダムに行うので他の変数の影響を受けにくく工数削減 になる。またUserIDがないユーザーの分類にも有効。
https://firebase.google.com/docs/ab-testing
の良さ データの活用 が容易 アプリエンジニア データの人 よりシームレスにPDCAを回すことが可能
での の活用状況
での活用事例 データ基盤の全体構成図
での活用事例 DataLakeのひとつとして活用
での活用事例 FirebaseAnalytics 生ログをほぼ そのまま保存している Firebase event ta Userデータ
データをほぼ そのまま保存しているDB 分析用の下処理を施したDB ビジネス観点で整備したDB での活用事例 Firebase event table Userデータ Pairsサーバー管理の
データとの統合データ 分析用データ テーブル DataWareHouse層で会員情報と紐付け
セッション アプリを起動してから、アプリを閉じる(アプリがバックグランドに移行する)まで の期間をセッションとしてその時間を計測。 ユーザーの利用傾向などの把握が可能に 時間帯の情報、獲得チャネル、ユーザーの会員ステータスなどと掛け合わせ てみることで、課題の発見をできたり定性的なユーザー体験の改善の効果測 定として利用可能。 での活用事例 セッションデータ
での活用事例 セッションデータ データをほぼ そのまま保存しているDB 分析用の下処理を施したDB ビジネス観点で整備したDB Firebase event table Userデータ
統合セッションデータ (Daily Partition Table) 3ヶ月分のデータ (1/10の無作為抽出) 1週間分のデータ (全データ) 膨大なデータ量なのでDataMartを作る段階で工夫
アプリのActivity/ViewController名を集計 iOS・AndroidのSDKのクラス名が集計される。 実装時に定義しているものなので読めばわかるものがほ とんどだが、実際の画面に紐付かないものもあるので、ア プリエンジニアとの連携が必要。 行動が画面単位で見えてくる 特定アクションまでの行動経路の分析や各画面での滞在 時間などの分析が可能に。 での活用事例 データ
での活用事例 データ Firebase event table Userデータ PVデータ (Daily Partition Table)
※不要なログを除外 分析用データ 分析者が利用しやすいようにアプリエンジニアに対応表を管理を協力してもらう アプリのClass名の対応表
での活用事例 特殊な更新設定 2日以上前のテーブルも更新されることがあるので、DWHの更新設定には注意 event_20191130 event_20191201 event_20191202 event_20191130 event_20191201 event_20191202
Product manager / Product owner プロジェクトの立案や各種ヘルスチェック、効果測定や仮 説の検証に利用 での活用事例 の利用者 Sessionデータ
PageViewデータ Engineer バグ調査のために、クラッシュが起きた時点でのユーザー のステータスや再現条件の確認など Customer care お客様の使い方のフォローや特殊な状況の救済
本日のまとめ
本日のまとめ - FirebaseAnalyticsでは独自実装だとかなりの工数が掛かりそうなデータが 半自動的に収集可能 - アプリ開発フレンドリーなツールなので、 アプリエンジニアが比較的使いやすい - Firebaseの別のツールの連携が可能で、グロースハックなどが簡単にできる -
BigQueryにExportできるデータは、あくまでも RawDataなので活用していくための ETLは重要
リンク集 もう少し具体的な FirebaseAnalyticsの扱い方・やや特殊なテーブル構造などについて (Blog) https://medium.com/eureka-engineering/firebase-analytics-bigquery-484e23534b5a FirebaseAnalytics紹介動画(Google公式) https://www.youtube.com/watch?v=8iZpH7O6zXo FirebaseAnalyticsの自動送信イベントの説明 (Firebase 向け
Google アナリティクス) https://support.google.com/firebase/answer/6317485?hl=ja イベントとパラメータの詳細( Firebase 向け Google アナリティクス) https://support.google.com/firebase/answer/7061705?hl=ja エウレカのDataPlatformについて https://speakerdeck.com/tamakitetsumoto/data-platformgou-zhu-puroziekutotui-jin-falseshi-li-toxue-bi
None