SlideShare a Scribd company logo
Analytics Innovation
Company
Analytics Innovation
Company
DMPの分析機能を実現する技術
2018/11/15
株式会社ブレインパッド
マーケティングプラットフォーム本部 開発部
下村
Analytics Innovation Company
©BrainPad Inc.
2
自己紹介
● 名前:下村環太朗
● 所属:マーケティングプラットフォーム本部・開発部
○ 自社サービス開発の部署
○ プライベートDMP Rtoasterの開発を担当
● Pairsプロフ:
○ 年齢:30歳
○ 居住地:日本 東京
○ 身長:170cm
○ 職種:WEB業界
○ 体型:やや細め
○ タバコ:吸わない
Analytics Innovation Company
©BrainPad Inc.
3
DMP (Data Management Platform)
● マーケティングツールの一種
● ユーザーが所有するデータを活用するための様々な機能を持つ
Analytics Innovation Company
©BrainPad Inc.
4
Rtoaster開発体制
● エンジニアは全体で20名程度
○ 機能ごとにもう少し小さいチームに分かれる
○ 今日お話しする分析機能の開発チームは3~4名(多い方)
Analytics Innovation Company
©BrainPad Inc.
5
ユーザー分析機能
● ウェブサイト・アプリの行動ログや顧客属性の集計・可視化機能
○ GUI上での探索的な分析
○ 機械学習を使って自動でセグメンテーション
○ レコメンド配信システムやDSPにセグメントを連携
Analytics Innovation Company
©BrainPad Inc.
6
開発・運用している要素
● DWH
○ 様々なデータを集約・統合
○ テーブルは最大で数十億行の規模
● 大規模データ処理
○ ETL処理
○ 機械学習などDWHだけではできない処理
● スケジューリング
○ 依存関係のある数千/日のバッチ実行
● 集計
○ 分析条件にあわせて適切なクエリを生成してDWHに投げる
● 管理画面
○ 普通のシングルページアプリケーション
○ (UIや可視化部分はデザイナーが担当)
● 他システムとのつなぎこみ
○ 見かけ上の管理画面は共通
○ 裏は完全に別なので同期用のAPIを生やしている
● etc...
Analytics Innovation Company
©BrainPad Inc.
7
現在の構成 ※一部簡略化しています
行動ログ収集
レコメンド配信
外部連携
Rtoaster ユーザー
Analytics Innovation Company
©BrainPad Inc.
8
現在の構成 ※一部簡略化しています
分散処理クラスタバッチ実行基盤 ウェブアプリ
行動ログ収集
レコメンド配信
外部連携
Rtoaster ユーザー
Analytics Innovation Company
©BrainPad Inc.
9
バッチ実行基盤
ジョブワークフローエンジンとしてAirflowを採用
� ワーカーを増やすだけでスケールする
� 柔軟なワークフローを構築できる
� 管理画面が便利
� 環境構築に一手間かかる
� タスクが多すぎると動作が不安定に
Analytics Innovation Company
©BrainPad Inc.
10
分散処理クラスタ
Amazon EMR上にPresto (+Spark thrift server) でDWHを構築
Sparkバッチの実行環境としても利用
� ノードを増やすだけでスケールする
� 環境構築が簡単
� ストレージとメタデータをクエリエンジンを分離
� リソース管理はHadoop (Yarn) やPrestoにおまかせ
� 基本的にはマネージドといえどシステム構成は複雑
� 手動で各種パラメータの調整が必要な場合もある
� SparkバッチだけScalaで実装しているので言語学習コストがある
Analytics Innovation Company
©BrainPad Inc.
11
ウェブアプリ
クライアントサイドのフレームワークにVue.jsを導入
サーバーサイドのRest (風) API サーバーはPyramidで構築
� ドキュメントが充実
� 選べるライブラリの幅が広い
� チームによってそれぞれ別々のフレームワークを使っている
Analytics Innovation Company
©BrainPad Inc.
12
まとめ
● OSSやPaaSの標準的なツールを標準的に使っています
Analytics Innovation Company
©BrainPad Inc.
13
これだけだと味気ないので、最近の取り組みも少し紹介します
Analytics Innovation Company
©BrainPad Inc.
14
課題
● 増える機能
○ 複雑化する仕様
○ データの整合性の担保が困難
○ 他システムとの結合度も増加
● 増えるユーザー
○ 回りきらないバッチ処理
○ 分散処理まわりにボトルネックがあることはわかっているものの
開発の優先度もあってまともに調査・改善できていない
● 増える要望
○ データを握っているが故の需要が集まる
● 人数も増やせば解決?
○ そう簡単に増えない
○ 新人が覚えることは増えている
⇒ 基盤的な役割と機能開発の両立って大変かも💦
Analytics Innovation Company
©BrainPad Inc.
15
今後実現したいこと
● DWHは別システムとして新規に構築
○ 体制も含めそれぞれの責任を明確に
○ ユーザー分析機能以外への展開を容易に
● よりマネージドな構成
○ 運用負荷を低減
○ 開発の高速化
BigQuery
Cloud
Composer
Analytics Innovation Company
©BrainPad Inc.
16
まとめ+
● OSSやPaaSの標準的なツールを標準的に使っています
● プロダクトの成長やビジネスの変化に合わせたシステムの見直しも大事

