粒度是有代价的。

过去,我曾认为:系统中粒度越细,往往意味着越好。价格点更多、时间槽更多、用户表达需求的方式也更加多样化——这一切听起来似乎都在提升效率。

然而,最近的两个案例——一个来自金融市场,另一个则源于体育场馆预订——让我意识到: 粒度并非免费的。在战略性系统中,更精细的选择可能会催生新的博弈策略,让优先级被重新分配, 甚至削弱人们以诚实方式参与的积极性。

免责声明:以下内容纯属我个人见解,不代表我所在公司的观点。

在金融市场——一个相对平淡的例子

注:本节内容略显金融术语化。如果你对市场不感兴趣,可以直接跳转到体育场馆的案例,这个案例更贴近现实,与交易毫无关联。

在金融市场中,我们有一本订单簿,人们在此就某只股票以不同的价格进行买卖报价。 假设有一位用户愿意以100.00美元的价格买入AAPL,另一位用户则愿意以100.10美元的价格买入, 还有人以101.00美元和101.50美元的价格卖出。 最佳卖价与最佳买价之间的差额,被称为“点差”(在本例中,为101.00 - 100.10 = 90美分)。

显然,你也可以以100.20美元的价格报价,从而缩小点差。 而“ tick size”是指股票报价的最小价格变动幅度。 如果 tick size 为0.10美元,那么你只能以100.20美元报价,却无法以100.15美元报价。 tick size 越小,市场就越细分。人们或许会认为:这意味着更多的价格点、更多的竞争、更窄的点差——对于散户而言, 点差越低,支付成本也就越低。

直觉:把点差想象成散户在交易时所支付的一种隐性费用。

这篇纳斯达克的文章指出了一点让我感到颇为反直觉: 如果一只股票的点差“宽得离谱”,那么市场实际上可能正在为过度的粒度付出代价。 假设 tick size 为0.01美元,但平均点差却高达0.50美元。 这意味着点差长达50个 tick,因此交易者只需将报价提高1美分,就能在排队过程中抢先一步。 这反而让流动性提供方的生活更加艰难。 当你发布报价时,其实是在承担逆向选择的风险:也许在你成交之前,市场就已经朝着对你不利的方向波动了。 作为回报,你本希望赚取点差。然而,如果有人能以极低的成本,通过微小的报价调整, 抢先一步,那么你仍然要承担部分风险,而其他人却能攫取部分收益。 因此,流动性提供方可能会选择报价更宽,也就是报价不那么激进,或者仅在自己确信程度更高时才报价。 换句话说,更小的 tick 并不必然意味着更好的市场。有一个最佳平衡点:tick 应该足够小,足以促进价格竞争;但又不能小到让排队优先级变得毫无意义,以至于流动性提供方不再积极报价。

在体育场馆预订——一个更有趣的例子

在这个例子中,我将对体育项目以及我所使用的纽约市平台进行匿名化处理。

让我们假设,有一个预订系统,其规则如下:

• 你可以预订一个球场,每次预约时间为1小时,从上午9点到下午5点。 可选的时间段包括:上午9点至10点、上午9点半至10点半、上午10点至11点、 上午10点半至11点半……下午3点半至4点半、下午4点至5点。

• 显然,如果用户A预订了1小时的球场,其他用户就无法再预订同一时间段的球场。

• 只要球场没有被他人预订,平台并不会反对用户在预订时段前后进行比赛。平台也不会向用户收取额外时间的费用。

• 平台设置了验证码和速率限制,以防止机器人恶意操控系统。

现在,让我们来思考一下:

• 在这样的规则下,你还能如何争取在预订球场时获得更大的价值?

• 平台的设计是否最优?从盈利的角度来看,他们是否应该允许用户以半价预订1小时的球场,或者干脆提供更细粒度、更灵活的时间段?

我们可以用利润来衡量:利润与预订总时长成正比。也就是说,如果球场在8小时内被预订了7小时,那么它的利润率为7/8 = 87.5%。

