想象你是一家商场的招商经理,手里有两份报表:一份是开了五年的老店,账本厚厚一沓,每天卖什么、赚多少、回头客是谁,一目了然;另一份是昨天才开张的新店,没有销售记录、没有常客、连顾客喜欢什么口味都无从得知。老店的生意好不好,翻账本就能评估;新店呢?用同样的账本方法,你算出来的只能是一个大写的“不知道”。这正是推荐系统冷启动评估要解决的问题——当一批新物品、一批新用户刚刚进入系统,没有任何历史行为数据时,我们该拿什么尺子来衡量推荐做得怎么样?这篇文章会给你三把核心尺子:冷启动覆盖率(新物品有没有机会被看见)、点击率(看见了感不感兴趣)、转化率(感兴趣后有没有真正行动),再加上科学验证的 A/B 测试方法,最后把这些指标串成一条持续优化的评估闭环。学会了,你就能用数据说话,而不是凭感觉拍板。

岗位关联

掌握冷启动评估指标,你就能用数据而非直觉判断推荐策略的成败——这是推荐算法工程师和数据产品经理必须具备的核心能力,也是从“能跑模型”进阶到“会做科学决策”的关键一步。

目录
  1. 可视化演示
  2. 评估体系概述
  3. 冷启动覆盖率
  4. 点击率指标
  5. 转化率指标
  6. A/B测试设计
  7. 评估闭环落地
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示推荐系统冷启动评估三维度:新物品曝光漏斗、新物品CTR与存量选择性偏差曲线、A/B测试分流与提升度显著性,动态演示评估核心方法。

本节配有交互动效(进入视口后自动加载,约 3KB)。

评估体系概述

老店有账本,新店没有——这就是冷启动评估与常规评估的分水岭。一家开了五年的店,你可以用“月度营收、复购率、客单价”来考核;但一家昨天才开张的新店,这些指标全都算不出来,因为没有历史数据。推荐系统面对新上架的物品、新注册的用户时也一样:常规推荐评估依赖“用户过去的行为”来检验预测准不准,而冷启动场景下,过去是一片空白。所以我们必须换一把尺子。

这把尺子的刻度,取决于数据到底有多“空”。推荐系统的数据可以用一张“用户 × 物品”的大表格来理解:格子代表某个用户对某件物品产生过行为(点击、购买、收藏)。冷启动阶段,这张表格几乎全是空格。我们用稀疏度来量化这种“空”:

明确了“为什么特殊”之后,评估目标也就清楚了:冷启动评估要看三件事——探索覆盖够不够广(新品有没有被看见的机会)、推荐兴趣准不准(看见了感不感兴趣)、商业行动有没有(最终有没有转化)。评估时有四条原则:分层看(新物品与成熟物品分开统计)、分周期看(按上线天数分周观察)、对比看(与基线比相对提升)、联合看(多指标一起判断,不盯单点)。就像新店开业第一个月,你不会拿“年销售额”苛求它,而是盯住进店率、试吃率、回头客比例,等账本攒厚了再换回常规指标。冷启动评估的一切,都从这里出发。

稀疏度=1−N交互N用户×N物品\text{稀疏度} = 1 - \frac{N_{\text{交互}}}{N_{\text{用户}} \times N_{\text{物品}}}
稀疏度衡量的是“行为数据缺了多少”。它越接近 1,说明实际发生的用户-物品交互越少,系统越处于“两眼一抹黑”的冷启动状态。
  1. 交互总数 $N_{\text{交互}}$用户对物品产生的所有行为记录的总条数。新物品刚上线时,这个数字常常是零,因为没有用户见过它。
    N交互≈0N_{\text{交互}} \approx 0
  2. 理论最大交互数 $N_{\text{用户}} \times N_{\text{物品}}$每个用户都对每一件物品产生过行为时才能达到的上限。冷启动阶段这个分母是个天文数字,而分子几乎为零。
    N用户×N物品→巨大N_{\text{用户}} \times N_{\text{物品}} \to \text{巨大}
  3. 补集 $1 - \dfrac{N_{\text{交互}}}{N_{\text{用户}} \times N_{\text{物品}}}$用 1 减去“已有交互的占比”,剩下的就是数据的空白比例。稀疏度越接近 1,数据越匮乏。
    稀疏度≈1\text{稀疏度} \approx 1

