同一航班搜两次贵 70 块?OTA 价格算法的 7 个套路

2024 年的某个深夜,你打开 OTA App 搜下个月去成都的机票。

1380 元。

你犹豫了一下,关掉 App,刷了 5 分钟短视频。

再打开,同一航班同一时间,1450 元。

70 块就这么没了。

你以为自己看花眼,重新搜一遍,还是 1450。

退出 App,换电脑浏览器搜,1380。

这是咋回事?

我之前在 OTA 行业做过几年技术。说实话,OTA 系统比普通人想的复杂得多。

一张机票从航司舱位到你手机屏幕,中间要经过至少 6 层系统,每一层都有自己的小心思。

国内 OTA 头部平台每天的搜索请求是亿级别。每次你点搜索,后端跑的不是查库,是一套实时定价决策。

这套决策里,藏着 7 个普通人不知道的套路。今天给你拆开看看。

1 飞舞的库存

先讲第一个套路,余票数字。

你搜机票时经常看到「仅剩 3 张」「最后 2 张」的提示。心一急,付款。

那这「仅剩 3 张」是真的吗?

很多时候是假的。

OTA 后端的库存数字,不等于航司真实库存。

航司给 OTA 的是一个舱位池。比如经济舱里 Y 舱一档放 50 张,M 舱一档放 30 张。OTA 拿到这个池后,会根据自己的策略把数字进一步切割。

切割的规则不公开,但行业里大致是这样。

如果系统识别出你是高意向用户,比如反复搜同一航班、停留时间长、有过收藏行为,那「仅剩 X 张」就会切到很小的数字。

切到小数字干啥?

制造稀缺感,逼你下单。

行为经济学里这叫损失厌恶。人对失去的痛苦感受是得到的两倍。看到「仅剩 1 张」会比看到「还有 30 张」紧张得多。

但同一时刻你换个 IP、换个账号搜,可能看到的是「还有 20 张」。

库存数字是浮动的,浮动的依据不是航司,是你自己。

第二个套路跟它配套,叫价格锚定。

你打开 App 看到机票 1380。觉得不便宜。

但你不知道这 1380 是怎么显示出来的。

后端真实的实时航司报价是多少?可能是 980。

OTA 在中间加了一层。先按 1500 显示,然后立刻打个折,划线 1500 现价 1380。

你看到的不是 980 涨到 1380,是 1500 降到 1380 的「优惠」。

划线价 1500 是哪来的?

是 OTA 自己拍脑袋拍的。可能是过去 3 个月这条航线的最高价,也可能是同舱位的全价票,反正不是真实成交价。

效果呢?你心里的锚定是 1500。1380 看起来像捡了便宜。

说实话,这个套路不只 OTA 用。淘宝京东每天都在用。但 OTA 用得最狠。

为啥?

机票是低频高价商品。你一年订两三次,没法形成稳定的心理价位。OTA 怎么锚你你都信。

第三个套路,探价位。

你刷过的机票价格,下次还会涨吗?

会。

OTA 后端有一套探价位算法。每次用户搜索都是一次试探。系统记录这次搜索的价格、停留时间、是否切换价格筛选、是否查看了改签退改规则。

如果用户停留长但没下单,系统会判断这个价位用户在犹豫。下一次同设备同账号搜索时,价格会往上微调 30 到 100 块。

为啥要往上调?

不是要赚你那 70 块。是要把价位往上推,找你的痛点。

平台想知道你的真实痛点价。1380 你犹豫,1450 你犹豫,1520 你关掉,那你的痛点就在 1450 到 1520 之间。

下次再上线一个 1450 的机票,你大概率秒下单。

那为啥换浏览器搜又是 1380?

因为换浏览器后,系统识别不出你了。新设备新画像,从基础价位重新开始试探。

你以为换了浏览器是占便宜,其实是回到了系统的初始报价线。

探价位算法的颗粒度有多细?

行业里常见的做法是用 Redis 做用户行为缓存。每个用户 ID 对应一个 30 天滑动窗口,记录搜索过的航线、价位区间、停留时长、放弃节点。

数据写进 Redis 是毫秒级。你刚关掉 App,下一秒后端就更新完你的探价位。

