Мало данных и мало времени: 6 способов поднять мощность A/B без «накруток»

Классика: трафика на тест еле хватает, продакт хочет решение “к пятнице”, и начинается шаманство: подглядывания в результаты, десять срезов “где значимо”, смена метрики на ходу. Цена обычно одна: вы релизнете шум, откатите через неделю и потеряете доверие к экспериментам надолго.

Мощность ломается не потому, что “у нас мало пользователей”. Она ломается из-за дисперсии и измерительного мусора: метрика скачет, экспозиции размазаны, единица рандомизации выбрана криво, в выборке куча тех, на кого фича не влияет. Трафик вы не создадите, но сигнал можно сделать чище.

Минимальный стандарт, который реально работает:

  1. Режьте дисперсию через до-период: CUPED, коварииаты, baseline-поведение. Главное правило: ковариаты должны быть предэкспериментальными и одинаково доступны для всех.

  2. Улучшайте метрику, а не “значимость”: фиксируйте агрегацию (per user vs per event), стабилизируйте знаменатель в ratio-метриках, заранее задавайте обработку выбросов. Не “убираем хвосты, потому что мешают”, а один раз формулируем правило и живём с ним.

  3. Поднимайте долю экспозиций: проверьте eligibility, триггеры показа, фолбэки, дедупликацию, лаги событий. Часто половина мощности умирает в том, что люди рандомизировались, но фичу не увидели или увидели частично.

  4. Снижайте шум правильно: не “порежем на 20 сегментов”, а стратифицируйте рандомизацию по ключевому фактору (платформа, new/returning), или заранее исключите аудиторию, на которую эффект физически не может лечь.

  5. Выбирайте MDE честно: MDE должен быть равен минимально полезному эффекту, а не “самому маленькому, который хочется увидеть”. Если MDE ниже того, что бизнес вообще заметит, тест превращается в вечную недостигайку.

  6. Пересмотрите дизайн: иногда обычный A/B не подходит. Для сильно временных эффектов нужен switchback, для региональных влияний — geo/cluster, для “до/после” с сезонностью — дизайн с контролем и предокном. Это не читерство, это правильная постановка эксперимента.

Хорошая практика выглядит скучно: до старта вы фиксируете метрику, единицу рандомизации, ковариаты, MDE и правила остановки. И принимаете, что “инконклюзивно” — тоже результат. Единственная оговорка: если эффект ожидаемо долгий или с сетевыми внешними эффектами, быстрыми трюками мощность не спасёте — нужна другая методология или горизонт.