冷启动覆盖率

新店装修好后,仓库里有 100 款商品,可顾客在门口只能看到橱窗里的 5 款。剩下的 95 款,连被看见的机会都没有——它们不是“卖不掉”,而是“根本没亮相”。冷启动覆盖率衡量的,正是“有多少新品真正获得了亮相机会”。

在推荐系统里,我们把冷启动阶段要评估的所有新物品记作集合 $\mathcal{I}_{\text{新}}$,把其中至少被推荐展示过一次(哪怕只有一个人看到)的物品记作曝光集合 $\mathcal{I}_{\text{曝光}}$。覆盖率就是这两者的比例:

覆盖率不是越高越好。如果覆盖率是 0%,说明所有新品都躺在“仓库”里没人看得见;但如果为了追求 100% 覆盖率,把流量像撒胡椒面一样平分给 1000 件新品,每件只能获得一两次曝光,用户很可能一件都不点,点击率会瞬间崩塌。这就是推荐系统里经典的探索与利用权衡:探索是“多看看新人”,利用是“深耕已知的好货”,两者抢的是同一份流量预算。覆盖率 80% 但点击率健康,常常好过覆盖率 100% 而点击率崩盘。像新店试营业,聪明的店长会把 20 款最有潜力的货摆在显眼位置试吃,而不是把 2000 个 SKU 全堆在货架上——覆盖率要解决的是“先让好东西被看见”,而不是“让所有东西都被看见”。

覆盖率=∣I曝光∣∣I新∣×100%\text{覆盖率} = \frac{\left|\mathcal{I}_{\text{曝光}}\right|}{\left|\mathcal{I}_{\text{新}}\right|} \times 100\%
覆盖率回答的问题是“新物品有没有被探索”。它只关心“有没有被看见一秒钟”,不关心用户是否点击、是否购买。
  1. 新物品集合 $\mathcal{I}_{\text{新}}$本次冷启动要评估的全部新物品,例如某天一次性上架的 500 件商品,是覆盖率的“分母”。
    I新={i1,i2,…,i500}\mathcal{I}_{\text{新}} = \{i_1, i_2, \dots, i_{500}\}
  2. 曝光物品集合 $\mathcal{I}_{\text{曝光}}$在这些新品中,至少被展示给一位用户一次的物品集合。“至少一次”是计数门槛,重复展示不重复计入。
    I曝光⊆I新\mathcal{I}_{\text{曝光}} \subseteq \mathcal{I}_{\text{新}}
  3. 集合大小之比 $\dfrac{\left|\mathcal{I}_{\text{曝光}}\right|}{\left|\mathcal{I}_{\text{新}}\right|}$用集合基数(元素个数)相除得到曝光占比,再乘以 100% 变成直观的百分比。
    ∣I曝光∣∣I新∣×100%\frac{\left|\mathcal{I}_{\text{曝光}}\right|}{\left|\mathcal{I}_{\text{新}}\right|} \times 100\%

点击率指标

橱窗前走过 100 个路人(曝光),其中 8 个人停下脚步进店看看(点击)。“进店率”就是推荐系统里的点击率,它是用户兴趣的第一个直接信号:推荐的内容有没有引起用户的注意。

点击率的计算非常直观——曝光次数中产生点击的比例:

