К тренажеру
ВопросHardab-testingРеальный собес

Как A/B-тестировать новую карусель или тег Deal of the Day

В marketplace добавляют новую карусель или тег Deal of the Day с модельным отбором объявлений. В A/B выросла конверсия. Как понять, что сработала именно модель, а не просто новый UI/тег?

Короткий ответ

Нужен дизайн, который разделяет эффект поверхности и эффект модели: control, UI-only/random/baseline ranking и model ranking. Randomization обычно на user level, метрики conversion/contact/transaction плюс guardrails.

Полный разбор

Если в treatment одновременно появились новый UI-блок, тег и новая модель, uplift нельзя приписать модели. Пользователи могли кликать просто на новый яркий элемент. Поэтому нужен факторный или staged experiment.

Минимальный дизайн: control без блока; treatment A с блоком и простым baseline/random/правилами; treatment B с блоком и ML ranking. Разница A-control показывает эффект поверхности, B-A показывает добавленную ценность модели. Randomization обычно user-level, чтобы один пользователь видел консистентный опыт. Для marketplace можно дополнительно контролировать seller/category exposure.

Метрики: conversion/contact/purchase, CTR блока, downstream transaction, revenue/GMV, time-to-sell, complaints/hides, diversity/fairness, seller cannibalization. Важно заранее определить primary metric и длительность теста, проверить sample ratio mismatch и interference между пользователями/листингами.

Теория

Это вопрос про causal experiment design. Когда UI и модель меняются одновременно, обычный A/B отвечает "помог весь treatment", но не "помогла ли модель".

Типичные ошибки

  • Приписать весь uplift модели.
  • Не добавить UI-only или baseline-ranking arm.
  • Игнорировать marketplace interference и seller exposure.

Как отвечать на собеседовании

  • Сразу скажи, что нужно отделить эффект новой поверхности от эффекта ранжирования.
  • Предложи control / baseline UI / ML UI arms.