Holdout vs A/B на практике: когда какой использовать

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Что такое holdout

Holdout — это группа юзеров, которые постоянно не получают новые фичи / изменения, в то время как остальные (treatment) их получают. Сравниваем метрики holdout vs остальной аудитории через 3-6-12 месяцев.

В отличие от A/B (где T и C равны по размеру и длится 2-4 недели), holdout — это долгий retain control group, часто 1-5% юзеров.

Зачем нужен holdout

1. Долгосрочный effect

A/B на 2 недели показывает краткосрочный эффект. Может не показать ущерб через 3 месяца.

Пример: новая push-нотификация поднимает retention в 1 неделю. Через полгода — fatigue, общий retention падает на 5%. A/B на 2 недели не покажет.

2. Кумулятивный effect нескольких фич

За полгода компания катит 50 фич. Каждая A/B показывала рост 0.5-2%. Но общий retention через 6 месяцев упал. Holdout это покажет.

3. Incrementality

Реклама / маркетинг / промо — кампания утверждает +10% sales. Но часть этих sales была бы и без кампании. Holdout показывает чистый incremental.

4. Когда A/B невозможен

  • Изменения, которые юзер видит во всех браузерах / устройствах
  • Изменения, которые юзер обсуждает с друзьями (соцсети)
  • Изменения, связанные с support-командой (один call-center не делится на T/C)

Дизайн holdout-эксперимента

Выбор группы holdout

  1. Случайная выборка 1-5% юзеров. Должна быть представительной.
  2. Юзеры постоянно держатся в holdout — никаких новых фич.
  3. Группа изолирована от всех A/B-экспериментов (или включаются только специально).

Длительность

  • Минимум 3 месяца. Меньше — нет долгосрочного эффекта.
  • Стандарт 6-12 месяцев.
  • Long-term holdout — годами для отдельных вопросов (incrementality рекламы).

Метрики

  • Главные продуктовые метрики: retention, активность, revenue, NPS
  • Сравнение holdout vs остальные
  • Особое внимание тренду: рост или стагнация со временем

Размер

В отличие от A/B (баланс 50/50), holdout — это малый %. 1-5%. Главное — выборка достаточна для statistical power на ключевых метриках.

Когда использовать A/B, когда holdout

Ситуация Подходит
Краткосрочный эффект конкретной фичи (1-4 недели) A/B
Долгосрочный эффект (3+ месяца) Holdout
Несколько фич за полгода — общий эффект Holdout
Incrementality рекламы Holdout
Эффект, нарушающий SUTVA (сетевые эффекты) Switchback или holdout
Изменения, которые юзер видит вне приложения Holdout

Не противопоставлять. Многие компании запускают и A/B (для конкретных решений) и holdout (для долгосрочного контроля).

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Примеры на практике

Netflix

Long-term holdout 1% юзеров. Сравнивает retention этой группы с остальными. Показывает кумулятивный эффект всех изменений за квартал.

Реклама / промо

Holdout для performance marketing. 1-2% не видят рекламу никогда. Сравнение conversion → выяснение incrementality (сколько sales реально от рекламы).

Push-нотификации

Holdout для push. 5% юзеров не получают никаких push. Через 3 месяца сравниваем DAU, retention, conversion. Показывает истинный эффект push на retention.

Promo / купоны

Holdout для промо. Часть юзеров не видит купоны. Сравниваем revenue. Помогает понять, сколько revenue был бы и без промо.

Recommender system

Holdout без рекомендаций — base case. С рекомендациями — рост engagement, но в каком объёме? Holdout даёт baseline.

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

  • Слишком короткий holdout. Меньше 3 месяцев — нет долгосрочного эффекта.
  • Holdout-группа не изолирована от A/B. Юзер из holdout попадает в новые A/B-эксперименты — холдоут «загрязнён».
  • Маленький holdout (<0.5%). Нет statistical power.
  • Сравнивать без учёта селекции. Если holdout-юзеры систематически отличаются от treatment — bias.
  • «Запустим holdout навсегда». Через 3-6 лет юзеры в holdout перестают быть представительными. Нужно периодически refresh holdout-pool.

Связанные темы

FAQ

Сколько % юзеров держать в holdout?

Обычно 1-5%. Зависит от размера компании и важности долгосрочного контроля. Yandex / Tinkoff / большие — 1-2%. Малые — 5%.

Можно ли использовать holdout одновременно с A/B?

Да. Holdout — это long-term контрольная группа. A/B — short-term эксперименты на остальных юзерах.

Как объяснить бизнесу, что 5% юзеров постоянно лишены фич?

«Это инвестиция в качество измерений. Без holdout мы можем накапливать ущерб незаметно и потерять больше через год.»

Когда holdout не нужен?

Очень малые компании (выборки нет). Или продукт с ультра-короткими циклами (фичи живут неделю).

Что делать, если holdout показал, что общий эффект отрицательный?

Анализ: какие фичи прокатились за период. Откатить или переосмыслить. Holdout — инструмент диагностики, не приговор.