More Related Content

What's hot

企業文化をサービスデザインスタイルに
企業文化をサービスデザインスタイルに企業文化をサービスデザインスタイルに
企業文化をサービスデザインスタイルに
Recruit Technologies
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
BrainPad Inc.
 
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
shakezo
 
Factor analysis for ml by padoc 6 r
Factor analysis for ml by padoc 6 rFactor analysis for ml by padoc 6 r
Factor analysis for ml by padoc 6 r
Masato Nakai
 
データサイエンス業務と「ツール」
データサイエンス業務と「ツール」データサイエンス業務と「ツール」
データサイエンス業務と「ツール」
The Japan DataScientist Society
 
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
BrainPad Inc.
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
Tokoroten Nakayama
 
Pepper+独自会話エンジン
Pepper+独自会話エンジンPepper+独自会話エンジン
Pepper+独自会話エンジン
Recruit Technologies
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズ
Recruit Technologies
 
Azure における強化学習への取り組み
Azure における強化学習への取り組みAzure における強化学習への取り組み
Azure における強化学習への取り組み
Keita Onabuta
 
分析手法のご紹介
分析手法のご紹介分析手法のご紹介
分析手法のご紹介
Recruit Technologies
 
リクルート式サービス開発 カスタマーの本音×人工知能
リクルート式サービス開発 カスタマーの本音×人工知能リクルート式サービス開発 カスタマーの本音×人工知能
リクルート式サービス開発 カスタマーの本音×人工知能
Recruit Technologies
 
メルペイの与信モデリングにおける特徴量の品質向上の施策
メルペイの与信モデリングにおける特徴量の品質向上の施策メルペイの与信モデリングにおける特徴量の品質向上の施策
メルペイの与信モデリングにおける特徴量の品質向上の施策
Mai Nakagawa
 
データ定義情報の管理とWebによる公開
データ定義情報の管理とWebによる公開データ定義情報の管理とWebによる公開
データ定義情報の管理とWebによる公開
Recruit Technologies
 
