Slide 1

Slide 1 text

TREASUREDATA.CO.JP CDPを⽀える データ基盤開発 佐々⽊海 (Kai Sasaki) Principal Software Engineer

Slide 2

Slide 2 text

TREASUREDATA.CO.JP 価値を⽣み出す CDPを⽀える データ基盤開発 佐々⽊海 (Kai Sasaki) Principal Software Engineer

Slide 3

Slide 3 text

AGENDA Treasure Data, Inc. Confidential ▪ 佐々⽊海 (Kai Sasaki) ▪ Treasure Data ▪ Software Engineer ▪ CDPの開発をしています ▪ https://github.com/Lewuathe

Slide 4

Slide 4 text

AGENDA Treasure Data, Inc. Confidential ▪ 価値を⽣み出すデータ基盤 ▪ CDPとは ▪ CDPのデータモデリング ▪ CDPアプリケーション Segment & Activation Customer Journey Orchestration (CJO) Audience Agent

Slide 5

Slide 5 text

Treasure Data, Inc. Confidential データ基盤が価値を⽣み出すための条件

Slide 6

Slide 6 text

Treasure Data, Inc. Confidential データ基盤が価値を⽣み出すまでの道のり - データを集める - データがある データ基盤の価値 - アクセスできる - 認証、認可 - 分析できる - アプリが動く 低 データ基盤 の価値 中 ⾼ 最⾼! - アプリが⾃由に 作れる! データ基盤の価値

Slide 7

Slide 7 text

Treasure Data, Inc. Confidential データ基盤が価値を⽣み出すまでの道のり - データを集める - データがある データ基盤の価値 - アクセスできる - 認証、認可 - 分析できる - アプリが動く 低 データ基盤 の価値 中 ⾼ 最⾼! - アプリが⾃由に 作れる! データ基盤の価値 ⾒えない壁

Slide 8

Slide 8 text

Treasure Data, Inc. Confidential ⾒えない壁を破るために必要なこと

Slide 9

Slide 9 text

Treasure Data, Inc. Confidential CDPとは

Slide 10

Slide 10 text

Treasure Data, Inc. Confidential - Treasure Dataが作るメインとなる製品 - 様々なソースからのデータを統合し、包括的な顧客プロファイルを作成 - ビジネスに影響を与える顧客体験を実現 CDP: Customer Data Platform

Slide 11

Slide 11 text

Treasure Data, Inc. Confidential CDPのデータモデリング 属性(Attributes)と⾏動履歴(Behaviors) - プロファイルに直接紐づく情報 - 1対1 - 例 - 会員ID - 年齢 - 性別 - 住所 - プロファイルの⾏動履歴 - 1対N - 例 - Webサイトへの訪問 - 資料ダウンロード - 購買履歴 Attributes Behaviors Profile - Attributes Behaviors

Slide 12

Slide 12 text

Treasure Data, Inc. Confidential - 複数の個⼈データの中からCookieやメールアドレスなどを通して「同じ⼈」を縫 い合わせていく ID Unification ユニークIDの付与プロセス

Slide 13

Slide 13 text

Treasure Data, Inc. Confidential - Union-FindアルゴリズムをSQLで実装 ID Unification ユニークIDの付与プロセス Site A - ID_A - C_G Site B - ID_B - C_Y Site C - ID_C - C_G - C_Y

Slide 14

Slide 14 text

Treasure Data, Inc. Confidential - Union-FindアルゴリズムをSQLで実装 ID Unification ユニークIDの付与プロセス follower ID leader ID C_G ID_A C_Y ID_B C_Y ID_C C_G ID_C

Slide 15

Slide 15 text

Treasure Data, Inc. Confidential - Union-FindアルゴリズムをSQLで実装 ID Unification ユニークIDの付与プロセス follower ID leader ID C_G ID_A C_Y ID_B ID_C

Slide 16

Slide 16 text

Treasure Data, Inc. Confidential - データモデリングを実現する⼿段としてDigdagを使う - ID Unification - Data Enrichment - Preprocessing - Materialized View - UDP (User Defined Partitioning) - 定常バッチとして動く(e.g. daily) - 完成したテーブルの集合をParent Segmentと呼ぶ - 構造化されたデータの上にアプリケーションを実装していく CDPのワークフロー

Slide 17

Slide 17 text

Treasure Data, Inc. Confidential CDPアプリケーション

Slide 18

Slide 18 text

Treasure Data, Inc. Confidential Segment - CDPの基本となる機能 - Parent Segmentから特定の条件のProfileを抜き出す

