Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PadSummit#2_BrainPad_LT_20230427
Search
BrainPad
April 28, 2023
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PadSummit#2_BrainPad_LT_20230427
BrainPad
April 28, 2023
More Decks by BrainPad
See All by BrainPad
白金鉱業Meetup Vol.25 【初学者向け発表枠】「で、この施策って効いてるの」に答える効果検証の基礎 ~ATE / ATT / CATE / LATEを現場の問いに翻訳する~
brainpadpr
0
210
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
250
オペレーションズ・リサーチ学会「2026年秋季研究発表会」キャリアセッション発表資料 /Operations Research Society of Japan Career Session 2026f
brainpadpr
0
34
20260820_アウトカムが二値のデータに対するCausal Impact@LINEヤフー Data Science Share #2 / Causal Impact for Binary Outcomes
brainpadpr
3
1.4k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
2
700
「ビジネス現場でのデータ分析者」 東京大学 GCI 2026 Summer
brainpadpr
3
2.6k
BrainPad_DE_202604
brainpadpr
1
15k
BrainPad AAA_AIエージェントの社会実装する上での壁 / Barriers to the Social Implementation of AI Agents
brainpadpr
1
370
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
3
500
Other Decks in Technology
See All in Technology
品質と信頼性を地続きにする
grimoh
2
800
AI時代、データエンジニアが一番おもろい
genshun9
0
670
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
170
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
180
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
110
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
430
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
440
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
29
16k
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.4k
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
130
The Knowledge Spine: A Machine-Executable Ontology for Governed Marketing Activation
vananth22
0
110
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
550
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
BBQ
matthewcrist
89
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Google's AI Overviews - The New Search
badams
0
1.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Test your architecture with Archunit
thirion
2
2.4k
Amusing Abliteration
ianozsvald
1
310
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
Transcript
株式会社ブレインパッド 2023年04月27日 Customer Data Platformの新規開発と そのグロースを目指して
©BrainPad Inc. Strictly Confidential 自己紹介 2 新谷 大樹(しんたに だいき) プロダクトビジネス本部
開発部 エンジニア 2019年にブレインパッドに参画。 推薦エンジンの開発・顧客提供を経て、 2021年から新規プロダクト『Rtoaster insight+』の開発に従事。 趣味はジグソーパズルとカラオケ。
©BrainPad Inc. Strictly Confidential 会社紹介 3 ブレインパッドについて MISSON データ活用の促進を通じて、持続可能な未来をつくる 会社名
株式会社ブレインパッド 設立 2004年3月18日 市場区分 プライム市場上場(証券コード:3655) 従業員数 533名(2022年12月31日現在) 加盟団体 一般社団法人データサイエンティスト協会 一般社団法人日本ディープラーニング協会 変革を目指す企業と 共に最前線を走り続ける、 データ活用推進パートナーのパイオニア データ活用推進を支える2つの事業 プロフェッショナルサービス データ活用のプロフェッショナルがアナリ ティクス/エンジニアのスキルを駆使し、 最適なデータ活用を実装します。 プロダクトサービス 実用的なSaaSで、データ活用を日 常化する可視化や効率化、データに よる意思決定を支援します。
©BrainPad Inc. Strictly Confidential プロダクト紹介 4 マーケティング活動の効率化のための、toB向けプラットフォーム
©BrainPad Inc. Strictly Confidential 新規プロダクト開発の背景 5 • 元々、顧客のweb上の行動履歴を分析するためのプロダクトがあった • 課題
◦ データの分析のみで終わってしまい、マーケティング施策に繋がらなかった ◦ 実店舗のオフラインデータなど 顧客のもつデータを統合的に扱うニーズに対応できなかった • 既存のプロダクトの追加開発ではなく、新プロダクトとして開発することになった
©BrainPad Inc. Strictly Confidential 要件定義 6 • 抽象度の高いプロダクトのため苦労したが、様々な関係者を巻き込んで ターゲットユーザーやユースケースを決めた ◦
開発部以外の、実際にCDPを活用している部署からの聞き取り • 話し合ったユースケースなどをもとに、プロダクトマネージャー・デザイナー・エンジニアが密にコミュニケーションを とりながら、必要な機能を決めていった
©BrainPad Inc. Strictly Confidential システムの要件 7 • 顧客が保有するデータを統合的に管理する ◦ 様々な場所に散らばっている顧客データの取り込み
▪ データレイク ▪ データウェアハウス ▪ 弊社の他プロダクト • 集めたデータをマーケティング施策のために整形・分析できる ◦ 大規模データに耐えうる設計が求められる
©BrainPad Inc. Strictly Confidential • 最小限の実装で目的を達成する ◦ なるべくクラウドサービスの機能を用いる • 顧客数や扱うデータ量の増加に備える
• 新規開発のため速度は求められつつも、品質は落とさない ◦ 静的解析ツール ◦ スキーマ駆動 技術選定の際に考慮したこと 8
©BrainPad Inc. Strictly Confidential • 顧客データの取り込み・加工・出力処理(以下ETL)を 非同期 & 並列可能にする ◦
顧客数が増加してもスケールするようにする • 分析機能はBigQueryで実現する システム構成 9 施策のためのプロダクト 顧客管理のデータ ETL処理 データ分析 セグメント作成 非同期
©BrainPad Inc. Strictly Confidential • 型の恩恵を受けるためTypeScriptを採用 • アトミックデザインを採用 ◦ 再利用性や統一性を高める
◦ organismsが増えがちなので、機能単位でまとめる • 状態管理にVuexを採用 ◦ 無法地帯にならないよう コンポーネントからのアクセスにルールを設ける ▪ 粒度の小さいコンポーネントからVuexを参照しない 技術選定〜フロントエンド〜 10 components/ ├ atoms/ ├ molecules/ ├ organisms/ ├ jobs/ ├ jobList.vue ├ … ├ segments/ ├ segmentModal.vue ├ … ├ …
©BrainPad Inc. Strictly Confidential • Python + mypyでの静的型チェックを導入 • クリーンアーキテクチャを採用
◦ モジュール間の依存関係にルールを定める ◦ テスト時の対象DBの切り替えなど インフラ層の取り替えが容易 • フロントエンドから受け取る値のバリデーションに marshmallowを採用 技術選定〜バックエンド〜 11
©BrainPad Inc. Strictly Confidential • バックエンドのmarshmallowで指定するスキーマと フロントエンドからAPIに送るデータのスキーマを 手軽に揃えたい • marshmallowのスキーマ定義から
対応するTypeScriptの型を生成するツールを開発 ◦ スキーマ駆動による、バックエンドと フロントエンドの同時開発が可能に インターフェースの工夫 12
©BrainPad Inc. Strictly Confidential • 各種ETL処理を、顧客が定義した前後関係で実行するための機能 • ワークフローエンジン Digdag を利用
◦ 静的なワークフローでの利用が一般的だが Rtoaster insight+では顧客の定義に従った、動的なワークフローの実現のために利用 機能紹介〜ワークフロー〜 13
©BrainPad Inc. Strictly Confidential • 管理画面上で顧客が設定したジョブの前後関係は、 有向非巡回グラフ(DAG)として表現される • DAGをトポロジカルソートして、 Digdagの動作を規定するdig.yamlを作成する
機能紹介〜ワークフロー〜 timezone: Asia/Tokyo +group_0: _parallel: limit: 5 +job_1: sh>: {ジョブ1を実行するスクリプト} +job_2: sh>: {ジョブ2を実行するスクリプト} +job_3: sh>: {ジョブ3を実行するスクリプト} +success: sh>: {成功時の処理}
©BrainPad Inc. Strictly Confidential • データの準備からマーケティング施策までに必要な設定を、できるだけ減らしたい ◦ 決められたフォーマットのデータを用意するだけで、 マーケティング施策までに必要な設定が簡単にできるようにする •
立ち上げ時期から時間が経ったので、技術的な負債にも対処していきたい ◦ バックエンドアーキテクチャの意味でのドメイン再考 ◦ 機能が増え、複雑になりつつある権限管理の再考 今後の展望 15
©BrainPad Inc. Strictly Confidential 新規プロダクト開発に携わって思ったこと 16 • ゼロからプロダクトを作り上げていく事は、苦労も多いがやはり楽しい ◦ 要件定義フェーズ
▪ 要件定義は手探りで、様々な関係者と話してやっとまとまった ▪ 新しいビジネスへの挑戦はモチベーションになる ◦ 設計・開発フェーズ ▪ 開発者にそれなりの視野の広さ、深さが求められる ▪ 目的達成のために一番ふさわしい解決策を、技術的負債に囚われずに選べる
©BrainPad Inc. Strictly Confidential まとめ 17 • 新規プロダクト開発の背景と技術選定 ◦ スピードを考えつつも、品質は落とさない
▪ 静的解析 ▪ スキーマ駆動 • 新規プロダクト開発に携わって思ったこと ◦ ゼロからプロダクトを作り上げていく事は、苦労も多いがやっぱり楽しい ▪ 新しいビジネスへのチャレンジ ▪ 技術的負債に囚われない
株式会社ブレインパッド 〒106-0032 東京都港区六本木三丁目1番1号 六本木ティーキューブ TEL:03-6721-7002 FAX:03-6721-7010 www.brainpad.co.jp
[email protected]
本資料は、未刊行文書として日本及び各国の著作権法に基づき保護されております。本資料には、株式会社ブレインパッド所有の特定情報が含まれており、これら情報 に基づく本資料の内容は、御社以外の第三者に開示されること、また、本資料を評価する以外の目的で、その一部または全文を複製、使用、公開することは、禁止され
ています。また、株式会社ブレインパッドによる書面での許可なく、それら情報の一部または全文を使用または公開することは、いかなる場合も禁じられております。