[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~
[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~
[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~
Deep Learning Lab(ディープラーニング・ラボ)
 
カスタマーサクセスのためのデータ整備人の活動記録
カスタマーサクセスのためのデータ整備人の活動記録カスタマーサクセスのためのデータ整備人の活動記録
カスタマーサクセスのためのデータ整備人の活動記録
syou6162
 
Icon2015開会宣言 imj竹内 加藤
Icon2015開会宣言 imj竹内 加藤Icon2015開会宣言 imj竹内 加藤
Icon2015開会宣言 imj竹内 加藤
IMJ Corporation
 
[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介
Deep Learning Lab(ディープラーニング・ラボ)
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
Recruit Technologies
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術
Recruit Technologies
 

What's hot (20)

企業文化をサービスデザインスタイルに
企業文化をサービスデザインスタイルに企業文化をサービスデザインスタイルに
企業文化をサービスデザインスタイルに
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
 
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
 
Factor analysis for ml by padoc 6 r
Factor analysis for ml by padoc 6 rFactor analysis for ml by padoc 6 r
Factor analysis for ml by padoc 6 r
 
データサイエンス業務と「ツール」
データサイエンス業務と「ツール」データサイエンス業務と「ツール」
データサイエンス業務と「ツール」
 
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
 
Pepper+独自会話エンジン
Pepper+独自会話エンジンPepper+独自会話エンジン
Pepper+独自会話エンジン
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズ
 
Azure における強化学習への取り組み
Azure における強化学習への取り組みAzure における強化学習への取り組み
Azure における強化学習への取り組み
 
分析手法のご紹介
分析手法のご紹介分析手法のご紹介
分析手法のご紹介
 
リクルート式サービス開発 カスタマーの本音×人工知能
リクルート式サービス開発 カスタマーの本音×人工知能リクルート式サービス開発 カスタマーの本音×人工知能
リクルート式サービス開発 カスタマーの本音×人工知能
 
メルペイの与信モデリングにおける特徴量の品質向上の施策
メルペイの与信モデリングにおける特徴量の品質向上の施策メルペイの与信モデリングにおける特徴量の品質向上の施策
メルペイの与信モデリングにおける特徴量の品質向上の施策
 
データ定義情報の管理とWebによる公開
データ定義情報の管理とWebによる公開データ定義情報の管理とWebによる公開
データ定義情報の管理とWebによる公開
 
[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~
[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~
[Track4-5] CDLEへの招待~CDLEハッカソンが、自分の人生のターニングポイントになった話~
 
カスタマーサクセスのためのデータ整備人の活動記録
カスタマーサクセスのためのデータ整備人の活動記録カスタマーサクセスのためのデータ整備人の活動記録
カスタマーサクセスのためのデータ整備人の活動記録
 
Icon2015開会宣言 imj竹内 加藤
Icon2015開会宣言 imj竹内 加藤Icon2015開会宣言 imj竹内 加藤
Icon2015開会宣言 imj竹内 加藤
 
[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術
 

Similar to DMPの分析機能を実現する技術

【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから
【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから
【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから
Developers Summit
 
Big Data Analytics Tokyo講演資料
Big Data Analytics Tokyo講演資料Big Data Analytics Tokyo講演資料
Big Data Analytics Tokyo講演資料
BrainPad Inc.
 
NPSとHCDを組み合わせた顧客体験分析の取り組み
NPSとHCDを組み合わせた顧客体験分析の取り組みNPSとHCDを組み合わせた顧客体験分析の取り組み
NPSとHCDを組み合わせた顧客体験分析の取り組み
IMJ Corporation
 
SDGC2018報告「ネットビジネスとサービスデザイン」
SDGC2018報告「ネットビジネスとサービスデザイン」SDGC2018報告「ネットビジネスとサービスデザイン」
SDGC2018報告「ネットビジネスとサービスデザイン」
Nozomu Tannaka
 
SDGC2018 redux Tannaka
SDGC2018 redux TannakaSDGC2018 redux Tannaka
SDGC2018 redux Tannaka
Service Design Network Japan Chapter
 
非エンジニアのためのIt業界
非エンジニアのためのIt業界非エンジニアのためのIt業界
非エンジニアのためのIt業界Hideto Masuoka
 
Developpers Summit2015 Autumn 講演資料
Developpers Summit2015 Autumn 講演資料Developpers Summit2015 Autumn 講演資料
Developpers Summit2015 Autumn 講演資料
BrainPad Inc.
 
成長期のスタートアップにおけるチーム開発の罠
成長期のスタートアップにおけるチーム開発の罠成長期のスタートアップにおけるチーム開発の罠
成長期のスタートアップにおけるチーム開発の罠
Chihiro Asano
 
【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?
【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?
【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?
IMJ Corporation
 
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
Kazuya Sugimoto
 
JPC2016: PUP-01 知って得する MPN 最新情報
JPC2016: PUP-01 知って得する MPN 最新情報JPC2016: PUP-01 知って得する MPN 最新情報
JPC2016: PUP-01 知って得する MPN 最新情報
MPN Japan
 
Amazon dsp x IM-DMP
Amazon dsp x IM-DMPAmazon dsp x IM-DMP
Amazon dsp x IM-DMP
ssusercf60b9
 
Happiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβHappiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβ
Smart Innovation | IMJ
 
データサイエンスの現場で役立つスキルを磨きやすい職場環境
データサイエンスの現場で役立つスキルを磨きやすい職場環境データサイエンスの現場で役立つスキルを磨きやすい職場環境
データサイエンスの現場で役立つスキルを磨きやすい職場環境
Masatoshi Abe
 
『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について
Masahiko Ebisuda
 
杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2
junji kumooka
 
データドリブンセッション2_IMJ山本
データドリブンセッション2_IMJ山本データドリブンセッション2_IMJ山本
データドリブンセッション2_IMJ山本
IMJ Corporation
 
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
GIG inc.
 
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Kazuya Sugimoto
 
日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返り日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返りYuichi Morito
 

Similar to DMPの分析機能を実現する技術 (20)

【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから
【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから
【デブサミ秋S3】エンジニア目線で見たデジタルマーケティング業界のこれまでとこれから
 
Big Data Analytics Tokyo講演資料
Big Data Analytics Tokyo講演資料Big Data Analytics Tokyo講演資料
Big Data Analytics Tokyo講演資料
 
NPSとHCDを組み合わせた顧客体験分析の取り組み
NPSとHCDを組み合わせた顧客体験分析の取り組みNPSとHCDを組み合わせた顧客体験分析の取り組み
NPSとHCDを組み合わせた顧客体験分析の取り組み
 
SDGC2018報告「ネットビジネスとサービスデザイン」
SDGC2018報告「ネットビジネスとサービスデザイン」SDGC2018報告「ネットビジネスとサービスデザイン」
SDGC2018報告「ネットビジネスとサービスデザイン」
 
SDGC2018 redux Tannaka
SDGC2018 redux TannakaSDGC2018 redux Tannaka
SDGC2018 redux Tannaka
 
非エンジニアのためのIt業界
非エンジニアのためのIt業界非エンジニアのためのIt業界
非エンジニアのためのIt業界
 
Developpers Summit2015 Autumn 講演資料
Developpers Summit2015 Autumn 講演資料Developpers Summit2015 Autumn 講演資料
Developpers Summit2015 Autumn 講演資料
 
成長期のスタートアップにおけるチーム開発の罠
成長期のスタートアップにおけるチーム開発の罠成長期のスタートアップにおけるチーム開発の罠
成長期のスタートアップにおけるチーム開発の罠
 
【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?
【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?
【IMJ】失敗するデジタルマーケティング戦略、その原因&成功のカギとは?
 
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
 
JPC2016: PUP-01 知って得する MPN 最新情報
JPC2016: PUP-01 知って得する MPN 最新情報JPC2016: PUP-01 知って得する MPN 最新情報
JPC2016: PUP-01 知って得する MPN 最新情報
 
Amazon dsp x IM-DMP
Amazon dsp x IM-DMPAmazon dsp x IM-DMP
Amazon dsp x IM-DMP
 
Happiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβHappiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβ
 
データサイエンスの現場で役立つスキルを磨きやすい職場環境
データサイエンスの現場で役立つスキルを磨きやすい職場環境データサイエンスの現場で役立つスキルを磨きやすい職場環境
データサイエンスの現場で役立つスキルを磨きやすい職場環境
 
『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について
 
杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2
 
データドリブンセッション2_IMJ山本
データドリブンセッション2_IMJ山本データドリブンセッション2_IMJ山本
データドリブンセッション2_IMJ山本
 
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
 
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
 
日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返り日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返り
 

More from BrainPad Inc.

Oss LT会_20210203
Oss LT会_20210203Oss LT会_20210203
Oss LT会_20210203
BrainPad Inc.
 
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト
BrainPad Inc.
 
機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介
BrainPad Inc.
 
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシシステム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
BrainPad Inc.
 
Python研修の作り方 - teaching-is_learning-
Python研修の作り方 - teaching-is_learning-Python研修の作り方 - teaching-is_learning-
Python研修の作り方 - teaching-is_learning-
BrainPad Inc.
 
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
BrainPad Inc.
 
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
GKEとgRPCで実装する多言語対応・スケーラブルな内部APIGKEとgRPCで実装する多言語対応・スケーラブルな内部API
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
BrainPad Inc.
 
実証実験報告セミナー資料 20180328(抜粋版)
実証実験報告セミナー資料 20180328(抜粋版)実証実験報告セミナー資料 20180328(抜粋版)
実証実験報告セミナー資料 20180328(抜粋版)
BrainPad Inc.
 
エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_③Rtoasterの11年エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_③Rtoasterの11年
BrainPad Inc.
 
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
BrainPad Inc.
 
DeltaCubeにおけるユニークユーザー集計高速化(理論編)
DeltaCubeにおけるユニークユーザー集計高速化(理論編)DeltaCubeにおけるユニークユーザー集計高速化(理論編)
DeltaCubeにおけるユニークユーザー集計高速化(理論編)
BrainPad Inc.
 
Python twitter data_150709
Python twitter data_150709Python twitter data_150709
Python twitter data_150709
BrainPad Inc.
 
Sparkストリーミング検証
Sparkストリーミング検証Sparkストリーミング検証
Sparkストリーミング検証
BrainPad Inc.
 
Sparkパフォーマンス検証
Sparkパフォーマンス検証Sparkパフォーマンス検証
Sparkパフォーマンス検証
BrainPad Inc.
 
Apache Sparkについて
Apache SparkについてApache Sparkについて
Apache Sparkについて
BrainPad Inc.
 
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
BrainPad Inc.
 

More from BrainPad Inc. (16)

Oss LT会_20210203
Oss LT会_20210203Oss LT会_20210203
Oss LT会_20210203
 
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト
 
機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介
 
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシシステム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
 
Python研修の作り方 - teaching-is_learning-
Python研修の作り方 - teaching-is_learning-Python研修の作り方 - teaching-is_learning-
Python研修の作り方 - teaching-is_learning-
 
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
 
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
GKEとgRPCで実装する多言語対応・スケーラブルな内部APIGKEとgRPCで実装する多言語対応・スケーラブルな内部API
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
 
実証実験報告セミナー資料 20180328(抜粋版)
実証実験報告セミナー資料 20180328(抜粋版)実証実験報告セミナー資料 20180328(抜粋版)
実証実験報告セミナー資料 20180328(抜粋版)
 
エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_③Rtoasterの11年エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_③Rtoasterの11年
 
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
 
DeltaCubeにおけるユニークユーザー集計高速化(理論編)
DeltaCubeにおけるユニークユーザー集計高速化(理論編)DeltaCubeにおけるユニークユーザー集計高速化(理論編)
DeltaCubeにおけるユニークユーザー集計高速化(理論編)
 
Python twitter data_150709
Python twitter data_150709Python twitter data_150709
Python twitter data_150709
 
Sparkストリーミング検証
Sparkストリーミング検証Sparkストリーミング検証
Sparkストリーミング検証
 
Sparkパフォーマンス検証
Sparkパフォーマンス検証Sparkパフォーマンス検証
Sparkパフォーマンス検証
 
Apache Sparkについて
Apache SparkについてApache Sparkについて
Apache Sparkについて
 
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
 

Recently uploaded

02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
QlikPresalesJapan
 
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
QlikPresalesJapan
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
QlikPresalesJapan
 
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
QlikPresalesJapan
 
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
hfujii2
 
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
QlikPresalesJapan
 

Recently uploaded (6)

02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
 
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
 
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
 
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
 
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
 

DMPの分析機能を実現する技術

  • 2. Analytics Innovation Company ©BrainPad Inc. 2 自己紹介 ● 名前:下村環太朗 ● 所属:マーケティングプラットフォーム本部・開発部 ○ 自社サービス開発の部署 ○ プライベートDMP Rtoasterの開発を担当 ● Pairsプロフ: ○ 年齢:30歳 ○ 居住地:日本 東京 ○ 身長:170cm ○ 職種:WEB業界 ○ 体型:やや細め ○ タバコ:吸わない
  • 3. Analytics Innovation Company ©BrainPad Inc. 3 DMP (Data Management Platform) ● マーケティングツールの一種 ● ユーザーが所有するデータを活用するための様々な機能を持つ
  • 4. Analytics Innovation Company ©BrainPad Inc. 4 Rtoaster開発体制 ● エンジニアは全体で20名程度 ○ 機能ごとにもう少し小さいチームに分かれる ○ 今日お話しする分析機能の開発チームは3~4名(多い方)
  • 5. Analytics Innovation Company ©BrainPad Inc. 5 ユーザー分析機能 ● ウェブサイト・アプリの行動ログや顧客属性の集計・可視化機能 ○ GUI上での探索的な分析 ○ 機械学習を使って自動でセグメンテーション ○ レコメンド配信システムやDSPにセグメントを連携
  • 6. Analytics Innovation Company ©BrainPad Inc. 6 開発・運用している要素 ● DWH ○ 様々なデータを集約・統合 ○ テーブルは最大で数十億行の規模 ● 大規模データ処理 ○ ETL処理 ○ 機械学習などDWHだけではできない処理 ● スケジューリング ○ 依存関係のある数千/日のバッチ実行 ● 集計 ○ 分析条件にあわせて適切なクエリを生成してDWHに投げる ● 管理画面 ○ 普通のシングルページアプリケーション ○ (UIや可視化部分はデザイナーが担当) ● 他システムとのつなぎこみ ○ 見かけ上の管理画面は共通 ○ 裏は完全に別なので同期用のAPIを生やしている ● etc...
  • 7. Analytics Innovation Company ©BrainPad Inc. 7 現在の構成 ※一部簡略化しています 行動ログ収集 レコメンド配信 外部連携 Rtoaster ユーザー
  • 8. Analytics Innovation Company ©BrainPad Inc. 8 現在の構成 ※一部簡略化しています 分散処理クラスタバッチ実行基盤 ウェブアプリ 行動ログ収集 レコメンド配信 外部連携 Rtoaster ユーザー
  • 9. Analytics Innovation Company ©BrainPad Inc. 9 バッチ実行基盤 ジョブワークフローエンジンとしてAirflowを採用 � ワーカーを増やすだけでスケールする � 柔軟なワークフローを構築できる � 管理画面が便利 � 環境構築に一手間かかる � タスクが多すぎると動作が不安定に
  • 10. Analytics Innovation Company ©BrainPad Inc. 10 分散処理クラスタ Amazon EMR上にPresto (+Spark thrift server) でDWHを構築 Sparkバッチの実行環境としても利用 � ノードを増やすだけでスケールする � 環境構築が簡単 � ストレージとメタデータをクエリエンジンを分離 � リソース管理はHadoop (Yarn) やPrestoにおまかせ � 基本的にはマネージドといえどシステム構成は複雑 � 手動で各種パラメータの調整が必要な場合もある � SparkバッチだけScalaで実装しているので言語学習コストがある
  • 11. Analytics Innovation Company ©BrainPad Inc. 11 ウェブアプリ クライアントサイドのフレームワークにVue.jsを導入 サーバーサイドのRest (風) API サーバーはPyramidで構築 � ドキュメントが充実 � 選べるライブラリの幅が広い � チームによってそれぞれ別々のフレームワークを使っている
  • 12. Analytics Innovation Company ©BrainPad Inc. 12 まとめ ● OSSやPaaSの標準的なツールを標準的に使っています
  • 13. Analytics Innovation Company ©BrainPad Inc. 13 これだけだと味気ないので、最近の取り組みも少し紹介します
  • 14. Analytics Innovation Company ©BrainPad Inc. 14 課題 ● 増える機能 ○ 複雑化する仕様 ○ データの整合性の担保が困難 ○ 他システムとの結合度も増加 ● 増えるユーザー ○ 回りきらないバッチ処理 ○ 分散処理まわりにボトルネックがあることはわかっているものの 開発の優先度もあってまともに調査・改善できていない ● 増える要望 ○ データを握っているが故の需要が集まる ● 人数も増やせば解決? ○ そう簡単に増えない ○ 新人が覚えることは増えている ⇒ 基盤的な役割と機能開発の両立って大変かも💦
  • 15. Analytics Innovation Company ©BrainPad Inc. 15 今後実現したいこと ● DWHは別システムとして新規に構築 ○ 体制も含めそれぞれの責任を明確に ○ ユーザー分析機能以外への展開を容易に ● よりマネージドな構成 ○ 運用負荷を低減 ○ 開発の高速化 BigQuery Cloud Composer
  • 16. Analytics Innovation Company ©BrainPad Inc. 16 まとめ+ ● OSSやPaaSの標準的なツールを標準的に使っています ● プロダクトの成長やビジネスの変化に合わせたシステムの見直しも大事