Sobes.tech
Back to questions
Middle — Senior
12

Что такое heterogeneous treatment effect и как его искать?

Companies where asked
ПлатформаОФД
Тинькофф

Answer from AI

sobes.tech AI

Что хотят услышать интервьюеры:

Heterogeneous treatment effect — это ситуация, когда эффект воздействия отличается для разных сегментов пользователей, а не является одинаковым в среднем. Важно уметь объяснить, что средний lift может скрывать сильные различия между группами. Для поиска таких эффектов обычно смотрят на стратификацию, взаимодействия признаков с treatment и каузальные модели, а не только на общий A/B результат.

Определение:

Heterogeneous treatment effect, или неоднородный эффект воздействия, — это зависимость эффекта treatment от характеристик объекта. Иначе говоря, один и тот же эксперимент может давать разный эффект для разных пользователей, регионов, каналов, устройств или других сегментов.

Если средний эффект отвечает на вопрос «работает ли изменение в целом», то heterogeneous treatment effect отвечает на вопрос «для кого именно оно работает лучше или хуже».

Пример использования:

Допустим, в A/B-тесте новая рекомендационная система в среднем увеличила CTR на 1%. Но если разбить пользователей по опыту, то у новых пользователей CTR вырос на 4%, а у старых почти не изменился. Это и есть heterogeneous treatment effect: общий средний эффект положительный, но распределён неравномерно.

# Пример логики поиска heterogeneity через разбиение по сегментам

import pandas as pd

# df: user_id, treatment (0/1), clicked (0/1), segment
# treatment = 1 для test, 0 для control

segment_effects = (
    df.groupby(["segment", "treatment"])["clicked"]
      .mean()
      .unstack()
)

segment_effects["uplift"] = segment_effects[1] - segment_effects[0]
print(segment_effects.sort_values("uplift", ascending=False))

Пояснение кода:

Код показывает самый простой способ проверить неоднородность эффекта по сегментам. Сначала данные группируются по segment и treatment, затем считается средний clicked в контроле и тесте. После этого для каждого сегмента вычисляется разница между test и control — это и есть локальный uplift. Если uplift сильно различается между сегментами, это признак heterogeneous treatment effect.

Ключевые моменты:

  • Средний эффект по всей выборке может скрывать сильные различия между группами.
  • Ищут HTE через сегментацию, анализ взаимодействий и каузальные методы.
  • Простая проверка — сравнить uplift по группам: новые/старые пользователи, страны, устройства, когорты.
  • Более продвинутые подходы: uplift modeling, causal trees, causal forests, meta-learners.
  • Важно не путать неоднородность эффекта с шумом: нужны достаточные размеры подгрупп и статистическая проверка.
  • Практический смысл — находить, кому продуктовое изменение полезно, а кому нейтрально или вредно.