冷启动阶段解读 CTR 有三个特别容易踩的坑。第一,样本量小、波动大:新品只获得 50 次曝光、5 个点击,算出 CTR=10%,看起来很美,但下一次随机波动可能就变成 2%,需要用置信区间或平滑方法判断,别拿小样本当真结论。第二,位置偏差:排在第一位的推荐位天生容易被点击,新品往往被安排到靠后的位置,CTR 被系统性低估,评估时要按位置分层校正。第三,别和成熟品比绝对值:新物品没有累积口碑和评价,天然吃亏,应该和同类新品的基线比,或者看它随曝光积累的上升趋势。新用户点击率同理——新用户对平台不熟悉,第一屏推荐准不准,决定了他是留下还是流失,也要单独统计、单独设基线。就像新店门口摆试吃能吸引人进门,但进店率只有 8% 不代表东西不好,可能只是招牌太暗、位置太偏——评估点击率时,必须连同“招牌位置”(推荐位)一起看。

CTR=C点击C曝光×100%\text{CTR} = \frac{C_{\text{点击}}}{C_{\text{曝光}}} \times 100\%
CTR 衡量的是“推荐内容对用户的吸引力”。它只回答“用户想不想看”,回答不了“看完之后愿不愿意买”。
  1. 曝光次数 $C_{\text{曝光}}$推荐结果被展示给用户的总次数。一次展示算一次曝光,同一个用户看到两次就算两次,它是点击率的“分母”。
    C曝光=∑展示1C_{\text{曝光}} = \sum_{\text{展示}} 1
  2. 点击次数 $C_{\text{点击}}$用户在曝光基础上真正点击进入详情页的次数。点击代表“有兴趣,想进一步看看”。
    C点击≤C曝光C_{\text{点击}} \leq C_{\text{曝光}}
  3. 比值 $\dfrac{C_{\text{点击}}}{C_{\text{曝光}}}$点击占曝光的比例,反映推荐位上的内容有多吸引人,乘以 100% 得到百分数。
    C点击C曝光×100%\frac{C_{\text{点击}}}{C_{\text{曝光}}} \times 100\%

转化率指标

进店的 8 位客人里,最终只有 1 位掏钱买单。点击率说明“感兴趣”,转化率才说明“愿意行动”。在电商场景里转化是下单,在内容平台是完播或收藏,在广告场景是付费——转化率是漏斗最底层、离商业结果最近的那把尺子。

转化率的计算基于点击之后的行为:

把曝光、点击、转化放在一起,就形成了用户行为的转化漏斗:曝光→点击→转化,三层逐级收窄。冷启动阶段转化率有一个显著特点:信任缺失。新品没有销量、没有评价、没有“别人买过”的社会证明,用户点进去后迟疑、犹豫、最终离开,转化率天然低于成熟品。所以评估冷启动转化率,要记住三点:一是与同类新品的基线比较,别拿绝对值苛求;二是看趋势,随着曝光积累、评价和销量爬升,转化率应该逐步走高;三是结合漏斗做诊断——如果曝光到点击的转化很高,但点击到转化的环节崩了,问题很可能出在详情页或商品本身,而不是推荐策略。就像新店开张头三个月转化率低很正常,因为街坊还没建立信任;聪明的店长会用“开业折扣+好评墙”攒信任,评估转化率时也要允许新店有一段“信任爬坡期”。

CVR=C转化C点击×100%\text{CVR} = \frac{C_{\text{转化}}}{C_{\text{点击}}} \times 100\%
CVR 衡量的是“从有兴趣到有行动”的跨越能力。它关注的是点击之后,用户有没有完成我们真正想要的目标行为。
  1. 点击次数 $C_{\text{点击}}$进入详情页或落地页的用户次数,是转化的“入口”,也是转化率的分母。
    C点击=用户从推荐位进入页面的次数C_{\text{点击}} = \text{用户从推荐位进入页面的次数}
  2. 转化次数 $C_{\text{转化}}$完成业务目标行为的次数。不同业务定义不同:电商看下单,内容平台看完播,本地生活看到店。
    C转化≤C点击C_{\text{转化}} \leq C_{\text{点击}}
  3. 比值 $\dfrac{C_{\text{转化}}}{C_{\text{点击}}}$转化占点击的比例,衡量页面和商品说服用户的能力,乘以 100% 得到百分数。
    C转化C点击×100%\frac{C_{\text{转化}}}{C_{\text{点击}}} \times 100\%

