Proximity Features:Airbnb 中符合隐私规范的冷启动个性化

arXiv cs.LG 论文

摘要

本文介绍了 Proximity Features,一个符合隐私规范的系统,利用聚合的地理 IP 数据为 Airbnb 的冷启动用户个性化推荐,在生产实验中实现了显著的预订增长。

arXiv:2607.12246v1 公告类型:新 摘要:双边市场中的个性化高度依赖用户级特征,然而对于低频次、高决策成本的购买平台,大量用户缺乏足够的历史数据来进行有效推荐,这涵盖了付费和自然渠道。在 Airbnb,相当比例的搜索请求来自未登录用户或首次访问用户,这一挑战在付费渠道的落地页上尤为突出,导致传统用户级特征对大部分流量不可用。隐私法规以及对第三方 Cookie 日益严格的限制,进一步限制了基于标识符的非必要用例追踪。本文介绍了 Proximity Features,一个符合隐私规范的特征系统,它利用地理 IP 数据和自适应聚类算法,按地理邻近性对用户进行分组,在推理时无需持久的个体标识符,为约 1000 名邻近用户组成的群体生成聚合的用户级信号。隐私通过设计得到保障:该流程仅在已获同意的隐私控制范围内,对已同意聚合的数据进行操作。 该系统已在 Airbnb 生产环境中部署,服务于包括营销落地页和目的地推荐在内的多个界面,并且正在集成参与邮件。在线 A/B 实验表明,预订量有统计显著的提升,其中在历史数据缺失或过时的用户中观察到的增长最为明显。
查看原文
查看缓存全文

缓存时间: 2026/07/15 04:18

# 邻近特征:Airbnb 隐私合规的冷启动个性化

来源:https://arxiv.org/html/2607.12246

###### 摘要

双边市场中的个性化高度依赖用户级特征,然而对于购买频率低、决策周期长的平台,大量用户缺乏足够历史数据来实现有效推荐,这涵盖付费和自然渠道。在 Airbnb,相当比例的搜索请求来自未登录或首次使用的用户,这一挑战在付费渠道落地页上尤为突出,导致传统用户级特征在很大一部分流量中不可用。隐私法规以及第三方 cookie 日益严格的限制,进一步制约了基于标识符的非必要用例追踪。本文提出*邻近特征*,一种隐私合规的特征系统,它利用地理 IP 数据和自适应聚类算法,按地理邻近性对用户进行分组,为大约 1000 名邻近用户构成的群体生成聚合的用户级信号——在推理时无需持久化的个体标识符。隐私性通过设计得以保障:该流水线仅在获得同意的聚合数据上运行,且受限于隐私控制。

该系统已在 Airbnb 生产环境中部署,服务于包括营销落地页和目的地推荐在内的多个界面,同时正在集成互动邮件。在线 A/B 实验显示了具有统计显著性的预订提升,其中历史缺失或陈旧用户的增益最大。

冷启动个性化、地理 IP 特征、隐私保护机器学习、双边市场、推荐系统、营销个性化

††版权:无
††会议:KDD 双边市场优化研讨会;2026 年 8 月 9 日;韩国济州岛
††CCS:信息系统 → 推荐系统
††CCS:信息系统 → 个性化
††CCS:信息系统 → 搜索个性化
††CCS:安全与隐私 → 隐私保护

## 1. 引言

像是 Airbnb 这样的双边市场依赖个性化来有效匹配供需。驱动搜索排序、推荐和营销的机器学习模型依赖于与个体标识符绑定的丰富用户级特征。然而,相当一部分市场流量缺乏计算这些特征所需的历史记录——这被称为*冷启动问题*。本文中,*用户*是一个通用术语,涵盖已登录、未登录、匿名用户等。

在 Airbnb,冷启动问题在付费和自然渠道中普遍存在。在付费渠道落地页(例如 Google、Meta),大多数用户处于未登录状态,且许多是首次使用 Airbnb 的用户,没有任何历史记录。标准的`user_id`和基于 cookie 的`visitor_id`特征要么不可用(对于未登录用户),要么过于稀疏而无法发挥作用(对于首次或低活跃度用户)。本文中,*冷启动*指代两种情况:无法获取个体标识符的用户,以及行为历史不足的用户。

