Slide 1

Slide 1 text

外部のデータを結合し分析するためのソリューション AWS Clean Rooms 元データを保護したまま提供 2023/04/29 第22回勉強会

Slide 2

Slide 2 text

自己紹介 ● 名前: 西岡 賢一郎 ○ Twitter: @ken_nishi ○ note: 西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro) ○ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) ● 経歴 ○ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ○ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ○ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ○ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ○ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験

Slide 3

Slide 3 text

本日のお話 ● 外部データを利用した分析 ● AWS Clean Rooms ● Clean Roomで使うテーブルの準備 ● デモ

Slide 4

Slide 4 text

外部データを利用した分析

Slide 5

Slide 5 text

3rd Partyデータを用いた分析 ● 自社で集められるデータには限界がある ● 3rd Party (他社) とデータ結合をすることで詳細な分析が可能となる ○ 例: 広告の効果測定 広告効果測定は、3rd Party Cookieの規制により、複数プラットフォームをまたがったデー タの紐付けが難しくなり、異なる分析方法が必要となっている ● 3rd Partyにデータを提供してもらい、データを結合して分析 ● データ結合のために3rd Partyと共通となるキーが必要となる データ提供 3rd Party 自社データだけでは 十分な分析ができない 3rd Partyデータを用いて 詳細な分析ができる

Slide 6

Slide 6 text

他社データを結合する方法 ● 属性で結合する方法などもあるが、個人識別子を使った結合のほうが精度の高い分析ができる ● ただし、個人識別子を含むローデータを提供することが難しい

Slide 7

Slide 7 text

Data Clean Roomで安全に結合し分析 ● ローデータを分析者に公開することなく結合し、分析できる環境を提供 ● 集計結果に制約を設けることで、個人情報漏洩のリスクを下げることが可能 (完璧に防げるわけではない) ● 個人情報の第三者提供をくぐり抜けるための銀の弾丸ではない Data Clean Roomの分析イメージ

Slide 8

Slide 8 text

AWS Clean Rooms

Slide 9

Slide 9 text

AWS Clean Roomsの特徴 ● 自分AWSを含め最大で5つのAWSアカウントでデータの連携が可能 ● クエリの実行および結果の受け取りができるのは1つのAWSアカウントのみ ● 集計結果に対して最小閾値を設定し、少ない集計結果による元データの推定 を防ぐ事が可能 ● 自分が開始したクエリと自分のデータを含むクエリのログを受け取り可能 ● 暗号コンピューティングにより、データを暗号化したまま保存・転送・処理 が可能

Slide 10

Slide 10 text

AWS Clean RoomsのMemberの種類 ● Collaboration creator ○ Collaborationを作成するアカウント ○ 招待するMemberを決定 ○ 誰がクエリを実行できるかを決定 ○ Query Logging, 暗号コンピューティングなどの利用有無を決定 ○ クエリ実行者およびデータ提供者のどちらかになる ● クエリ実行者 ○ クエリを実行し、結果を受け取ることができるアカウント ○ 1アカウントのみ設定が可能 ○ Ability: Query, Receive results, Contribute data ● データ提供者 (Contributor) ○ データを提供するアカウント ○ 提供したデータを使ったクエリのログを確認可能 (Query Loggingが Onのとき) ○ Ability: Contribute data データ提供者 クエリ実行者 Collaboration Creator 必要なアカウントを招待し 自分もデータ提供者か クエリ実行者のどちらかになれる

Slide 11

Slide 11 text

Clean Roomで使うテーブルの準備

Slide 12

Slide 12 text

Clean Roomsで使用するテーブル ● AWS Clean Roomsで使用するデータはAWS Glueのカタログになっている必要がある ● AWS GlueでカタログとなったAmazon S3テーブルのみサポートされている (2023/04/29現在) ● 作成したClean Rooms用のTableは複数のCollaborationで使用することができる 出典: AWS Console

Slide 13

Slide 13 text

Clean Rooms用のテーブル設定 設定の手順 ● AWS Glue tableからの選択 ● Collaborationで許可するカラムを選択 (あとからの 変更が不可能) ● Analysis ruleを設定

Slide 14

Slide 14 text

Clean Rooms用テーブルのAnalysis Rule ● Aggregation Type ○ COUNT、SUM、AVG関数を用いて統計情報を 任意の次元で集計するクエリーが可能 ○ セグメント分析、測定、アトリビューション など ● List Type ○ クエリ可能なメンバーのテーブルの重なりの 行レベルのリストを出力するクエリを許可 ○ データのエンリッチメントやセグメント構築 など

Slide 15

Slide 15 text

Analysis Rule Type: Aggregation ● Aggregate functions ○ 許可する集計関数とその関数を利用できるカラムを指定 ○ COUNT, COUNT DISTINCT, SUM, SUM DISTINCT, AVGか ら選択可能 ● Join controls ○ 他のテーブルとINNER JOINするためのキーを設定 (複数 キー指定可能) ○ JOINで使用するキーはクエリ結果には表示されない ○ テーブル単体でのクエリ (JOINなしのクエリ) の許可 ● Dimension controls (optional) ○ 集計するためのディメンション (キー) を指定 ● Scalar functions ○ ABS, ROUND, CASTなど13個の関数 (2023/04/29現在) から選択 可能 ○ 適用可能なスカラー関数を制御 ○ ディメンション列に適用可能 ○ 他の関数の上や他の関数内で使用できない ● Aggregation constraints ○ クエリ結果で返す行を制御 ○ 最小の集計値を設定できる (2以上)

Slide 16

Slide 16 text

Analysis Rule Type: List ● Join controls ○ 他のテーブルとINNER JOINするためのキーを設定 (複数キー指定可能) ○ JOINで使用するキーはクエリ結果には表示されない ● List controls ○ 出力できるカラムを指定 ● AggregationのRule Typeに比べて指定する事項は少ない

Slide 17

Slide 17 text

Analysis Rule Typeの制約 ● 異なる種類のAnalysis Rule Typeを使うクエリを走らせることはできない ● AggregationのRuleを持つテーブルのみ、もしくはListのRuleを持つテーブ ルのみでクエリを構成する必要がある

Slide 18

Slide 18 text

AWS Clean Roomsでサポートされていないもの ● SELECT以外のSQLコマンド ● サブクエリおよびCTE (WITH句など) ● 複数のクエリを結合する演算子 (UNIONなど) ● TOP、LIMIT、OFFSETパラメータ

Slide 19

Slide 19 text

デモ ● 2つのAWSアカウントのデータを用いた分析 ● 広告に接触したユーザを分析 ● 分析のステップ ○ Collaborationの作成 ○ Clean Room用のテーブルの設定 ○ Analysis Ruleの設定 (Aggregation) ○ クエリの実行 テーブル構造 分析者のテーブル データ提供者のテーブル