Novelty effect в A/B-тестах

Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.

Зачем это знать

Запустили новый баннер — CTR взлетел на 20%. Через неделю — +5%. Через месяц — 0%. Это novelty effect: пользователи кликают на новое просто из любопытства, а не из-за value.

Знание novelty effect отделяет senior аналитика от junior: первый подождёт и проверит, второй сразу shipит с +20%.

Короткое объяснение

Novelty effect — временный буст метрик из-за новизны features. Со временем пропадает.

Противоположность — primacy effect: пользователи сопротивляются изменениям, метрики временно падают.

Оба эффекта могут создать ложные выводы в коротких A/B-тестах.

Почему возникает

  • Пользователи замечают новое → кликают из любопытства
  • Новое видно → A/B отличим от контроля в UI → pseudo-treatment compared
  • Emotional response на change, не persistent behavior

Primacy effect (обратное)

Attached к текущему дизайну → новое не нравится → metrics падают.

Примеры:

  • Redesign интерфейса: первая неделя ↓, потом восстановление
  • Нового layout кнопок: click confusion → CR падает

Пример

Tech giant запустил новую search UI.

Week 1 A/B: engagement +15%. Ship?

Проверка. Подождать ещё 2 недели:

  • Week 2: +8%
  • Week 3: +2%
  • Week 4: +1%

Это novelty effect. Ship on long-term lift = +1%, не +15%.

Как детектировать

1. Time series lift

Plot metric over time. Novelty:

  • Steep ↑ первые дни
  • Gradual ↓
  • Flattens на новом baseline

Primacy:

  • Steep ↓ первые дни
  • Recovery
  • Stabilizes

2. Returning vs new users

  • Новые users не знают «старого» → не showing novelty effect сильно
  • Returning users (особенно power users) — showing strongly

Если lift сильно отличается между cohorts — novelty.

3. Analysis by exposure duration

Users with 1 day exposure vs users with 2 weeks exposure. Разница → novelty.

Как управлять

1. Дольше A/B

2-4 недели вместо 1. Novelty stabilizes.

2. Burnin period

Первые N дней — разогрев. Не учитывать в analysis.

3. Holdout long-term

Постоянный holdout показывает long-term truth.

4. Follow-up study

Через 3 месяца — повторить A/B или посмотреть holdout.

В SQL (detection)

SELECT
    EXTRACT(week FROM experiment_date) AS week,
    AVG(CASE WHEN GROUP = 'treatment' THEN metric END) -
    AVG(CASE WHEN GROUP = 'control' THEN metric END) AS lift
FROM experiment
GROUP BY 1;

Если lift падает week-over-week → novelty.

Особенно актуально для

  • UI changes — видимы, triggers новизну
  • Notifications — привыкают / раздражаются со временем
  • Content feeds — novelty of new algorithm
  • Gamification — streak bonuses лучше работают первую неделю

Когда это НЕ novelty

  • Background features (backend optimizations)
  • Не-видимые изменения (pricing)
  • Features with utility growing over time (retention → больше ценности)

Ship decision framework

  1. Short-term lift выглядит значимым?
  2. Trend стабилизируется или падает?
  3. Segmentation: returning vs new — отличается ли lift?
  4. Если возможно — continue для long-term confirmation

Ship только если long-term lift positive и meaningful.

На собесе

«Что такое novelty effect?» Временный буст метрики от новизны, угасает со временем.

«Как detecting?» Time series lift, сегментирование cohorts.

«Как избегать ложных решений?» Длиннее тест, holdout, follow-up.

«Primacy effect?» Обратное — временное падение от resistance change.

Частые ошибки

Ship после недели

Classic ошибка junior аналитика.

Игнорировать segmentation

Returning users — главные source novelty signal.

Не делать follow-up

Ship и забыть → нет feedback на long-term.

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

FAQ

Всегда ли убивает A/B?

Нет. Если решение можно откатить (soft ship) — ok ship и monitor.

Как долго длится?

Обычно 2-6 недель. Зависит от nature feature.

Primary effect опаснее?

Risk — можно «убить» хорошую feature. Balance против novelty.


Тренируйте A/B — откройте тренажёр с 1500+ вопросами для собесов.