更复杂的是,不断演变的隐私法规施加了额外限制。根据《通用数据保护条例》(GDPR)(Voigt and von dem Bussche, 2017 (https://arxiv.org/html/2607.12246#bib.bib23)),cookie 追踪需要为营销个性化等非必要用例获得明确同意。随着第三方 cookie 的限制日益严格,针对匿名用户的基于标识符的方法面临进一步削弱。任何针对冷启动用户的特征系统都必须在*无需个体追踪*的条件下运行。

本文通过*邻近特征*同时应对这两个挑战,该系统利用来自本地邻近用户群体的聚合地理 IP 信号。关键洞察在于:来自同一地理区域的用户表现出相关的旅行偏好——他们倾向于搜索和预订相似的目的地,偏好相似的价格范围,并具有相似的人口统计特征。通过使用基于地理 IP 坐标的自适应聚类算法,将大约 1000 名用户分组到一个*邻近桶*中,邻近特征构建出丰富的用户级特征,这些特征对于任何其 IP 地址可被地理定位的用户立即可用——无论其登录状态或先前历史如何。至关重要的是,该系统在推理时不需要用户级标识符,因此适用于那些传统个性化不可用的匿名用户。

本文的贡献如下:

1. (1) 通过邻近键实现新特征。邻近特征引入了一个*邻近键*——一个用于约∼\sim1000 名用户的本地地理群体的紧凑标识符——作为 ML 特征流水线中`user_id`的隐私安全模拟,使得一类新的聚合用户级特征可在搜索排序、推荐和营销界面中使用,且在推理时无需持久化的个体标识符。
2. (2) 通过群体聚合解决冷启动问题。一种自适应地理 IP 聚类算法在密集区域以精细粒度、在稀疏区域以较粗粒度构建邻近桶,聚合来自邻近用户的用户级信号,以填补历史缺失或陈旧用户的特征空白。
3. (3) 基于设计保护隐私,无需基于 ID 的追踪。该系统完全基于聚合且经同意的地理 IP 数据运行。推理时不需要`user_id`或基于 cookie 的`visitor_id`,因此能够抵御第三方 cookie 的弃用,并设计为在同意限制的聚合处理与删除控制下运行。

本文介绍了核心聚类算法和生产级系统设计(第 2 节 (https://arxiv.org/html/2607.12246#S2)),随后是多个界面 A/B 实验的实证结果(第 4 节 (https://arxiv.org/html/2607.12246#S4))。

## 2. 系统设计

图 1 (https://arxiv.org/html/2607.12246#S2.F1) 提供了邻近特征系统的概述。每个组件描述如下。

离线流水线
站点访问日志
地理 IP 数据库
同意过滤器
自适应聚类算法
算法 1 (https://arxiv.org/html/2607.12246#algorithm1)
邻近记录
(IP→\to键映射)
特征平台
(每日聚合)
分布式 KV 存储
(键→\to特征)
引导启动
每日刷新
在线服务
用户请求
(client_ip)
互动邮件
(user_id)
服务 API
(ip 或 user_id→\to邻近键)
特征获取
(键→\to特征)
ML 模型
搜索 | 营销 | 推荐
离线训练
实时计算键(若缺失)
地理 IP 查询
新 IP

图 1. 系统架构。离线:自适应聚类算法在引导启动时运行一次以建立邻近键分区;IP 到键映射、坐标到标量映射、瓦片到桶计数映射每日刷新,特征在稳定键上聚合后存储在分布式 KV 存储中。在线:用户 IP 通过服务 API 映射到邻近键(对于未见过的 IP 进行实时计算),然后获取特征用于模型评分。互动邮件将用户 ID 传递给同一个 API,该 API 内部将其解析为 IP。

系统架构图显示离线流水线(地理 IP 聚类、特征计算、KV 存储)和在线服务路径(IP 到邻近键查找、特征获取、模型评分)。

### 2.1. 地理 IP 数据源

地理 IP 数据库(Poese et al., 2011 (https://arxiv.org/html/2607.12246#bib.bib20))将 IP 地址映射到纬度/经度坐标。一个定期更新的地理 IP 数据源覆盖了 Airbnb 全球流量的绝大部分。根据我们的内部分析,城市级别的吻合度约为 80%。大多数 IP 地址映射到一个单一的、稳定的纬度/经度对,而大约 15% 由于 ISP 地址重新分配而在不同日期映射到不同的坐标。

重要的是,来自地理 IP 数据库的坐标是围绕人口中心聚合的,而非精确的街道级别位置——即使它们包含超过两位小数的精度,也无法用于识别特定地址或家庭。因此,多个 IP 地址自然映射到相同的纬度/经度对,通常代表一个市中心。这一特性是第 2.6 节 (https://arxiv.org/html/2607.12246#S2.SS6) 中描述的隐私设计的基础。

作为数据质量措施,在聚类之前会过滤机器流量。自动化爬虫可能在某些 IP 地址占据不成比例的请求份额,从而扭曲用户计数并破坏桶大小。移除已知的机器流量可确保自适应聚类算法基于具有代表性的人类流量分布运行。

### 2.2. 邻近键

*邻近键*唯一标识一个地理用户桶。它由三个部分组成:

(1) `key = base64(⌊lat×s⌋, ⌊lng×s⌋, h(ip) mod b)`

其中 `s` 是*邻近标量*,控制地理瓦片大小;`b` 是该瓦片内的 IP 哈希桶数;`h` 是一个确定性哈希函数(使用 xxhash64 (Collet, 2012 (https://arxiv.org/html/2607.12246#bib.bib8)) 以保证离线与在线路径的一致性)。该键经过 base64 编码以便紧凑存储和传输。

对于密集地点(聚类算法的阶段 1),`s` 对应地理 IP 坐标的原始精度,`b > 1` 通过 IP 哈希提供子位置粒度。对于稀疏地点(阶段 2),`s` 设置为一个更粗的量化因子,`b = 1`。标量 `s` 和桶数 `b` 由下文描述的自适应聚类算法按瓦片确定。

邻近键作为 `user_id` 的隐私安全模拟:它标识一个本地地理区域而非个人,在人口稠密区域既小又精确,在稀疏区域则更粗略。例如,在人口密集的城区,一个 IP 地址映射到一个编码精细瓦片且带有多个 IP 哈希桶的键:`base64("lat:4071,lng:-7401,bucket:2")`。在稀疏的乡村地区,相同的结构编码一个较粗的瓦片且只带一个桶:`base64("lat:39,lng:-105,bucket:0")`。任何当前以 `user_id` 为条件的 ML 模型都可以改用邻近键来服务于匿名和冷启动用户。

### 2.3. 自适应聚类算法

邻近分桶由以下*约束空间划分*目标驱动。令 `L = {(l_i, g_i, n_i)}_i=1^N` 为 `N` 个不同的纬度/经度对及其关联用户计数的集合。寻求一个空间连续的划分 `P = {B_1, ..., B_m}`,使得桶数 `m` 最大化——即保持最精细的地理粒度——同时满足最小桶大小约束:

(2) `max |P|   s.t.   sum_{i: (l_i, g_i, n_i) in B_j} n_i ≥ T   ∀ B_j in P`

其中 `T` 是目标桶大小。空间连续性要求确保每个桶对应一个地理邻域;最大化 `m` 则保留了可能的最精细粒度。阈值 `T ≈ 1,000` 确保每个桶聚合了足够多的用户,具有双重目标:旨在提供类似 `k`-匿名性的隐私属性 (Sweeney, 2002 (https://arxiv.org/html/2607.12246#bib.bib22)),并为用户级特征(例如目的地分布)的稳定估计提供足够的观测值。由于算法是贪心的,`T` 是一个目标而非严格保证——某些桶可能更小,尤其是在以最粗分辨率分配的的低流量区域。

挑战在于用户密度差异达几个数量级:靠近主要机场的单个坐标可能对应数万名用户,而乡村坐标可能只有寥寥几个。精确求解公式 2 是 NP 难的 (Garey and Johnson, 1979 (https://arxiv.org/html/2607.12246#bib.bib12));它是箱子覆盖问题的一个实例 (Assmann et al., 1984 (https://arxiv.org/html/2607.12246#bib.bib3))。本文不追求理论近似保证,而是提出一种贪心的两阶段启发式算法,利用地理 IP 数据的结构实现计算效率和实践效果(算法 1 (https://arxiv.org/html/2607.12246#algorithm1))。

**输入**:来自同意站点访问的 (lat, lng, ip) 元组集合;目标桶大小 `T`;最小 IP 计数 `nip_min`;标量范围 `[e_min, e_max]`;比例阈值 `ρ`
**输出**:每个 (lat, lng) 对的邻近键分配

1 // 阶段 1:密集位置 —— 通过 IP 哈希桶细化
2 **for each** 唯一的 (lat, lng) 对 **do**
3     `nv ←` 该 (lat, lng) 处的唯一用户数
4     `nip ←` 该 (lat, lng) 处的唯一 IP 地址数
5     **if** `nv ≥ T` **且** `nip ≥ nip_min` **then**
6         `b ← ceil(nv / T)`
7         将每个用户分配到桶 `(lat, lng, h(ip) mod b)`
8         将 (lat, lng) 标记为*已分配*
9     **end if**
10 **end for**

11 // 阶段 2:稀疏位置 —— 通过多轮粗化放大
12 `R ←` 所有未分配的 (lat, lng) 对
13 **for** `e ← e_max` **to** `e_min` **do**
14     `s ← 10^e`
15     将 `R` 中的每个 `(lat, lng)` 量化为瓦片 `(floor(lat·s), floor(lng·s))`
16     计算每个量化瓦片的 `nv`
17     `r ←` 满足 `nv ≥ T` 的瓦片比例
18     **if** `r ≥ ρ` **或** `e = e_min` **then**
19         **for each** 满足 `nv ≥ T` 的瓦片(若 `e = e_min` 则为所有剩余瓦片)**do**
20             使用标量 `s` 和 `b = 1` 分配瓦片中所有 (lat, lng) 对
21         **end for**
22         `R ← R \ 已分配对`
23         **if** `R = ∅` **then** break
24     **end if**
25 **end for**

**算法 1** 自适应邻近聚类

#### 阶段 1:密集位置(细化)

对于拥有 `≥ T` 个独特用户*且* `≥ nip_min` 个独特 IP 地址的纬度/经度对,通过使用 IP 哈希桶进行细分来*细化*该位置。桶数设为 `b = ceil(n_users / T)`,目标是每个桶大约有 `T` 个用户。这些位置保留其原始(全精度)纬度/经度作为瓦片坐标,IP 桶索引提供瓦片内粒度。此阶段通过保留原始坐标精度最大化密集位置的地理粒度;每个桶约 `T` 个用户的目标是尽力而为的,因为基于哈希的分配不能保证完全均匀分布。

#### 阶段 2:稀疏位置(粗化)

对于剩余位置,应用多轮粗化过程,类似于自适应网格细化 (Berger and Oliger, 1984 (https://arxiv.org/html/2607.12246#bib.bib5)),其中降低分辨率直到每个单元累积足够质量。算法迭代递减的标量值 `s = 10^e`,其中 `e ∈ {e_max, e_max-1, ..., e_min}`。在每一轮中,所有剩余坐标按 `s` 量化,并计算每个量化瓦片内的独特用户数。当符合条件瓦片的比例 `r`

相似文章

冷启动推荐中的隐式反馈去噪

arXiv cs.AI

本文提出DIF,一种模型无关的去噪方法,用于冷启动推荐中的隐式反馈去噪。该方法利用内容相似的热门物品生成的伪标签以及不确定性估计,在拥有十亿用户的视频应用中取得了显著改进。