在继续阅读之前,请花几分钟思考这个问题,这是一个很好的思维实验。

剧透:

直接的策略是:假设球场的预订时间是9点到10点,以及12点到1点。 与其预订10点到11点或11点到12点,不如预订10点半到11点半。 由于系统只允许1小时的预约,没有人能在两侧的剩余30分钟内完成预订,因此你实际上可以确定, 这30分钟的球场将空置,即从10点到10点半,以及从11点半到12点。 当然,你并不能保证一定能拿到整整一小时的额外时间。 9点到10点的玩家可能会拖到10点到10点半,而12点到1点的玩家也可能提前到达, 准备11点半到12点。但从结构上讲,平台已经创造了两个无法预订的30分钟时间段。 如果你追求的是价值最大化,而非礼仪上的完美,那么预订中间那段时间,就能让你在两侧都拥有自由选择的余地。

平台无意间还创造了一种新的博弈模式。 由于平台允许30分钟的起始时间,却只销售1小时的预约,某些时间段便成了无法预订的空白。 战略型用户不再有动力尽可能早地预订自己想要的精确时间段。 相反,他们可能会等待附近空出的时段,然后在这些时段周围进行预订,从而在一方或双方都创造出空闲时间。 如果你太早预订,其他人可能会在你之后接连预订,进而抹去这些空闲时间。 但如果你等到排期已部分填满时再做预订,你就可以选择一个能够最大化你额外未付费球场使用时间的时段。

接下来,我们再增加两条规则:

• 平台允许用户在预约开始前24小时内取消预订,并全额退款。

• 平台会在预约开始前5天开放每个时间段的预订。因此,X日的9点预约将在X-5日的9点开放,X日的9点半预约将在X-5日的9点半开放,以此类推。

基于这些预订与取消规则,假设我想利用系统漏洞,抢占周六下午2点到3点的预约(假设这是一个热门时段),我该怎么做?

再次提醒:请像试图“玩转”系统的人一样思考问题,在继续阅读之前先试一试。

剧透:

假设当周六下午2点的预约开放时,你只是单纯地争抢这一时段,却难免有些嘈杂。 其他人也同样想占得这一名额,你甚至可能输掉这场“点击速度”的竞逐。 不过,由于平台允许无限次取消,你完全可以在最后一个可用的时段上“锁定”下来。 所以,这里有一个策略——(免责声明:我之前看到的平台已经修复了这一问题, 而且这样做也是理所当然的):周二,假设周六的11点到12点时段在当前时间为11点05分时已经空置, 那就直接去预订吧。接下来,执行以下操作:

你有没有发现,我们是如何将原本预订的11点到12点时段,滑动到了11点半到12点30分, 同时又将失去该时段的风险降到最低?我不必多说,但确实如此——只要持续保持对最后一个可用时段的“锁定”, 直到你赶上下午2点到3点,你就大功告成。 虽然这种做法看似天真,但确实需要大量的空闲时间,还要不停地查看手机。

同样,正是30分钟的粒度,让这种滚动锁定的策略成为可能。 如果平台只提供不重叠的时段:9点到10点、10点到11点、11点到12点, 等等,那么就不存在需要向前滑动的重叠预订。 用户必须直接争夺自己真正想要的时段。 平台也可以一次性开放所有时段,或者限制重复取消。

一个简单的产品构想:“让我们允许用户使用更细粒度的时间段,这样他们就能拥有更多灵活性, 而我们也能实现更高的利用率。”结果却适得其反——这种设计反而让系统变得更加容易被“玩弄”, 却降低了系统的盈利能力。

结论

教训并不是说粒度不好。粒度往往能提升灵活性和竞争性。但这也绝非免费的午餐。一旦用户具备了战略意识,更细微的增量反而能降低战略性重新定位的成本。

更细的粒度为用户提供了更多选择。有时,这些选择正是你所期待的;有时,你只是为房间里最烦人的那个人,打造了一个更为优雅的游戏机制。

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论