探索与利用

最近在美团网的搜索列表上做了一些探索与利用(Explore & Exploit,简称 EE)的实验,本文主要分享一下实验步骤和取得的效果,仅供大家参考。本文不会介绍详细的 EE 算法,请关注 EE 算法的同学去读相关的 Paper。


1 背景

美团网现在日均在线商家(POI) 大于200万,在线的团单(DEAL) 大约400万。在搜索、推荐和筛选中,部分 POI/DEAL 由于历史销量、访购率等指标比较低,从而导致排名靠后,进而 PV 更低,最终导致严重的马太效应。另外一部分新加入的 POI 也会由于缺乏历史PV、点击率、访购率等数据而排名靠后。探索与利用实验的目的就是专门拿出一部分流量,针对上面两部分 POI,给予他们更多的展示机会来缓解这种不平衡的局面,同时整个平台也会收集到用户在这部分 POI 上的各种行为数据,用在搜索、推荐和筛选的排序模型当中去。

2 评价指标

因为搜索、推荐和筛选都是单独的业务线,为了不影响每个业务线的指标。我们评价这个实验效果的指标也采取了业务线的指标,具体地为:访购率、下单率和交易额。

3 实验步骤

整个实验采取的是比较保守的策略,分成了四个步骤。

3.1 步骤一

手工准备少量高质量的 POI,在搜索列表中把这些 POI 固定提权到某一个位置(比如说第10位),然后观察参与 EE 的 POI 的访购率、下单率和交易额,整体 POI 的访购率、下单率和交易额,发现都是正向效果(参与 EE 的POI 的效果正向是显然的)。这一步的关键点在于搭建整个实验平台,分流量做 AB Test,最终产生数据报表,同时有了这部分数据,也很容易说服不太懂技术的 PM 和其他相关人员继续接下来的实验。

3.2 步骤二

系统性的考虑 EE 的自动化,自动化地提取部分 POI 作为 EE 的 POI 集合,并针对每个 POI 设置退出条件(参见问题部分的问题2),然后将这部分 POI 提权到固定位置。选取5%的流量作为实验组,5%的流量作为对照组,观察各个指标(隐去了绝对值,只显示了百分比),发现整体效果不错。

实验组、对照组各5%流量 实验组 Vs 对照组
参与 EE 的 POI 的购买用户数 +3.64%
参与 EE 的 POI 的下单量 +3.79%
整体 POI 的购买用户数 +0.11%
整体 POI 的下单量 +0.35%
整体交易额 +1.03%
3.3 步骤三

不采用提权到固定展位,开发支持 UCB 的 EE 算法包,用 UCB 的思想去做 POI 的提权。上线30%的流量,观察各个指标(隐去了绝对值、只显示了百分比),发现效果也还不错。

实验组、对照组各30%流量 实验组 Vs 对照组
参与 EE 的 POI 的购买用户数 +1.26%
参与 EE 的 POI 的下单量 +1.18%
整体 POI 的购买用户数 -0.04%
整体 POI 的下单量 +0.03%
整体交易额 +0.19%
3.4 步骤四

100%流量上线,大功告成。

4 问题

  1. 考虑到不影响业务指标,我们只选取了部分需要 EE 的 POI,这部分 POI 如何选取的? 我们有一个线下的 POI 质量模型,主要考虑到了 POI 和 DEAL 的属性、折扣力度、立减金额、促销份数等等。

  2. 退出机制:参与 EE 的 POI 怎么退出? 退出机制有两种,第一种为 PV 机制,即每个 POI 只要 PV 达到一定数,EE 就结束。选择每个 POI 的时候,我们会统计同品类同商圈下所有的 POI 购买量达到一定数量时的 PV 值,然后取中位数得到参与 EE 的 POI 的 PV 值。第二种为 CTR 机制,即每个 POI 只要 CTR 达到一定值,EE 就结束,这个 CTR 值跟上面 PV 的统计类似。