再下一次你打开,系统从 Redis 取出你上次的犹豫价位,往上加 5% 到 10% 重新报价。

5% 到 10% 不是固定的,是根据你的「价格弹性」动态算的。

啥叫价格弹性?

用一个例子讲。如果你过去 3 次搜索都因为价格涨了就关掉,那你弹性高,下次涨幅就压到 3%。

如果你过去 3 次涨了你照样下单,那你弹性低,下次直接涨 12%。

弹性高的用户,平台不敢宰太狠,怕你跑。弹性低的用户,平台宰得放心,反正你会买。

这就是为啥同一航班,你跟你朋友看到的涨幅是不一样的。

你朋友看到涨 30,你看到涨 80,不是 bug,是平台对你俩的弹性判断不一样。

好家伙。库存是假的,价格是锚的,搜一次就被试探一次,连涨多少都是按你脾气定的。以上讲的还只是定价表面的三个套路。

2 看穿你的浏览器

OTA 怎么知道你是同一个用户的?

很多人以为,没登录就是匿名。

错了。

OTA 后端识别你的方式有 4 层。

第一层是 Cookie。你访问 OTA 网站,浏览器会存 Cookie。下次再来 OTA 直接读 Cookie,知道你是上次那个人。

清 Cookie 能解决吗?

部分能。但只是部分。

第二层是设备指纹。这是 Cookie 之外的另一套追踪。

什么是设备指纹?

是把你浏览器的所有特征拼成一个唯一 ID。屏幕分辨率、字体列表、时区、语言、CPU 核心数、显卡型号、声音 API 的细微差异、你装了哪些字体。

这些参数单独看没啥,组合在一起,你这台电脑就是全网独一份。

最常用的是 Canvas 指纹。后端让浏览器在一个隐藏的画布上画一段文字加一个图形,然后把画布的像素数据 hash 一下。

不同显卡、不同字体、不同操作系统,画出来的像素是不一样的。哪怕只差一个像素,hash 完全不同。

这个 hash 就是你的 Canvas 指纹。

更隐蔽的是 WebGL 指纹和 AudioContext 指纹。前者用 GPU 渲染一个 3D 物体取像素差异,后者用浏览器的音频 API 生成一段静音波形再分析频谱。

你以为浏览器没在录音,其实在录。录的是「你这套硬件能产生什么样的静音」。

行业内有一个共识,设备指纹的唯一性能达到 95% 以上。

也就是说,100 个用户的设备里,95 个是可以独立识别的。剩下 5 个可能跟别人撞了。

清 Cookie 没用,换浏览器有用。换浏览器你换了一套字体、换了一套渲染引擎、换了一套指纹。

开无痕模式有用吗?

部分有用。无痕模式不存 Cookie,但 Canvas 和 WebGL 指纹照样能取,因为这些跟浏览器配置无关,跟你硬件相关。

那你换手机搜呢?

也能识别。

第三层叫 IDFA / OAID。手机有自己的设备 ID,是硬件级别的。除非你刷机,不然这个 ID 跟着你一辈子。

OTA App 拿到这个 ID 后,跟你的账号绑定,跟你的支付绑定,跟你的搜索历史绑定。

你换 App、删 App、重装、登录新账号,都没用。设备 ID 没变。

第四层最狠,叫跨设备识别。

你电脑上搜过北京到成都,手机刷小红书时也搜过成都美食,那 OTA 后端会判断这两个设备很可能是同一个人。

依据是什么?是同一个 WiFi、同一个支付账号、同一个手机号绑定的多个 App。

国内有几个头部数据公司专门做这事。把全网设备 ID 关联起来,画一个完整的人物画像。OTA 调一次接口就能拿到。

所以你以为换设备能躲?躲不掉。

讲完识别,再讲怎么用。

OTA 拿到你这个人的画像后,会做一件事,定向定价。

定向定价里最常见的是 IP 定向。

不同地域的人,看到的同航班价格不一样。

从北京搜深圳的航班,跟从某二线城市搜深圳的航班,可能差 80 块。

为啥?因为后端假设北京用户消费力高,可以承受更高溢价。

