自訂分析規則 AWS Clean Rooms - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂分析規則 AWS Clean Rooms

在中 AWS Clean Rooms,自訂分析規則是一種新類型的分析規則,允許在已配置的表格上執行自訂查詢。自訂 SQL 查詢仍然僅限於只有SELECT命令,但可以使用比彙總清單查詢更多的 SQL 建構 (例如,視窗函數、OUTER JOIN、CTE 或子查詢;如需完整清單,請參閱 AWS Clean Rooms SQL 參考)。自訂 SQL 查詢不必遵循彙總清單查詢等查詢結構。

與彙總和清單分析規則支援的使用案例相比,自訂分析規則支援的使用案例更為進階,例如自訂歸因分析、基準測試、增量分析和受眾探索。這是彙總和清單分析規則所支援的使用案例的超集合之外。

自訂分析規則也支援差分隱私。差分隱私是數學上嚴格的數據隱私保護框架。如需詳細資訊,請參閱 AWS Clean Rooms 微分隱私。建立分析範本時,「 AWS Clean Rooms 差分隱私」會檢查範本,以判斷該範本是否與「 AWS Clean Rooms 差分隱私」的一般用途查詢結構相容。此驗證可確保您不會創建不允許使用差異隱私保護表格的分析模板。

若要設定自訂分析規則,資料擁有者可以選擇允許儲存在分析範本中的特定自訂查詢在其已設定的資料表上執行。資料擁有者先檢閱分析範本,然後再將其新增至自訂分析規則中允許的分析控制項。分析範本只能在建立分析範本的協同合作中使用且可見 (即使表格與其他協同合作相關聯),且只能由可在該協同合作中查詢的成員執行。

或者,成員可以選擇允許其他成員 (查詢提供者) 建立查詢而不檢閱。成員會在自訂分析規則中新增允許查詢提供者控制的查詢提供者帳戶。如果查詢提供者是可以查詢的成員,則他們可以直接在已設定的資料表上執行任何查詢。查詢提供者也可以建立分析範本來建立查詢。查詢提供者所建立的任何查詢都會自動允許在資料表上執行,其中存在並與資料表相關聯的所有共同作業中。 AWS 帳戶

資料擁有者只能允許分析範本或帳戶建立查詢,而不能同時建立兩者。如果資料擁有者將其保留空白,則可以查詢的成員將無法在已設定的資料表上執行查詢。

自訂分析規則預先定義的

下列範例包含預先定義的結構,說明如何在開啟差異隱私的情況下完成自訂分析規則。該userIdentifier值是唯一標識您的用戶的列,例如 user_id。如果您在協同作業中開啟了兩個或兩個以上的資料表,則 AWS Clean Rooms 需要您在兩個分析規則中設定與使用者識別碼欄相同的欄,以維持跨資料表的使用者定義一致。

{ "allowedAnalyses": ["ANY_QUERY"] | string[], "allowedAnalysisProviders": [], "differentialPrivacy": { "columns": [ { "name": "userIdentifier" } ] } }

您可擇一方法:

  • 將分析範本 ARN 新增至允許的分析控制項。在這種情況下,不包括allowedAnalysisProviders控制項。

    { allowedAnalyses: string[] }
  • 將成員 AWS 帳戶 ID 新增至控allowedAnalysisProviders制項。在這種情況下,您將添加ANY_QUERYallowedAnalyses控制項。

    { allowedAnalyses: ["ANY_QUERY"], allowedAnalysisProviders: string[] }

自訂分析規則範例

以下範例示範兩家公司如何 AWS Clean Rooms 使用自訂分析規則進行協同作業。

A 公司有客戶和銷售數據。A 公司有興趣了解 B 公司網站上廣告活動的銷售增量。B 公司擁有對公司有用的收視數據和細分屬性(例如,他們在查看廣告時使用的設備)。

公司 A 有一個他們想要在協同合作中運行的特定增量查詢。

