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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
150
白金鉱業Meetup Vol.25 【初学者向け発表枠】「で、この施策って効いてるの」に答える効果検証の基礎 ~ATE / ATT / CATE / LATEを現場の問いに翻訳する~
brainpadpr
1
360
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
370
オペレーションズ・リサーチ学会「2026年秋季研究発表会」キャリアセッション発表資料 /Operations Research Society of Japan Career Session 2026f
brainpadpr
0
100
20260820_アウトカムが二値のデータに対するCausal Impact@LINEヤフー Data Science Share #2 / Causal Impact for Binary Outcomes
brainpadpr
3
1.5k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
2
730
「ビジネス現場でのデータ分析者」 東京大学 GCI 2026 Summer
brainpadpr
3
2.7k
BrainPad_DE_202604
brainpadpr
1
15k
BrainPad AAA_AIエージェントの社会実装する上での壁 / Barriers to the Social Implementation of AI Agents
brainpadpr
1
390
Other Decks in Technology
See All in Technology
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
Running Kotlin + Quarkus with Lambda
nealle
1
3.7k
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
230
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
Getting Started with Google Antigravity
glaforge
0
310
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
大型犬好きによるPugの紹介
yamanoku
1
160
Kiro Crewをはじめよう
kizawa2020
1
160
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Tell your own story through comics
letsgokoyo
1
1.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Test your architecture with Archunit
thirion
2
2.4k
Paper Plane
katiecoart
PRO
5
54k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
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]
本資料は、未刊行文書として日本及び各国の著作権法に基づき保護されております。本資料には、株式会社ブレインパッド所有の特定情報が含まれており、これら情報 に基づく本資料の内容は、御社以外の第三者に開示されること、また、本資料を評価する以外の目的で、その一部または全文を複製、使用、公開することは、禁止され
ています。また、株式会社ブレインパッドによる書面での許可なく、それら情報の一部または全文を使用または公開することは、いかなる場合も禁じられております。