这背后是一套地域分层模型。后端把全国所有 IP 按城市级别打分。一线 100 分,新一线 80 分,二线 60 分,三四线 40 分。分越高,溢价加得越多。

分层数据从哪来?从运营商。三大运营商的基站定位精度能到几十米。OTA 通过第三方数据接口拿到 IP 对应的基站归属,再映射到城市级别。

精确到啥程度?

行业里有一个能力是看你 IP 所在的小区。CBD 写字楼的 IP 段,跟城中村的 IP 段,画像里完全不一样。前者标记为高净值办公区,后者标记为价格敏感区。

第二种是设备机型定向。

苹果手机用户跟安卓低端机用户,看到的价格不一样。

行业里有过几次曝光,差价能到几十块。原因不复杂,苹果用户的 ARPU 值在画像里就是高的,平台不愁你不付。

第三种是 App 版本定向。

国内 OTA App 经常做 A/B 测试。同一时刻,10% 的用户看到的是新版定价模型。如果那 10% 转化率高,下个版本就推全量。

你不知道自己是不是那 10%。

说实话,从用户角度看,每次打开 App 你看到的都不是「真实价格」,是「为你这个画像定制的价格」。

价格不是商品的属性,是用户的属性。

3 渠道返佣的套娃

讲到这儿,你可能以为 OTA 是直接卖机票的。

不是。

OTA 主要不是卖机票,是当渠道分销。

一张机票从航司到你手里,中间过的不是一层 OTA,是一串渠道。

最上游是航司。航司有自己的官网官方 App,比如国航 App 上买票。这是直销。

但直销占比很低。国内市场超过 70% 的机票是渠道卖出去的。

渠道分几层。

第一层是 GDS。中国航信、Amadeus、Sabre、Travelport,这几家全球巨头垄断了航司舱位的电子分销。航司把舱位放进 GDS,GDS 再分发给下游。

GDS 是按查询次数收费的。OTA 每查一次航班实时报价,就给 GDS 交一次钱。这笔钱看起来不多,单次几分钱到几毛钱,但乘上每天亿级的查询量就是天文数字。

这就解释了一个怪现象,为啥有些 OTA 你搜了个冷门航线,转半天圈才给你出结果。

不是后端慢,是后端在判断你这次查询「值不值得花这几毛钱去 GDS 调实时数据」。如果你的画像里历史下单率低,后端可能直接给你返一个缓存价,不去查 GDS。

缓存价是啥意思?

是 OTA 半小时前甚至几小时前从 GDS 拿到的报价,存在自己服务器里。给你看的不是当前真实价,是过期价。

第二层是 BSP 代理人。从 GDS 拿货,转手卖给小渠道。这些代理人很多在网上你听都没听过。

第三层才是 OTA。OTA 从代理人手里拿货,或者直接对接 GDS,把机票挂到自己的 App 上。

每一层都要赚钱。GDS 收订座费,代理人收差价,OTA 收手续费。

最后到你手里的价格,是航司价 + 这几层加价。

还有一个更狠的玩法,叫包销舱位。

某些 OTA 会跟航司谈,「这条航线 Y 舱我包 100 张」。航司直接给打 7 折。OTA 拿到这批包销票后可以自己定价。

你在 OTA 上看到的「特价票」,很多就是包销票。便宜是真便宜,但限制也多,不能改签、不能退、不能积里程。

包销票为啥便宜?

因为 OTA 提前付了钱给航司锁库存。这些库存卖不掉的话,OTA 自己亏。所以 OTA 必须在出发前把这些票打折甩出去。

你以为捡了个大便宜,其实是 OTA 在止损。

这就解释了一个奇怪现象。

为啥同一张航班,不同 OTA 价格不一样?

因为它们走的渠道不一样。

A 平台走的是 GDS 直连,价格便宜 20。

B 平台走的是某个二级代理,价格贵 50。

C 平台跟航司有战略合作,拿的是返佣价,又便宜 30。

你打开比价工具搜同一航班,能看到 5 个价格,差 100 块。每一家走的链条都不一样。

那为啥还有比价网站这种东西?

比价网站就是 Skyscanner、Google Flights 这种,自己不卖票,只把各家 OTA 的价格抓来横向对比,行业里叫「元搜索」。