A/B测试设计

店长拿不定主意:招牌用红色还是蓝色?与其凭直觉拍板,不如开两家几乎一模一样的新店——同样的选址、同样的店员、同样的商品,只有招牌颜色不同——随机把顾客分成两拨分别接待,跑一个月,看哪家生意好。这就是 A/B 测试:用控制变量的随机对比实验,让数据替你做决定。

A/B 测试的原理是:把用户(或物品)随机分成实验组和对照组,分别应用新策略和老策略,然后计算两组的关键指标差异,再用统计检验判断这个差异是不是“运气好碰出来的”。检验两组点击率或转化率差异是否显著,常用 z 检验:

冷启动阶段的 A/B 测试有四个特殊设计要点。第一,分组单元选择:新品冷启动常用“物品分桶”——把新物品随机分成两拨,一拨交给新策略推荐,一拨交给老策略,这样能干净地看出策略对新品的影响;如果只按用户分组,用户可能根本没看到新品,实验就白做了。第二,样本量预估:冷启动阶段点击量小,跑几天可能一个显著差异都跑不出来,需要提前估算最小样本量。第三,防止辛普森悖论:它是统计学里一个著名陷阱——全局指标在提升,但拆开每个分层看都在下降。冷启动和成熟品混在一起统计时尤其容易发生,必须分层统计、分层检验。第四,时间窗口覆盖完整冷启动周期:探索策略的收益要等足够多的曝光显现出来,实验至少要跑完新品的“冷启动爬坡期”,否则探索策略的价值还没发挥就被误判成失败。就像两家新店只有招牌颜色不同,其他变量全部控制住,红色还是蓝色更好才不会被噪音淹没——A/B 测试的精髓,就是让新老策略的差异被严格隔离、被数据看见。

z=p^A−p^Bp^(1−p^)(1nA+1nB)z = \frac{\hat{p}_A - \hat{p}_B}{\sqrt{\hat{p}(1-\hat{p})\left(\dfrac{1}{n_A} + \dfrac{1}{n_B}\right)}}
z 统计量衡量的是“组间差异相对于随机波动的大小”。|z| 超过 1.96,意味着在 95% 置信水平下,这个差异是抽样误差造成的概率不足 5%,我们才敢说新策略真的有效。
  1. 两组指标估计 $\hat{p}_A, \hat{p}_B$实验组(新策略)和对照组(基线策略)各自的点击率或转化率观测值,例如 $\hat{p}_A = \dfrac{C_A}{n_A}$。
    p^A=CAnA,p^B=CBnB\hat{p}_A = \frac{C_A}{n_A}, \quad \hat{p}_B = \frac{C_B}{n_B}
  2. 合并概率 $\hat{p}$把两组的成功次数与样本量合并,得到总体比率的估计值,用来计算“差异的波动幅度”。
    p^=CA+CBnA+nB\hat{p} = \frac{C_A + C_B}{n_A + n_B}
  3. 标准误 $SE$衡量两组比率差异的抽样波动大小。样本量越大,标准误越小,也就是说结论越可靠。
    SE=p^(1−p^)(1nA+1nB)SE = \sqrt{\hat{p}(1-\hat{p})\left(\frac{1}{n_A} + \frac{1}{n_B}\right)}
  4. z 统计量 $\dfrac{\hat{p}_A - \hat{p}_B}{SE}$差异除以波动。|z|>1.96 说明差异显著,不是偶然;|z| 很小则说明差异可能是运气,不能下结论。
    ∣z∣>1.96⇒差异显著|z| > 1.96 \Rightarrow \text{差异显著}

评估闭环落地

店长每天晨会看三张表:橱窗曝光率(覆盖率)、进店率(点击率)、成交率(转化率)。发现进店率低,就去调招牌;发现成交率低,就去优化陈列——改完之后,下周再看报表有没有变好。评估不是目的,改进才是。推荐系统的冷启动评估,同样要跑成这样一个“看数据→做决策→再看数据”的闭环。

