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
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.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
600
「ビジネス現場でのデータ分析者」 東京大学 GCI 2026 Summer
brainpadpr
3
2.4k
BrainPad_DE_202604
brainpadpr
1
14k
BrainPad AAA_AIエージェントの社会実装する上での壁 / Barriers to the Social Implementation of AI Agents
brainpadpr
1
320
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
3
460
DTD_AIエージェント開発プロジェクトのメソッドを体系化してみる
brainpadpr
1
410
DTD_Databricksことはじめ
brainpadpr
0
350
【採用候補者向け】BrainPad AAAご紹介資料
brainpadpr
0
2.6k
DTD_はじめての因子分析_理論とビジネス活用.pdf
brainpadpr
2
2.7k
Other Decks in Technology
See All in Technology
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
130
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
280
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
1
240
自宅NWにISR4331を導入してみた話
okaits
0
110
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
220
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.6k
Genie Codeハンズオン基礎編
taka_aki
1
130
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
120
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
6k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
770
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Making the Leap to Tech Lead
cromwellryan
135
10k
How to train your dragon (web standard)
notwaldorf
97
6.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
710
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
210
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
490
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]
本資料は、未刊行文書として日本及び各国の著作権法に基づき保護されております。本資料には、株式会社ブレインパッド所有の特定情報が含まれており、これら情報 に基づく本資料の内容は、御社以外の第三者に開示されること、また、本資料を評価する以外の目的で、その一部または全文を複製、使用、公開することは、禁止され
ています。また、株式会社ブレインパッドによる書面での許可なく、それら情報の一部または全文を使用または公開することは、いかなる場合も禁じられております。