用例:重叠和分段¶
Snowflake 提供了重叠和分段模板,以确定所有协作者的数据中存在哪些实体,并显示有关这些实体的汇总信息。
在使用此模板时,双方各自向 Clean Room 中添加一个或多个表。这些表中的实体通过您指定的联接列进行联接或识别。此外,重叠计数可以按特定的分段属性进行细分和筛选。这使双方能够深入了解其数据集之间的重叠情况,这有助于评估协作的价值,并促进 Clean Room 中的其他下游用例。使用者指定要联接的列和要显示的列。所有投影列必须进行分组或使用聚合函数进行汇总。实体标识列不会出现在查询结果中,而 Clean Room 则通过应用差分隐私来进一步保护有关特定实体的信息。如果 Clean Room 创建者启用了相关功能,结果还可以被激活并共享给第三方(仅限 Clean Room UI)。
例如,广告商可以对出版商的库存进行重叠分析,以帮助确定在该出版商处购买媒体的价值。然后,广告商会将所期望受众的 IDs 激活并回传给出版商,以便用于精准广告投放。
重叠和分段模板可在 Clean Room UI 和代码中使用。通过 Clean Room UI,可轻松使用身份提供商,并激活到第三方合作伙伴,而关于代码的使用,则允许同时从提供商和使用者那里获取多个表。
小技巧
如果您在 Audience Overlap 模板中启用了差分隐私,请不要计算重叠统计数据。这样做将消耗大部分用户的隐私预算,几乎不会留下用于运行分析的预算。
使用 Clean Room UI¶
在 Clean Room UI 中,此用例通过一个名为 Audience Overlap & Segmentation 的现成模板获取支持。尽管此模板主要面向营销和广告用例,但它也可用于所有行业中的任何重叠和分段用例。请按照以下步骤了解如何创建和使用此模板。
备注
在 Clean Room UI 中运行此分析时,重叠百分比可能会因运行者不同而有所差异。这是因为百分比的计算方法为(表中匹配到的 IDs 数量)/(表中的总 IDs 数量)。例如,如果合作者 A 有 100 个 IDs,而 B 有 500 个 IDs。如果它们有 50 个 IDs 重叠,那么 A 将看到 50% 的重叠,而 B 将只有 10% 的重叠。
此外,如果协作者 A 的数据中的同一个 ID 匹配到协作者 B 数据中的多个 IDs,那么重叠结果也会因谁运行分析而不同。
Web 模板功能:
一键激活(如果由 Clean Room 管理员配置)。
一键使用身份提供商(如果由 Clean Room 管理员配置)。
支持由提供商运行的分析。
Both sides can import data and specify columns that can be joined, projected, and activated.
对可用表中的一个使用者和一个提供商表进行重叠查询。
可配置的差分隐私。
备注
尝试 Web 界面教程,以查看在 Clean Room UI 中使用 Clean Room 的完整端到端演练。此模板也包含在本教程中。
第 1 步:提供商创建 Clean Room¶
以下是提供商如何使用 Audience Overlap & Segmentation 模板创建和配置 Clean Room 的步骤:
登录到 Clean Room UI 并 创建一个新的 Clean Room。
在 Add Data 下,执行以下操作:
选择要链接(导入)到 Clean Room 的表。如果未列出您需要的表,请咨询 Clean Room 管理员。
在 Specify Join Policies 下,执行以下操作:
从您的表中选择协作者可以联接的列。请记住,可联接的列不能在分析中用于分段、筛选或分组。
如果您想使用身份提供商来帮助解决可能有多个标识符的实体,例如,在不同数据库中有多个电子邮件账户的单个个人,请在 Identity Hub 中选择身份提供商。
在 Configure Analysis & Query 下,执行以下操作:
选择 Audience Overlap & Segmentation 作为分析类型。(您可以为 Clean Room 选择多个模板。)每个模板的配置选项将在页面上显示。
对于 Tables,使用此模板选择您之前链接的哪些表应该供此 Clean Room 中的使用者使用。
使用 Segmentation & Attribute Columns 选择在查询结果中显示的列。协作者可以按选定列进行显示、筛选和分组。在 Clean Room 中启用了 Snowflake Activation 时,协作者可以激活这些属性值。如果此处未显示某列,可能是因为您将其标记为可联接,而列在查询结果中不能既可连接又可见。
Allow categorical value previews during filtering 指定预览版是否显示实际值。如果列中的非重复值少于 20 个,则默认启用该功能,但如果非重复值超过 20 个,则默认禁用该功能,以保护 PII。
查看 Activation Settings 部分以启用、配置或禁用结果数据的激活:
选择在激活用例期间应可用的 ID Columns。默认情况下,联接策略列是自动选择的。
启用 Allow non-overlap activation 即可从数据集中激活 IDs,而无需在协作者的数据集中匹配 IDs。例如,如果您引入了 100 个 IDs,并与协作者进行了重叠分析,结果只有 25 个 IDs 重叠,则非重叠激活将激活数据集中未匹配的 75 个 IDs。
查看 Enabled Partners 以确保在 Clean Room 中仅启用您首选的激活目标。如果您需要更改启用的目标,请与 Clean Room 管理员联系。
根据需要更新默认 Privacy Settings:
默认启用 Threshold Value 并将其设置为 5。这会阻止显示任何组的结果,其中联接策略列的非重复计数低于此阈值。
默认禁用 Differential Privacy。启用后,通过向结果中添加噪声并限制每日查询的数量来提供对潜在差异攻击的保护。详细了解 Snowflake Data Clean Room 中的差分隐私,并了解启用此功能的成本。
在 Share clean rooms 下,执行以下操作:
展开 Select collaborator 菜单以将协作者添加到 Clean Room 中。协作者会收到一封电子邮件,邀请他们加入并使用您的 Clean Room,如下所述。该页上的协作者列表显示了所有可以访问此 Clean Room 的账户,包括您自己的账户。
选择协作者旁边的 Enable run analysis and query,以控制该账户是否可以在 Clean Room 中运行模板。默认情况下,您自己的账户无法在 Clean Room 中运行分析(即,默认禁用 由提供商运行的分析)。默认情况下,使用者可以在 Clean Room 中运行任何模板。
第 2 步:使用者加入 Clean Room¶
以下是使用者如何加入并配置包含 Audience Overlap & Segmentation 分析模板的 Clean Room 的步骤:
在 Add Data 下,执行以下操作:
选择要链接(导入)到 Clean Room 的表。如果未列出您需要的表,请咨询 Clean Room 管理员。
在 Specify Join Policies 下,执行以下操作:
确定您数据中的哪些可联接列会映射到提供商数据中的可联接列。您将指定在每次运行期间要联接的列。
如果您想使用身份提供商来帮助解决可能有多个标识符的实体(例如,在不同数据库中有多个电子邮件账户的单个个人),请在 Identity Hub 中选择身份提供商。
在 Configure Analysis & Query 步骤中,执行以下操作:
选择 Audience Overlap & Segmentation 分析以显示该模板的配置选项。
从 Tables 下拉菜单中选择应在此分析中使用的表。
使用 Segmentation & Attribute Columns 选择在查询结果中显示的列。在 Clean Room 中启用了 Snowflake Activation 时,还可以激活这些列。如果此处未显示某列,可能是因为您将其标记为可联接,而列在查询结果中不能既可连接又可见。
选择在激活用例期间应可用的 ID Columns。默认情况下,联接策略列是自动选择的。
可以选择启用 Allow activation for clean room provider,以允许 Clean Room 提供商将数据激活到支持的激活目标。仅在 Clean Room 中启用了提供商运行时才会显示此选项。请注意,启用此选项允许将行级数据激活回提供商的账户。请注意,使用者在运行提供商查询和激活时会产生计算成本,尽管使用者必须同意允许提供商操作。
查看 Enabled Partners 以确保在 Clean Room 中启用首选激活目标。如果您需要更改启用的目标,请联系 Clean Room 提供商。
点击 Finish 以保存您的结果。要运行分析,请参见下一章节。
第 3 步:使用者运行分析¶
备注
默认配置仅允许使用者使用此模板运行分析。要使用此模板启用由提供商运行的分析,提供商必须在 Clean Room 配置中打开 Share clean rooms 选项卡,并在其账户名称旁选择 Enable run analysis and query。
在提供商和使用者为受众重叠和分段配置了 Clean Room 后,任何有权运行分析的一方都可以执行以下操作:
在 Clean Room UI 中,导航到 Clean rooms。
为配置了受众重叠的 Clean Room 选择 Run,然后选择 Audience Overlap & Segmentation > Proceed。(或者,访问 Analyses & Queries 页面,选择 + New Analysis & Query,选择 Audience Overlap & Segmentation 类型,然后选择配置了该分析类型的 Clean Room。)
在 Query Configurations section 中设置运行的详细信息:
My tables – 选择要与协作者的表联接的表。
Collaborator table – 选择一个协作者表来与您的表联接。
My join columns – 选择要在表之间联接的所有列。
User segmentation –(可选)选择分组列。
Filters – 在设置期间,可以选择在指定为细分列和属性列的列上提供一个或多个筛选。
Privacy settings – 此查询实现了差分隐私,以及每个分组的最小行数。您可以在此处查看已使用的和剩余的差分隐私以及最小组大小。
如果作为使用者进行分析,您可以更改 仓库规模,从而通过选择更大的仓库来改进查询时间,或通过选择更小的仓库来降低成本。当作为提供商进行分析时,仓库选择不可用,但自动扩展将尝试优化查询时间。
选择 Run。如果这是新查询,请执行以下操作:
为分析和查询指定一个名称。
(可选):doc:
安排重复的分析 </user-guide/cleanrooms/schedule-analysis>。
选择 Save 以开始或安排运行。每次运行可能需要一些时间才能完成。您可以在 Clean Room UI 的 Analysis & Queries 页面中检查分析状态或结果。
代码使用情况¶
您可以下载并运行示例 Notebook,其中展示了如何在 SQL 代码中使用重叠和分段示例。此示例可以上传并在 Snowsight 中运行。
Notebook 未演示如何使用身份提供商、对第三方提供商的 激活 操作,或 由提供商运行的分析。请参阅相关主题,以演示如何在代码中执行这些操作。
先决条件
您必须在同一组织中拥有两个安装了 Snowflake Data Clean Room 的账户。一个账户用于提供商,另一个账户用于使用者。
安装并运行代码示例
在提供商和使用者账户中安装 Notebook。要上传 Notebook,请执行以下操作:
In the navigation menu, select Projects » Notebooks.
Select + Notebook » Import .ipynb file.
选择您下载的 .ipynb 文件。
根据需要命名文件,并选择数据库和架构。
保留默认仓库
APP_WH。选择 Create。
在提供商账户中打开 Notebook,并完成提供商部分,以创建 Clean Room。
在使用者账户中打开 Notebook,并完成使用者部分,以安装和配置 Clean Room 并运行模板。