闭环的第一步是把指标沉淀成看板。把覆盖率、新品点击率、新品转化率、A/B 实验结果汇总到一张“冷启动专属看板”上,按天或按周刷新,让所有人都能看到冷启动的进展。第二步是多指标权衡:覆盖率上去了但点击率掉了,怎么办?这时候需要用提升度(Lift)来量化“新策略相对基线到底改善了多少”:

第三步是策略优化决策,让评估结果真正指挥行动:覆盖率长期低于阈值,就增加探索流量预算;新品点击率显著低于同类,就检查人群匹配是否错位;转化率爬坡太慢,就联动运营部门补充评价、信任素材;A/B 实验显著获胜,就全量上线,输了就回滚并复盘原因。这套流程在管理学里叫 PDCA 循环(计划-执行-检查-处理),在推荐系统里就是标准的迭代节奏。好店长不是凭感觉经营,而是靠“晨报表→行动→下一期晨报表”的循环把生意越做越好。冷启动评估也一样——只有让指标看板、A/B 实验、策略迭代三个齿轮咬合转动起来,冷启动才能从“碰运气”变成“科学管理”。

Lift=p新策略−p基线p基线×100%\text{Lift} = \frac{p_{\text{新策略}} - p_{\text{基线}}}{p_{\text{基线}}} \times 100\%
Lift 是相对提升率,把不同口径的指标变化标准化,方便对比“覆盖率涨了 20% 值不值”和“点击率跌了 3% 疼不疼”。
  1. 基线指标 $p_{\text{基线}}$改动前策略在历史数据上的指标值(如点击率),相当于“旧账本”上的基准数字。
    p基线=历史策略的 CTRp_{\text{基线}} = \text{历史策略的 CTR}
  2. 新策略指标 $p_{\text{新策略}}$上线新探索策略后,用同一口径计算出的指标值。
    p新策略=新策略的 CTRp_{\text{新策略}} = \text{新策略的 CTR}
  3. 相对变化 $\dfrac{p_{\text{新策略}} - p_{\text{基线}}}{p_{\text{基线}}}$用提升量除以基数,得到标准化的相对提升百分比,乘以 100% 后方便跨业务比较。
    Lift=Δpp基线×100%\text{Lift} = \frac{\Delta p}{p_{\text{基线}}} \times 100\%

AI 应用场景

电商平台新品冷启动评估

阶段:模型评估与策略迭代

解决的问题:电商平台每周有上千件新品上架,新品没有销量、没有评价、没有历史行为,常规的“整体点击率”指标会把新品表现淹没在大盘里,导致“感觉上新没效果,但数据说整体挺好”的错觉。需要用覆盖、兴趣、行动三层指标单独衡量新品推荐。

具体案例:某服饰电商搭建“新品冷启动看板”,每周监控三个数字:新品覆盖率(本周新品至少曝光 1 次的比例)、新品 7 日点击率(与上月新品基线对比)、新品转化率(对比成熟品转化率打六折的预期线)。同时跑 A/B 实验:把探索流量从 5% 提到 8%,z 检验确认新品点击率提升 11% 且转化率不下降后,全量上线新探索策略。

短视频平台新作品冷启动流量池

阶段:模型部署与流量策略

解决的问题:短视频平台每天有数百万新视频上传,新视频没有任何播放历史,无法直接进入精准推荐流程。平台需要用小流量池快速“试水”,判断哪些新视频值得加推——这就需要一个完整的冷启动评估体系。

具体案例:平台给每个新视频分配一个初始流量池,用“池子覆盖率”(多少比例的待测视频获得了初步曝光)、“完播率”(相当于转化率,看完才算行动)和“互动率”来评估。团队用 A/B 测试对比“500 曝光池”和“1500 曝光池”两种策略,z 检验发现高曝光池覆盖串提升明显,但完播率显著下降,最终选择了折中的 800 曝光池并沉淀为平台默认策略。