若要建立協同作業並在協同作業中執行自訂分析,公司會執行下列動作:

  1. 公司 A 會建立協同合作並建立成員資格。該合作將 B 公司作為該合作的另一個成員。公司 A 可在協同作業中啟用查詢記錄,並在其帳戶中啟用查詢記錄。

  2. B 公司會在協同合作中建立成員資格。它會在其帳戶中啟用查詢記錄。

  3. A 公司創建一個 CRM 配置表

  4. A 公司將空的自定義分析規則添加到銷售配置表中。

  5. 公司 A 將銷售配置表格與協同合作產生關聯。

  6. B 公司創建觀眾配置表。

  7. B 公司會將空的自訂分析規則新增至觀眾人數設定的資料表。

  8. B 公司會將觀眾人數設定表格與協同合作產生關聯。

  9. 公司 A 會檢視與協同作業相關聯的銷售資料表和收視率表格,並建立分析範本,並新增促銷活動月份的增量查詢和參數。

    { "analysisParameters": [ { "defaultValue": "" "type": "DATE" "name": "campaign_month" } ], "description": "Monthly incrementality query using sales and viewership data" "format": "SQL" "name": "Incrementality analysis" "source": "WITH labeleddata AS ( SELECT hashedemail, deviceid, purchases, unitprice, purchasedate, CASE WHEN testvalue IN ('value1', 'value2', 'value3') THEN 0 ELSE 1 END AS testgroup FROM viewershipdata ) SELECT labeleddata.purchases, provider.impressions FROM labeleddata INNER JOIN salesdata ON labeleddata.hashedemail = provider.hashedemail WHERE MONTH(labeleddata.purchasedate) > :campaignmonth AND testgroup = :group " }
  10. A 公司會將其帳戶 (例如 444455556666) 新增至自訂分析規則中允許的分析提供者控制項。他們使用允許的分析提供程序控件,因為他們希望允許他們創建的任何查詢在其銷售配置的表上運行。

    { "allowedAnalyses": [ "ANY_QUERY" ], "allowedAnalysisProviders": [ "444455556666" ] }
  11. B 公司會在協同合作中看到建立的分析範本,並檢閱其內容,包括查詢字串和參數。

  12. B 公司會判斷分析範本是否達到增量使用案例,並符合其隱私權要求,以瞭解如何查詢觀眾人數設定的資料表。

  13. B 公司會將分析範本 ARN 新增至觀眾人數表的自訂分析規則中允許的分析控制項。他們使用允許的分析控制項,因為他們只想允許增量查詢在其觀眾人數設定的資料表上執行。

    { "allowedAnalyses": [ "arn:aws:cleanrooms:us-east-1:111122223333:membership/41327cc4-bbf0-43f1-b70c-a160dddceb08/analysistemplate/1ff1bf9d-781c-418d-a6ac-2b80c09d6292" ] }
  14. 公司 A 執行分析範本並使用參數值05-01-2023

具有差分隱私的自訂分析規則

在中 AWS Clean Rooms,自訂分析規則支援差分隱私。差分隱私是數學上嚴格的數據隱私保護框架,可幫助您保護數據免受重新識別嘗試的侵害。

差分隱私支持聚合分析,例如廣告活動規劃, post-ad-campaign 衡量,金融機構聯盟中的基準測試以及醫療保健研究的 A/B 測試。

支援的查詢結構和語法在中定義查詢結構和語法

具有差異隱私的自訂分析規則範例

考慮上一節中介紹的自訂分析規則範例。此範例示範如何使用差異隱私來保護資料免受重新識別嘗試的影響,同時讓合作夥伴從您的資料中學習關鍵業務洞察。假設擁有收視數據的 B 公司希望使用差分隱私來保護其數據。為了完成差分隱私設置,B 公司完成以下步驟:

  1. B 公司開啟差異隱私,同時將自訂分析規則新增至觀眾人數設定的資料表。B 公司選擇viewershipdata.hashedemail作為用戶標識符列。

  2. B 公司在協同合作中新增了差異隱私權政策,讓觀眾人數資料表可供查詢。B 公司會選取預設原則以快速完成設定。

想要瞭解 B 公司網站上廣告活動的銷售增量,A 公司會執行分析範本。由於查詢與 AWS Clean Rooms 差分隱私權的一般用途查詢結構相容,因此查詢會成功執行。

查詢結構和語法

至少包含一個已開啟差分隱私權的資料表的查詢必須遵循下列語法。

query_statement: [cte, ...] final_select cte: WITH sub_query AS ( inner_select [ UNION | INTERSECT | UNION_ALL | EXCEPT/MINUS ] [ inner_select ] ) inner_select: SELECT [user_id_column, ] expression [, ...] FROM table_reference [, ...] [ WHERE condition ] [ GROUP BY user_id_column[, expression] [, ...] ] [ HAVING condition ] final_select: SELECT [expression, ...] | COUNT | COUNT_DISTINCT | SUM | AVG | STDDEV FROM table_reference [, ...] [ WHERE condition ] [ GROUP BY expression [, ...] ] [ HAVING COUNT | COUNT_DISTINCT | SUM | AVG | STDDEV | condition ] [ ORDER BY column_list ASC | DESC ] [ OFFSET literal ] [ LIMIT literal ] expression: column_name [, ...] | expression AS alias | aggregation_functions | window_functions_on_user_id | scalar_function | CASE | column_name math_expression [, expression] window_functions_on_user_id: function () OVER (PARTITION BY user_id_column, [column_name] [ORDER BY column_list ASC|DESC])
注意

對於差異隱私查詢結構和語法,請注意以下事項:

  • 不支援子查詢。

  • 如果資料表或 CTE 涉及受差分隱私保護的資料,通用資料表運算式 (CTE) 應該會發出使用者識別碼欄。過濾器,分組和聚合應在用戶級別完成。

  • 最終選擇允許計數不同,計數,總和,平均和和標準開發聚合函數。

如需差異隱私權支援哪些 SQL 關鍵字的詳細資訊,請參閱AWS Clean Rooms 差分隱私的 SQL 功能