它们是 OTA 的天敌。

为啥?

OTA 最希望的是用户在自己 App 内完成交易。你打开比价网站选了 A 平台的票,跳到 A 平台完成支付,A 平台要给比价网站一笔分成。

这笔分成在 5% 到 15% 之间。

OTA 不爽。所以 OTA 会做两件事。

一是不给比价网站最优价格。同一航班,OTA 自己 App 上 1380,给比价网站的接口是 1450。让用户绕过比价网站直接来 OTA。

二是直接屏蔽比价网站的爬虫。比价网站靠爬数据来对比,OTA 加反爬,让你看不到我的低价。

国内做比价的这几年活得都很难。早年有几家直接关停了。

为啥关停?

因为下游 OTA 不喂数据,上游用户拿不到便宜价。死循环。

讲到这儿,你大概懂了。

OTA 不是简单的「平台」,是一个分销链条里的中间商。这个中间商既要从航司那儿拿低价,又要在用户面前卖出溢价。中间的差价就是利润。

差价怎么调?

就是前面讲的 6 个套路。库存切割、价格锚定、探价位、设备追踪、画像定价、渠道腾挪。每一个都是为了把差价做厚。

4 被画像的你

讲完前面 6 个套路,最后一个最关键。

叫大数据杀熟。

这词你听过。但具体怎么杀,可能没人跟你讲清楚。

我尽量讲清楚。

OTA 后端会给每个用户打分。打分的维度有 200 多个。

我列几个关键的。

第一个是消费力指数。看你历史订单平均价、退改频率、是否买过商务舱、是否买过国际航班、是否订过 5 星酒店。

每一项打 1 到 10 分,加权平均,得出一个消费力指数。

指数高的,价格往上调 5% 到 15%。

第二个是价格敏感度。看你过去搜索时是不是反复看价格筛选、是不是经常使用「价格从低到高」、是不是会因为 50 块差价放弃下单。

价格敏感度低的,溢价更多。

第三个是急用度。看你的搜索行为。如果你 30 分钟内搜了 10 次同一航班,说明你急用。急用就涨价。

如果你搜了一次就关掉了,说明你不急。不急就给优惠券,把你拉回来。

第四个是用户生命周期阶段。新用户给低价吸引来,老用户来了反正会买,价格不优惠也行。

新用户优惠券 200,老用户优惠券 30。这是行业通行做法。

为啥老用户反而更贵?

不是因为系统讨厌老用户,是因为新用户的获客成本平台已经付出去了。给新用户低价,是把获客成本算到这单里。老用户已经付过获客成本了,这单就是赚钱的。

所以「老用户被宰」不是平台坏,是获客逻辑天然这样。

第五个是支付能力画像。你绑了哪张卡、是信用卡还是借记卡、卡的额度大概是多少、有没有买过 ApplePay 高客单产品。

绑了高额信用卡的用户,画像里就是高净值。高净值用户看到的价格高 5%。

把这些画像组合起来,平台对你的预估愿付价格能精确到 5 元以内。

什么概念?

就是平台知道你最高愿意为这个航班付 1450,那它就报 1430。

报 1450 你会犹豫,报 1430 你刚好下单,1430 是它能压到的极限。

你看到 1430 跟心里的 1450 差 20 块,觉得占了便宜。

但你不知道这条航线的航司直销价可能是 1100。

你本来能省的不是 20 块,是 350 块。剩下那 330,平台和渠道全收走了。

20 块那个甜头,是平台留给你的钩子,怕你察觉。

这就是大数据杀熟的真相。

杀熟不是平台粗暴地多收你一两百块。是平台精确算到能从你身上榨出多少,再用一个小甜头掩盖掉差价的存在。

2018 年北京有过一次大规模曝光。一位用户用同一航段、同一时间,从两个手机分别搜索,价格差了 110 元。曝光后冲上热搜,OTA 平台公关回应是「缓存策略导致显示偏差」。

懂行的都知道,那不是缓存,是画像。

2020 年复旦大学孙金云教授的团队做过一次更系统的研究,是网约车不是机票,但逻辑一样。他们用不同手机、不同账号、同一目的地打车,发现苹果手机用户的接到豪华车概率比安卓高 3 倍,付的钱平均贵 3 块到 7 块。