Python 演示

python51 行
"""冷启动评估模拟:覆盖率/点击率/转化率 + A/B 检验"""import randomimport math  def simulate(n_user, strategy, item_num=2000):    """模拟一组用户对新物品的曝光/点击/转化过程"""    quality = [random.random() for _ in range(item_num)]    score = [0] * item_num    exposed = set()    imp = click = conv = 0    for _ in range(n_user):        if strategy == "random":            item = random.randrange(item_num)        else:            ranked = sorted(range(item_num),                            key=lambda i: score[i], reverse=True)            item = random.choice(ranked[:max(1, item_num // 20)])        exposed.add(item)        imp += 1        if random.random() < 0.04 + 0.08 * quality[item]:            click += 1            score[item] += 1            if random.random() < 0.10 + 0.10 * quality[item]:                conv += 1    return imp, click, conv, len(exposed) / item_num  def z_score(n_a, c_a, n_b, c_b):    """两比例 z 检验:判断 B 组相对 A 组的提升是否显著"""    p_a, p_b = c_a / n_a, c_b / n_b    p = (c_a + c_b) / (n_a + n_b)    se = math.sqrt(p * (1 - p) * (1 / n_a + 1 / n_b))    return (p_a - p_b) / se  def main():    random.seed(7)    imp_a, click_a, conv_a, cover_a = simulate(6000, "random")    imp_b, click_b, conv_b, cover_b = simulate(6000, "popular")    print(f"策略A(纯随机):   覆盖率={cover_a*100:.1f}% "          f"CTR={click_a/imp_a*100:.2f}% CVR={conv_a/click_a*100:.2f}%")    print(f"策略B(流行度):   覆盖率={cover_b*100:.1f}% "          f"CTR={click_b/imp_b*100:.2f}% CVR={conv_b/click_b*100:.2f}%")    z = z_score(imp_b, click_b, imp_a, click_a)    print(f"A/B 检验 z={z:.2f}, |z|>1.96 表示策略B点击率显著更优: "          f"{abs(z) > 1.96}")  if __name__ == "__main__":    main()
目的:模拟两种冷启动策略——“纯随机探索”和“流行度利用”,输出各自的覆盖率、点击率、转化率,并用 z 检验判断哪种策略的点击率提升显著。
  1. quality = [random.random() for _ in range(item_num)]给每件新品一个隐藏的“真实质量分”,模拟现实世界里商品有好有坏
  2. exposed = set()用集合天然去重的特性,统计哪些新品至少获得过一次曝光
  3. item = random.randrange(item_num)纯随机探索:闭着眼睛从全部新品里挑一件推荐,覆盖率上升最快
  4. ranked = sorted(range(item_num), key=lambda i: score[i], reverse=True)流行度利用:按累计点击得分排序,只从头部物品里挑选
  5. exposed.add(item)每次推荐曝光都登记入集合,最终 len(exposed) 就是曝光过的新品数
  6. if random.random() < 0.04 + 0.08 * quality[item]:点击概率由真实质量决定,质量越高越容易被点击,模拟真实世界的反馈
  7. score[item] += 1点击反馈回传给物品,让策略 B 能“利用”这些信号
  8. len(exposed) / item_num覆盖率 = 曝光过的新品数 ÷ 新品总数
  9. se = math.sqrt(p * (1 - p) * (1 / n_a + 1 / n_b))计算两组点击率差异的标准误,样本量越大标准误越小
  10. return (p_a - p_b) / sez 统计量:差异除以波动,归一化之后才能判断“显著”还是“运气”

常见误区

误区点击率是推荐系统最重要的指标,我只需要盯住 CTR 就够了。CTR 高就说明冷启动做得好,其他指标都是多余的。

正解点击率只回答了“用户想不想看”,回答不了“看完愿不愿意买”。用户可能被标题吸引点进去,但详情页空空如也、没有评价、没有信任感,转头就走。冷启动评估必须覆盖漏斗三层:覆盖率看探索广度、CTR 看兴趣、CVR 看行动,三把尺子缺一不可,就像新店不能只盯进店率而不管成交率。

为何常见:CTR 是推荐系统最常用、最容易实时观测的指标,形成了“一指遮天”的思维惯性,忽略了漏斗下游的流失环节。

误区覆盖率反映系统的公平性,我要把所有新物品都推荐出去,覆盖率做到 100% 才算成功。

正解覆盖率是“探索广度”的度量,但流量是稀缺资源。把 1000 件新品每件只发 1 次曝光,用户很可能一件都不点,点击率趋近于零。真正的目标是在探索与利用之间找平衡:先让有潜力的新品获得足够曝光,同时保证整体效率不崩。覆盖率 80% 且点击率健康,常常好过覆盖率 100% 而点击率崩盘。

为何常见:“覆盖率”这个名字听起来像“越全越好”,人们容易把它当成单目标去优化,忽略了它与点击率、转化率之间的此消彼长。

误区A/B 测试跑了一周,新品转化率比老品低了 30%,肯定是新策略不行,赶紧回滚上线前的版本。

正解冷启动新品没有销量、评价和用户见证,信任缺失使转化率天然低于成熟品。正确的做法是:跟同类新品的基线比,而不是跟老品比绝对值;看转化率随时间的爬坡趋势,而不是盯单点数字。如果实验分组正确、样本量足够、时间窗口覆盖完整冷启动周期,那时再判断策略好坏才靠谱。

为何常见:习惯把转化率当作绝对的质量指标,忽略了冷启动阶段“信任缺失”这个结构性因素。

误区反正都是随机,把用户切两半,新策略给一半、老策略给一半,跑几天看结果就行了,不需要想太多。

正解冷启动实验有四个关键坑:一是分组单元要选对,新品冷启动常用物品分桶而非用户分桶;二是样本量要预估,新品曝光少,几天跑不出统计显著性;三是要防辛普森悖论,全局指标提升可能掩盖冷启动子集的下降,必须分层看;四是实验周期要覆盖完整冷启动探索周期,否则策略价值还没显现就被误判为失败。

为何常见:A/B 测试听起来简单,但随机、样本量、分层、周期每个环节都有反直觉的统计陷阱,容易想当然。

面试题

Q1. 冷启动覆盖率反映的是什么?

单选题 · easy

  • A.曝光过的新品数占新品总数的比例← 正确答案
  • B.点击过的新品数占曝光品数的比例
  • C.转化过的新品数占点击品数的比例
  • D.推荐系统每日处理请求的总量

答案:A。覆盖率关注“有没有被看见”,分子是至少曝光过一次的新品数,分母是全部新品数。B 是点击率口径,C 是转化率口径,D 是工程性能指标,与覆盖率无关。

Q2. 点击率 CTR 的标准计算方法是?

单选题 · easy

  • A.点击次数除以曝光次数← 正确答案
  • B.转化次数除以点击次数
  • C.曝光次数除以点击次数
  • D.转化次数除以曝光次数

答案:A。点击率 = 点击次数 ÷ 曝光次数,衡量推荐内容对用户的吸引力。B 是转化率(CVR),C 是 CTR 的倒数,D 是从曝光直接到转化的整体转化口径,均不符合定义。

Q3. 数据稀疏度接近 1 说明系统处于什么状态?

单选题 · easy

  • A.用户行为数据非常充足
  • B.用户行为数据极其匮乏← 正确答案
  • C.推荐系统运行异常缓慢
  • D.新物品数量已经达到饱和

答案:B。稀疏度 = 1 − 实际交互数/(用户数×物品数)。接近 1 表示已有交互占比几乎为零、数据极其匮乏,这正是冷启动要面对的环境;A 是稀疏度接近 0 的情况,C、D 与稀疏度无关。

Q4. 覆盖率 100% 但点击率很低,最可能的解释是?

单选题 · mid

  • A.系统已完美化解冷启动难题
  • B.探索过广导致流量切碎曝光不足← 正确答案
  • C.用户对推荐完全不感兴趣且无解
  • D.覆盖率与点击率没有任何关系

答案:B。覆盖率 100% 意味着所有新品都被暴露了,但如果流量被切得过碎,每件新品只有很少曝光,用户注意力分散,点击率自然低。正确做法是降低探索广度、聚焦潜力品,在探索与利用之间找平衡,而不是追求极端覆盖率。

Q5. 冷启动阶段解读 CTR 时,哪一项属于错误做法?

单选题 · mid

  • A.曝光量小导致统计波动较大
  • B.推荐位置偏差导致 CTR 被低估
  • C.新品无评价导致转化率偏低
  • D.必须追求 CTR 与老品绝对持平← 正确答案

答案:D。A、B、C 都是冷启动解读点击率时需留意的点:小样本波动、位置偏差、信任缺失导致的指标偏低。D 是错误做法——新品 CTR 天然吃亏,应与同类新品基线比较或用趋势判断,而不是苛求与老品持平。

Q6. 新品转化率低于成熟品,最合理的判断是?

单选题 · mid

  • A.推荐策略一定失败应立即回滚
  • B.冷启动缺少信任需与同类基线比← 正确答案
  • C.转化率不重要只看点击率即可
  • D.提高曝光量其他指标不必关注

答案:B。新品没有销量、评价和用户见证,“信任缺失”使转化率天然低于成熟品。正确做法是对比同类新品的基线、观察爬坡趋势;A 直接判死刑过于武断,C 忽略漏斗下游,D 只看曝光不顾转化,都是片面评估。

Q7. A/B 检验中 |z| > 1.96 的统计学含义是?

单选题 · hard

  • A.实验组比对照组的数值刚好高出 1.96
  • B.差异显著指抽样误差造成该差异的概率不足 5%← 正确答案
  • C.两组样本量必须完全相等才能下结论
  • D.覆盖率这类指标不需要做显著性检验

答案:B。z 统计量 = 差异 ÷ 标准误。|z|>1.96 对应 95% 置信水平,表示这个差异由抽样运气造成的概率小于 5%,因此认为差异显著。A 混淆了统计量与百分点,C 中样本量不要求相等,D 中覆盖率同样需要显著性检验。

Q8. 冷启动 A/B 测试中“物品分桶”分组方式的含义是?

单选题 · hard

  • A.新物品随机分成两组交给新旧策略← 正确答案
  • B.用户随机分成两组一组只看新品
  • C.所有物品按价格高低分成实验组
  • D.新旧策略都推荐全部新品只看总量

答案:A。物品分桶是把“待评估的新品”作为随机单元——新品随机落入策略 A 组或策略 B 组,两组物品构成无系统性差异,能干净识别策略对新品的效果。B 是用户分桶,C 不是随机分组,D 没有对照组。

Q9. 冷启动评估体系的核心指标通常包括哪些?

多选题 · mid

  • A.冷启动覆盖率指标← 正确答案
  • B.新物品点击率指标← 正确答案
  • C.新用户转化率指标← 正确答案
  • D.服务器接口响应时长

答案:ABC。覆盖率衡量探索广度,点击率衡量兴趣,转化率衡量行动,三者构成冷启动评估的漏斗体系。D 是工程性能指标,不属于业务效果评估的范畴。

Q10. 关于冷启动评估的正确做法有哪些?

多选题 · hard

  • A.新品 CTR 与成熟品基线分开比较← 正确答案
  • B.覆盖率越高越好无需考虑效率
  • C.A/B 实验需覆盖完整冷启动周期← 正确答案
  • D.综合看板监控多指标并沉淀结论← 正确答案

答案:ACD。冷启动指标要与同阶段基线对比(A);实验周期要覆盖探索收益充分显现的时间(C);看板联动覆盖率、CTR、CVR 与实验结论形成决策闭环(D)。B 错误——覆盖率过度拉满会把流量切碎、损害点击率与转化率,必须做探索与利用的权衡。