Slide 19

Slide 19 text

Treasure Data, Inc. Confidential Segment 与えられたJSONをSQLにコンパイルする JSON SQL

Slide 20

Slide 20 text

Treasure Data, Inc. Confidential Activation - 各種Data Connectorでprofileの集合を書き出す - Embulk Plugin - 対象はRedshift、S3、外部SaaSなど - スケジューラにはDigdagを使う - 広告配信、メール送信など顧客との コミュニケーションを⾏うツール

Slide 21

Slide 21 text

Treasure Data, Inc. Confidential 重要ではあるが原始的

Slide 22

Slide 22 text

Treasure Data, Inc. Confidential CJO (Customer Journey Orchestration) カスタマージャーニーマップの⾃動化アプリケーション ジャーニーマップを定義 ワークフローをビルド

Slide 23

Slide 23 text

Treasure Data, Inc. Confidential OLAPシステムのSQLを集合演算⼦として使う CJO (Customer Journey Orchestration) ⺟集団の定義 集合 ゴールプロファイル 離脱プロファイル ステップの移動 Parent Segment

Slide 24

Slide 24 text

Treasure Data, Inc. Confidential OLAPシステムのSQLを集合演算⼦として使う CJO (Customer Journey Orchestration) ⺟集団の定義 ゴールプロファイル 離脱プロファイル ステップの移動 Parent Segment Goal Goal 集合

Slide 25

Slide 25 text

Treasure Data, Inc. Confidential OLAPシステムのSQLを集合演算⼦として使う CJO (Customer Journey Orchestration) Parent Segment Goal Stage 1 Stage 2 Stage 3 Goal Stage 1 ⺟集団の定義 ゴールプロファイル 離脱プロファイル ステップの移動 集合

Slide 26

Slide 26 text

Treasure Data, Inc. Confidential OLAPシステムのSQLを集合演算⼦として使う CJO (Customer Journey Orchestration) ⺟集団の定義 ゴールプロファイル 離脱プロファイル ステップの移動 Parent Segment Goal Stage 1 Stage 2 Stage 3 Goal Stage 1 Exit Exit 集合

Slide 27

Slide 27 text

Treasure Data, Inc. Confidential OLAPシステムのSQLを集合演算⼦として使う CJO (Customer Journey Orchestration) ⺟集団の定義 ゴールプロファイル 離脱プロファイル ステップの移動 Parent Segment Goal Stage 1 Stage 2 Stage 3 Goal Stage 1 Exit Exit Step 1 Step 1 集合

Slide 28

Slide 28 text

Treasure Data, Inc. Confidential OLAPシステムのSQLを集合演算⼦として使う CJO (Customer Journey Orchestration) ⺟集団の定義 ゴールプロファイル 離脱プロファイル ステップの移動 Parent Segment Goal Stage 1 Stage 2 Stage 3 Goal Stage 1 Exit Exit Step 1 Step 2 Step 3 Step 1 Step 2 Step 3 集合

Slide 29

Slide 29 text

Treasure Data, Inc. Confidential CJO (Customer Journey Orchestration) - Primary Keyで集約する(ID Unificationで⽣成済) - 現在の状態と新しい各集合での状態をマージ - Goal,Stage,Stepの時刻を持った疎なテーブル - 特許取得済み - https://patents.justia.com/patent/20240126516 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 a t1 t1 t1 t1 t1

Slide 30

Slide 30 text

Treasure Data, Inc. Confidential アプリ⾃体を⾃動で作りたい

Slide 31

Slide 31 text

Treasure Data, Inc. Confidential AI Agent Foundry - Parent Segmentの構造にアクセス 可能なLLM Agent - RAGを使って以下の情報にアクセス - column list - schema - query - ⾃然⾔語を使ってParent Segment 内のデータの分析、可視化が可能 - AWS Bedrockでホストされているモ デルが利⽤可能 - Cloude 3.5 Sonnetなど LLMを使ったParent Segment (and more)へのアクセス

Slide 32

Slide 32 text

Treasure Data, Inc. Confidential データ基盤が価値を⽣み出すためには - データを使ったアプリケーションが動くことが必要、しかも⼤量に - アプリケーションを次々を⽣み出していくためには - 安定したデータ基盤 - 適切に抽象化されたデータモデリング まとめ

Slide 33

Slide 33 text

Treasure Data, Inc. Confidential We’re Hiring! + = データ基盤 Professional Service 顧客価値 最⼤化 https://www.treasuredata.com/company/jobs