3 块到 7 块听起来不多。但乘上每天几百亿订单量,是几亿到十几亿的差价。

这就是杀熟的商业逻辑。每一单多 3 块,看起来微乎其微。但所有「不太精准敏感」的用户每年合起来被多收的钱,是平台的核心利润。

那监管管不管?

管。

2021 年国家市场监督管理总局发布过《关于平台经济领域的反垄断指南》,明确「基于大数据和算法,对交易条件相同的交易相对人实施差异性交易价格」属于滥用市场支配地位。

2022 年文化和旅游部约谈过几家 OTA 平台。

2023 年个人信息保护法实施后,对用户画像的合规要求更严了。

效果呢?

实话实说,效果有限。

被约谈的平台会暂时收敛,但收敛的方式是把杀熟的颗粒度做得更细,而不是不杀。从「明显 5 个用户 5 个价」改成「100 个用户 100 个价」,监管更难取证。

另外,监管能管到的是头部主流平台。你换个小众 App,照样按这套打法做。

所以现在的状态是,杀熟仍在,只是更隐蔽。

5 你能怎么办

讲完 7 个套路,咱们说说怎么反制。

第一个最有用,多端比价。

不要在一个 App 里反复搜。每次搜两次以上,你的探价位就被启动。

打开 3 个 OTA App + 1 个航司直销 App + 1 个比价网站,挑最便宜的下单。

第二个,无痕模式 + 换 IP + 新设备。

最大限度让画像识别不出你。但记住,全消除做不到,能减弱定向就行。

第三个,先看再付。

机票价格曲线是有规律的。一般来说,提前 30 天到 14 天是最便宜的窗口期。出发前一周开始反弹,最后 3 天是最贵的。

你看准窗口期一次性下单,比反复搜浪费的钱少。

第四个,用航司直销。

不是所有航司直销都便宜,但国内三大航的官方 App 经常有早鸟折扣,价格比 OTA 还低 5% 到 10%。

第五个最反直觉,谨慎开会员。

很多人觉得开 OTA 会员有优惠。但 OTA 会员体系里有个隐藏机制,会员级别越高,画像越精确。

为啥?

因为会员愿意付钱,画像里就标记为高消费力。同一航班给会员的价格反而比非会员高。

会员的「积分返还」「升舱权益」算下来,可能还不如不开会员直接捡低价。

第六个,关掉 App 的位置和通讯录权限。

很多人下载 OTA App 时一路点同意。点同意后 App 拿到的不只是位置,还有你通讯录、相册元数据、Wi-Fi 列表。

通讯录拿来干啥?

匹配你的关系网。你通讯录里有谁、谁也在用同一个 OTA、你跟谁经常一起出行。这些都是画像维度。

关掉这些权限不能完全脱离画像,但能砍掉至少 30% 的画像精度。

第七个,离登录账号远一点。

不登录搜,登录付。

不登录的时候你的画像是匿名设备级,登录后是账号级。账号级画像精确得多。

把搜索这个最容易被宰的环节,留给匿名设备。等价格定下来再登录付款。

操作上有一点点麻烦,但每次能省 50 到 100 块。

讲到最后。

回到开头那个场景。你深夜搜了一次机票,关掉再打开,价格涨了 70。

这 70 块不是巧合,不是航司临时调价,不是票紧张了。

是 OTA 后端那一刻判断出来的,你这个人愿意为这张票付的最高价,就在 1450 左右。

机票的价格不是航司定的,不是市场定的,是你自己的画像定的。

你点开 App 的那一秒,定价决策就启动了。你看到的价格,是你这一刻的人物画像匹配出来的最优解。

这事儿说到底,不是 OTA 写得烂,是国内消费互联网整套数据基础设施长成这样。从电商到出行到本地生活,每一个高频 App 都在用同一套定价逻辑。OTA 只是因为客单价高,把这套逻辑做得更精细而已。

数据基础设施一天不变,定价游戏就一天不结束。

你能做的,就是别让自己的画像太完整。

署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
位旅人路过 次翻阅 初次见面