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
Scalable Customer Journey Orchestration (CJO)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kai Sasaki
April 24, 2024
Programming
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scalable Customer Journey Orchestration (CJO)
Kai Sasaki
April 24, 2024
More Decks by Kai Sasaki
See All by Kai Sasaki
価値を生み出す CDPを支える データ基盤開発
lewuathe
0
140
Other Decks in Programming
See All in Programming
Heart of Swift Concurrency
koher
0
930
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
540
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.6k
iOSDC2026登壇資料.pdf
riofujimon
0
170
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
180
すこし踏み込む CancellationToken
htkym
2
650
JRuby: Past, Present, and Future
headius
0
160
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
360
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
220
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Code Review Best Practice
trishagee
74
20k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Un-Boring Meetings
codingconduct
0
420
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Exploring anti-patterns in Rails
aemeredith
4
510
Faster Mobile Websites
deanohume
310
32k
Six Lessons from altMBA
skipperchong
29
4.5k
Transcript
April 24th, 2024 Scalable Customer Journey Orchestration (CJO) Kai Sasaki
(Applications)
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 自己紹介 •
佐々木海 (ささきかい) • 2015年トレジャーデータ入社 • Hadoop, Prestoなど大規模データのための 分散システムの開発 • 現在はCDPを使ったデジタルマーケティング のためのアプリケーション開発に従事 2
© 2022 Treasure Data, Inc. Confidential—Internal Use Only トピック •
Customer Journey Orchestration (CJO)とは • CDPアプリに求められるスケーラビリティ • ソリューション • SQLを使った関係代数演算 • 集約演算を用いた状態遷移 • サンプリングベースの一貫性チェック • まとめ 3
カスタマージャーニー オーケストレーション (CJO)とは Customer Journey Orchestration
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
5
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
6
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
7 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
8 stage step goal exit criteria entry criteria Profile
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
9 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
10 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
11 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
12 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
13 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
14 stage step goal exit criteria entry criteria
© 2022 Treasure Data, Inc. Confidential—Internal Use Only Journey Builder
15 stage step goal exit criteria entry criteria
求められる スケーラビリティと 技術的選択肢 Technical Options
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 選択肢 1
: Relational Database 17 1 2 3 4 5 7 6 8 customer_id position e00f1d60 1 e408be80 5 e8572200 3
© 2022 Treasure Data, Inc. Confidential—Internal Use Only BtoB vs
BtoC 18
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 選択肢 2
: NoSQL (e.g. KVS) 19 e00f1d60 1 e408be80 4 e8572200 3 1 2 3 4 5 7 6 8
© 2022 Treasure Data, Inc. Confidential—Internal Use Only デジタルマーケターの望むもの 20
ペルソナ ターゲット
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 選択肢 3:
OLAP Database (Plazma) 1 2 3 4 5 7 6 8 customer_id time_1 time_2 time_3 e00f1d60 1213421 1413311 1413432 e408be80 1213421 1723421 NULL e8572200 1113421 NULL NULL
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 各選択肢の比較 RDMS
KVS OLAP (Plazma) 一貫性 ⭕ (部分的) ❌ ❌ リアルタイム性 ⭕ ⭕ ❌ スループット ❌ ❌ ⭕
© 2022 Treasure Data, Inc. Confidential—Internal Use Only ユースケースとの対応 RDMS
KVS OLAP (Plazma) 一貫性 ⭕ (部分的) ❌ ❌ リアルタイム性 ⭕ ⭕ ❌ スループット ❌ ❌ ⭕ RDMS KVS OLAP (Plazma) ユースケースの拡張 ⭕ ❌ ❌ 即時コミュニケーション ⭕ ⭕ ❌ 大規模データ ❌ ❌ ⭕
ソリューション How CJO works under the hood
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算 INTERSECT
(積集合) UNION (和集合) EXCEPT (差集合)
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
Goal Goal
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
Goal Goal Stage 1
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
Goal Goal Stage 1 Stage 2
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
Goal Goal Stage 1 Stage 2 Stage 3
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
Goal Goal Stage 1 Stage 2 Stage 3 exit exit
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Audience
Goal Goal Stage 1 Stage 2 Stage 3 exit exit exit exit
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Stage
1 Stage 2 Stage 3 exit exit Step 1
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Stage
1 Stage 2 Stage 3 exit exit Step 2 Step 1
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Stage
1 Stage 2 Stage 3 exit exit Step 3 Step 1 Step 2
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集合演算を使った状態遷移 Stage
1 Stage 2 Stage 3 exit exit Step 3 Step 1 Step 2 Step 4 Step 5
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 疎なテーブル Goal
Stage 1 Stage 2 Stage 3 exit exit exit exit customer_id stage1 stage1_exit_1 stage1_exit_2 stage2 … 1 t1 t1 NULL NULL 2 t1 t1 NULL NULL 3 t1 NULL NULL t2
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 疎なテーブル custom
er_id stage1 stage1_exit_1 stage1_step_1 stage_1_step_2 stage_1_step3 stage_1_step4 stage_1_step_5 … a t1 t1 a t1 t1 a t1 t1 a t1 a t1 t1 一時テーブルへの追加(append)で計算を続ける
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 集約演算を使った更新 Goal
Stage 1 Stage 2 Stage 3 exit exit exit exit SELECT min(...) FROM … GROUP BY customer_id
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 一貫性チェック Aggregation
GROUP BY customer_id SELECT COUNT(invalid) FROM journey_1 TABLESAMPLE BERNOULLI (50) WHERE <Invalid Condition>
© 2022 Treasure Data, Inc. Confidential—Internal Use Only リネームによる一括更新 Old
Journey State Table New Journey State Table
© 2022 Treasure Data, Inc. Confidential—Internal Use Only CJOを支えるスケーラビリティ -
集合演算を使った状態計算 - SQLで計算できる条件が利用可能 - SELECT, INSERTベースで計算できる - とり得る状態を全て含めた疎な状態管理 - 集約関数で更新可能 - 過去の履歴を含むのでOLAPデータベースの特性を生かした分析が可能 - 効率的な一貫性チェック - アプリケーションが要求する一貫性を担保 - サンプルテーブルを使うことで計算量を抑える
© 2022 Treasure Data, Inc. Confidential—Internal Use Only 43 Thank
you