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
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
290
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
ASP.NET Core の OpenAPIサポート
h455h1
0
120
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
700
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
3
130
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.3k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
YesSQL, Process and Tooling at Scale
rocio
170
14k
The Cult of Friendly URLs
andyhume
78
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
What's in a price? How to price your products and services
michaelherold
244
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Gamification - CAS2011
davidbonilla
80
5.1k
Visualization
eitanlees
146
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
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