new-lvl.pro · Статьи · A/B · Собес
Статья // 20 мин чтения

25 вопросов
по статистике и A/B
на собеседовании

Вопросы из пула, по которому я гоняю менти перед собеседованиями продуктового аналитика. Они очень близки к тому, что спрашивают на статистической секции. К каждому — короткий ответ, расчёт, где он нужен, и место, где обычно режут.

Откуда вопросы и что в ответах

Эти вопросы я даю менти на пробных собеседованиях. Они собраны из реальных секций по статистике и A/B в продуктовой аналитике, поэтому формулировки близки к тому, что вы услышите. Все расчёты в ответах я пересчитал.

У каждого вопроса три части: как спрашивают, короткий ответ, который можно сказать за минуту-две, и где режут — типичная ошибка, после которой интервьюер ставит минус. Читать стоит именно её: ответы многие помнят, а проваливаются на оговорках.

Вопросы идут по порядку секции: сначала базовая статистика, потом дизайн эксперимента, потом разбор пришедших результатов и в конце — оценка эффекта, когда A/B-теста не было.

Статистика, без которой A/B не обсуждают

Вопрос 01
Что утверждает ЦПТ и зачем она в A/B?
junior
«Объясните простыми словами центральную предельную теорему и почему она важна для A/B-тестов.»

Среднее большого числа независимых одинаково распределённых величин с конечной дисперсией распределено примерно нормально — какой бы ни была форма исходного распределения. Метрика группы в A/B (конверсия, средний чек) — это среднее по тысячам пользователей. Значит, разница средних между группами тоже примерно нормальна, и к ней можно применять z- и t-тесты, строить доверительные интервалы и считать p-value.

Где режут: пересказывают формулировку и не связывают её с правом применять стандартные тесты. Плюс — упомянуть оговорку: при тяжёлых хвостах (выручка с редкими огромными заказами) выборка нужна заметно больше, чем для конверсии.

Вопрос 02
Почему выборочную дисперсию делят на n − 1?
senior
«В формуле выборочной дисперсии сумму квадратов отклонений делят на n − 1, а не на n. Почему?»

Отклонения считаются от выборочного среднего, которое само подогнано под данные и минимизирует сумму квадратов отклонений. Поэтому деление на n систематически занижает разброс — оценка смещена. Деление на n − 1 (поправка Бесселя) делает её несмещённой: E[s²] = σ². Другими словами, одна степень свободы уже потрачена на оценку среднего.

Где режут: отвечают «так принято». Достаточно сказать про несмещённость и степени свободы и добавить, что на больших выборках разница между n и n − 1 исчезает.

Вопрос 03
Среднее выросло, медиана нет — это успех?
middle
«Время просмотра видео: среднее 12 минут, медиана 4. Запустили автоплей, через две недели среднее 13, медиана по-прежнему 4. Хорошо ли это?»

Разрыв в три раза между средним и медианой — распределение скошено вправо: большинство смотрит мало, небольшая группа смотрит часами и тянет среднее вверх. Медиана описывает типичного пользователя, среднее, умноженное на число пользователей, — общее потребление контента.

Автоплей сдвинул среднее, но не медиану. Значит, он добавил просмотра тем, кто и так смотрел много, а типичному пользователю ничего не изменил. Это не однозначный успех: нужно смотреть перцентили и retention.

Где режут: радуются +8% среднего и не смотрят на распределение.

Вопрос 04
Нормальное распределение: какой SLA обещать?
middle
«Время доставки примерно нормально: μ = 5 дней, σ = 2 дня. Обещаем доставку за 8 дней. Какая доля заказов нарушит обещание? Какой срок обещать, чтобы нарушений было не больше 1%?»

z = (8 − 5) / 2 = 1,5; P(X > 8) = 1 − Φ(1,5) ≈ 6,7%. Для 1% нарушений нужен z ≈ 2,33: 5 + 2,33 · 2 ≈ 9,7, округляем вверх — 10 дней.

Где режут: не говорят, что нормальная модель здесь — приближение. Время доставки обычно несимметрично, с длинным правым хвостом: долгие задержки случаются чаще, чем обещает нормальное распределение, и реальных нарушений будет больше.

Вопрос 05
Что на самом деле означает p-value?
middle
«A/B-тест дал p = 0,03. Коллега говорит: значит, вероятность, что вариант B не лучше, — всего 3%. Он прав?»

Нет. p-value — вероятность получить такой же или более сильный результат при условии, что эффекта нет. Это P(данные | H0), а не P(H0 | данные). Из p-value нельзя получить вероятность того, что B лучше или хуже.

Где режут: три классические ошибки — считать p вероятностью того, что нулевая гипотеза верна; считать его вероятностью ошибки; считать, что маленький p означает большой эффект. Размер эффекта показывает доверительный интервал, а не p-value. Подробнее — в статье «p-value простыми словами».

Вопрос 06
Что означает 95% доверительный интервал?
middle
«Для разницы конверсий получили 95% ДИ [0,5%; 2,5%]. Можно сказать, что истинная разница лежит в нём с вероятностью 95%?»

Строго — нет. Если много раз повторить эксперимент и каждый раз строить интервал тем же способом, около 95% интервалов накроют истинное значение. 95% — свойство процедуры. Конкретный интервал истину либо накрыл, либо нет: истинная разница — фиксированное число, а не случайная величина.

Практически интервал говорит две вещи: он не пересекает ноль, значит разница значима на уровне 5%; и его ширина показывает, насколько точно мы знаем эффект.

Где режут: путают с байесовским интервалом. Для собеседования достаточно сказать «95% — про процедуру, а не про этот интервал». Как считать интервал для конверсии — в статье про доверительный интервал конверсии.

Вопрос 07
Ошибки первого и второго рода, мощность
junior
«Что такое ошибки первого и второго рода? Что такое мощность теста и почему берут 80%?»

Ошибка первого рода — найти эффект, которого нет (ложноположительный вывод), её вероятность — α, обычно 5%. Ошибка второго рода — не найти эффект, который есть, её вероятность — β. Мощность = 1 − β: шанс поймать эффект заданного размера, если он действительно есть. 80% — договорённость: выше мощность — больше нужна выборка.

Где режут: говорят «мощность — вероятность найти эффект» без уточнения какого размера. Мощность всегда считается для конкретного минимального эффекта (MDE).

Вопрос 08
Байес: модель антифрода точная — блокируем всё?
middle
«Мошеннических заказов 1%. Модель ловит 95% мошенников и ошибочно помечает 5% честных заказов. Предлагают автоматически блокировать все подозрительные. Какова вероятность, что помеченный заказ — мошеннический?»

P(подозрительный) = 0,95 · 0,01 + 0,05 · 0,99 = 0,059. P(мошенник | подозрительный) = 0,0095 / 0,059 ≈ 16%. Из каждой тысячи заблокированных заказов около 840 — честные покупатели.

Причина — низкая базовая доля: мошенников мало, поэтому даже 5% ошибок на огромной массе честных заказов дают ложных срабатываний в разы больше, чем настоящих. Вместо автоблокировки — ручная проверка, дополнительные сигналы, порог по уровню риска.

Где режут: отвечают «95%», перепутав точность модели с вероятностью для помеченного заказа.

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

Вопрос 09
Размер выборки в уме
middle
«Конверсия карточки товара 4%. Хотим поймать рост до 4,5%. α = 0,05, мощность 80%. Сколько нужно пользователей? Трафик — 5000 в день.»

Для конверсий есть правило: n ≈ 16 · p̄ · (1 − p̄) / MDE² на одну группу. p̄ = 0,0425, MDE = 0,005: n ≈ 16 · 0,0425 · 0,9575 / 0,000025 ≈ 26 000 на группу, 52 000 всего. Точная формула даёт около 25 500 — правило слегка с запасом, для разговора этого достаточно.

При 5000 пользователях в день это 10–11 дней, с округлением до полных недель — 14 дней. Продакту три варианта: ждать две недели, согласиться ловить только больший эффект или взять более чувствительную метрику.

Где режут: забывают, что выборка растёт квадратично: эффект в два раза меньше — выборка в четыре раза больше. Посчитать для своих чисел можно в калькуляторе размера выборки.

Вопрос 10
Сколько недель крутить тест?
middle
«Команда спрашивает: сколько пользователей нам нужно и сколько недель держать тест?»

Выборка зависит от четырёх вещей: базовой конверсии, минимального эффекта, который важен бизнесу (MDE), α и мощности. Длительность — не только «набрать n». Нужно покрыть минимум один-два полных недельных цикла: в будни и выходные люди ведут себя по-разному. И оставить время, чтобы прошёл эффект новизны.

Где режут: называют цифры без вопроса «какой эффект нам важен». MDE — бизнес-решение, а не статистическое: его выбирают из того, какой прирост окупит изменение.

Вопрос 11
Что рандомизировать: пользователей или сессии?
junior
«На каком уровне делить трафик на группы?»

Почти всегда — на уровне пользователя. Если делить по сессиям, один человек увидит обе версии: вчера пришёл пуш, сегодня нет. Эффекты смешаются, а наблюдения внутри одного пользователя перестанут быть независимыми.

Где режут: не замечают несовпадения единицы рандомизации и единицы анализа. Делим по пользователям, а конверсию считаем по сессиям — обычный t-тест занизит дисперсию и даст слишком оптимистичный p-value. Нужен дельта-метод или бутстреп по пользователям.

Вопрос 12
Спроектируйте тест пушей для неактивных
middle
«Хотим слать пуш тем, кто не заходил 7+ дней. Гипотеза: пуш вернёт их. Спроектируйте A/B-тест.»

Единица — пользователь. Главная метрика — вернулся ли пользователь в течение 7 дней после пуша. Защитные метрики — отписки от пушей, отключение уведомлений, удаления приложения, жалобы. Контроль не получает пуш вообще. Выборку считаем через мощность, срок — 2–4 недели, чтобы увидеть, не выдыхается ли эффект.

Две оговорки, которые отличают сильный ответ. Тест идёт только на тех, у кого пуши ещё включены, — выводы нельзя переносить на всех. И пуш может вернуть человека сейчас, но раздражать и ускорить окончательный уход, поэтому смотреть нужно и долгий горизонт.

Где режут: нет защитных метрик — без них тест «поймает» рост заходов и пропустит рост отписок.

Вопрос 13
Бесплатная доставка для всех: какая главная метрика?
middle
«Сейчас доставка бесплатная от 2000 ₽. Продакт хочет сделать её бесплатной для всех заказов. Какую метрику сделаете главной?»

Не конверсию, а деньги: маржу на пользователя за период — выручку за вычетом стоимости доставки. Конверсия и частота заказов вырастут, но пропадёт стимул добирать корзину до 2000 ₽: средний чек упадёт, заказы раздробятся, а за доставку дешёвых заказов платит компания. Главная метрика должна видеть обе стороны.

Вторичные — конверсия, заказы на пользователя, средний чек. Защитные — стоимость доставки на заказ, доля заказов дешевле 2000 ₽, возвраты. Правило решения: раскатываем, только если маржа на пользователя не падает.

Где режут: берут конверсию главной метрикой — и тест «выигрывает», теряя деньги на каждом заказе.

Вопрос 14
20 метрик в одном тесте
senior
«В тесте проверяем 20 метрик, каждую на уровне 5%. На самом деле ни одна не изменилась. Какова вероятность хотя бы одного ложного срабатывания?»

1 − 0,95²⁰ ≈ 64%. Почти гарантированно хотя бы одна метрика «прокрасится» случайно. Что делать: заранее выбрать одну главную метрику и несколько защитных, остальные считать исследовательскими. Для множества проверок — поправка Бонферрони (α / 20 = 0,0025, строго) или контроль доли ложных открытий по Бенджамини — Хохбергу (мягче).

Где режут: объявляют победу по случайно значимой метрике, найденной после теста.

Вопрос 15
Почему нельзя остановиться, как только p < 0,05?
middle
«Аналитик каждый день смотрит результаты и останавливает тест, как только p стал меньше 0,05. Что не так?»

Каждый просмотр — ещё одна попытка поймать случайную значимость. Я смоделировал тест без эффекта с ежедневной проверкой в течение 20 дней: доля ложноположительных выводов выросла с 5% до 24%. Это та же множественная проверка, что в вопросе 14, только растянутая во времени.

Что делать: фиксировать размер выборки и дату окончания заранее и смотреть итог один раз. Если смотреть по ходу нужно — использовать последовательные тесты, которые учитывают число просмотров.

Где режут: «подглядывать можно, если не останавливать». Смотреть можно, принимать решение по промежуточному p — нельзя.

Вопрос 16
Как сократить длительность теста?
senior
«Тест должен идти шесть недель, бизнес хочет быстрее. Что можно сделать, не теряя корректности?»

Уменьшить дисперсию метрики. Самый известный способ — CUPED: из метрики вычитают часть, которую объясняет поведение пользователя до теста. Если метрика до и после сильно коррелирует, дисперсия падает на десятки процентов, и та же мощность достигается на меньшей выборке. Другие варианты: обрезать выбросы, взять более чувствительную метрику ближе к изменению, стратифицировать.

Где режут: предлагают «поднять α до 10%» или «остановить раньше». Это не ускорение, а рост числа ложных выводов. Как работает CUPED — в отдельной статье.

⌬
Потренироваться на задачах по A/B
В A/B-тренажёре — 30 задач: от расчёта выборки до разбора сломанных тестов, с автопроверкой. Диагностика покажет, какие темы подтянуть перед собеседованием.
Открыть тренажёр

Пройти диагностику уровня →

Пришли результаты — что с ними делать

Вопрос 17
p > 0,05 — значит, эффекта нет?
senior
«Контроль: конверсия 5,0%, тест: 5,3%, по 10 000 пользователей в группе, p = 0,34. Продакт: эффекта нет, откатываем. Кто прав?»

«Не нашли эффект» — не то же самое, что «эффекта нет». 95% ДИ для разницы: 0,3 п.п. ± 1,96 · 0,31 п.п. = [−0,31; +0,91] п.п. Интервал совместим и с небольшим вредом, и с заметной пользой — тест просто неинформативен.

Чтобы +0,3 п.п. стали различимы при α = 0,05 и мощности 80%, нужно около 87 000 пользователей на группу — почти в девять раз больше. Откатывать «потому что p > 0,05» — ошибка интерпретации.

Где режут: принимают нулевую гипотезу как доказанную. Правильная формулировка — «данных недостаточно, чтобы различить эффект такого размера».

Вопрос 18
«p = 0,04, раскатываем!» — что проверить?
middle
«Тест новой кнопки: конверсия 5,2% против 5,0%, p = 0,04. Коллега ждёт вашего «ок». Что спросите?»

Сначала валидность, потом значимость. Первый вопрос — SRM (Sample Ratio Mismatch): совпадает ли соотношение групп с планом. Если при сплите 50/50 в группах 12 347 и 11 891 пользователей, хи-квадрат даёт p = 0,003 — такое расхождение случайно почти не бывает. Рандомизация сломана: баг сплиттера, боты в одной группе, потеря части пользователей. Результат такого теста интерпретировать нельзя, никакой p-value его не спасёт.

Дальше: сколько дней шёл тест (покрыта ли неделя), не остановили ли его на первой значимости (вопрос 15), сколько метрик смотрели (вопрос 14). И только после этого — стоит ли +0,2 п.п. затрат на раскатку.

Где режут: сразу обсуждают p-value и не проверяют размеры групп. Проверить сплит заранее помогает A/A-тест.

Вопрос 19
Эффект тает с каждой неделей
middle
«Эффект по неделям: +8%, +3%, +1%, −1%. Что происходит?»

Эффект новизны: пользователи реагируют на изменение, потому что оно новое, а потом возвращаются к привычному поведению. Остановили бы тест на первой неделе — раскатили бы пустое изменение. Решение принимают по установившемуся эффекту, обычно через 3–4 недели. Бывает и обратное — эффект первичности: к новому привыкают, и метрика сначала падает, а потом растёт.

Где режут: усредняют все четыре недели и получают «+2,75%», которого в устойчивом состоянии нет.

Вопрос 20
Конверсия +2%, отказы +12%
middle
«Новый чекаут через две недели: конверсия +2%, доля отказов +12%, средний чек не изменился. Обе разницы значимы. Выкатываем?»

Сначала понять, одинаково ли считается отказ в обеих версиях: в новой воронке он может измеряться по-другому. Потом сегментировать: новые и вернувшиеся, устройства, источники трафика. Возможно, новый чекаут быстрее отсеивает случайных посетителей, а целевые покупают лучше. Проверить SRM и динамику по дням. И посчитать деньги: компенсирует ли рост конверсии потери от отказов.

Где режут: выбирают одну из двух метрик по вкусу, не разобравшись в механизме.

Вопрос 21
CTR +8%, время в сессии −5%
middle
«Новое ранжирование ленты: CTR +8%, среднее время в сессии −5%, обе разницы значимы. Релизить?»

Обе метрики — косвенные, ни одна не цель сама по себе. Есть две гипотезы с противоположными выводами. Пользователи быстрее находят нужное — времени меньше, удовлетворённость выше, это хорошо. Или лента стала кликбейтной — кликают чаще, разочаровываются и уходят, это плохо. Различить их помогают отложенные метрики: retention, возвраты, жалобы и скрытия, доля сессий с целевым действием.

Где режут: выбирают «победившую» метрику после теста. Главную метрику и защитные назначают до запуска; если данных для решения не хватает — продлевают тест или оставляют долгую контрольную группу.

Вопрос 22
Больше пушей — а через месяц DAU ниже
middle
«Увеличили частоту пушей. Открытия и заходы выросли сразу, но через месяц DAU в тесте оказался ниже, чем в контроле. Что произошло?»

Краткосрочный рост против долгосрочного вреда: частые пуши раздражают, люди отключают уведомления, отписываются, удаляют приложение. Открытия — косвенная метрика, удержание — настоящая цель, и оптимизация по первой навредила второй.

Что делать: смотреть защитные метрики — отписки, отключение уведомлений, удаления; держать долгую контрольную группу; искать частоту, после которой вред перевешивает пользу; персонализировать время и содержание.

Где режут: отвечают «просто слать меньше», не предлагая, как измерить правильную частоту.

Вопрос 23
Парадокс Симпсона
senior
«Общая конверсия выросла с 4,0% до 4,3%, но и у новых, и у старых пользователей по отдельности она упала. Как это возможно и чему верить?»

Изменились веса сегментов. Если выросла доля старых пользователей, у которых конверсия, скажем, 8%, средневзвешенная растёт, даже когда внутри каждого сегмента стало хуже. Проверка — разложить изменение на эффект состава и эффект внутри сегментов.

Для оценки продуктового изменения важнее то, что происходит внутри сегментов, — а там стало хуже. Общий рост здесь случился по «неправильной» причине и неустойчив. Нужно выяснить, почему поменялся состав, — например, не сломали ли что-то для новых пользователей.

Где режут: радуются росту агрегата и не смотрят на разрезы.

Когда A/B-теста не было

Вопрос 24
Фичу выкатили на всех — как оценить эффект?
senior
«Функцию раскатили сразу на 100% пользователей без теста. Через месяц просят оценить её эффект на удержание.»

Простое сравнение «до и после» опасно: в разницу попадут тренд, сезонность и все остальные изменения за месяц. Нужна контрольная группа, которую фича не затронула: другой регион, платформа или сегмент. Дальше — разность разностей (difference-in-differences): сравнить изменение в затронутой группе с изменением в контрольной. Ключевое допущение — параллельные тренды до релиза, его проверяют на истории.

Если подходящего контроля нет — синтетический контроль: взвешенная комбинация незатронутых групп, повторяющая динамику до релиза. На будущее — оставлять отложенную группу без фичи или раскатывать по регионам постепенно.

Где режут: доверяют «до и после» и называют точную цифру без интервала и без допущений. Подробно про метод — в статье про difference-in-differences.

Вопрос 25
«Добавил друга — удерживается втрое лучше»
middle
«Пользователи, которые в первую неделю добавили друга, удерживаются на 60% через месяц, остальные — на 20%. Продакт хочет заставить всех добавлять друга в онбординге. Что ответите?»

Это корреляция, а не доказанная причинность. Пользователи сами выбрали, добавлять друга или нет. Скорее всего, есть общая причина — вовлечённость: тот, кому продукт понравился, и друга добавит, и останется. Возможна и обратная связь: втянувшимся просто проще дойти до этого шага.

Если заставить всех, немотивированные мотивированными не станут: эффект будет намного меньше трёх раз, а лишний обязательный шаг может уронить активацию. Проверить можно только экспериментом: части новичков показать усиленную механику добавления друзей и сравнить удержание.

Где режут: соглашаются с выводом или отвечают «корреляция не причинность» и останавливаются — без механизма и без плана проверки.

Частые вопросы

Сколько вопросов по статистике задают на собеседовании?
Обычно статистика и A/B — отдельная секция на 45–60 минут: два-три теоретических вопроса (p-value, доверительный интервал, мощность) и один-два кейса с результатами теста. На junior больше теории, на middle и senior — больше кейсов из блоков 2–4.
Нужно ли знать формулы наизусть?
Большинство — нет, но три стоит помнить: правило размера выборки n ≈ 16 · p · (1 − p) / MDE², стандартную ошибку разницы конверсий и 1 − 0,95^k для множественных проверок. Остальное ценят как понимание: что делает формула и когда она ломается.
Что важнее — теория или кейсы?
Кейсы. Теорию проверяют быстро и в основном на ошибки интерпретации p-value и интервала. Решение по сделанному тесту — SRM, эффект новизны, конфликт метрик — показывает уровень лучше всего, и на нём чаще всего режут.
Где потренироваться на таких вопросах?
В A/B-тренажёре на ab.new-lvl.pro — 30 задач с автопроверкой. Для теории — гайд по A/B-тестам и квиз про 15 ловушек.

Связанные материалы

Главное про статистическую секцию

Интервьюеру важно не то, помните ли вы определения, а то, не сделаете ли вы неверный вывод из теста. Поэтому большая часть вопросов — про интерпретацию: что значит p-value, почему «не нашли» не равно «нет», что проверить до того, как радоваться значимости.

Три привычки, которые закрывают половину ловушек: (1) сначала валидность теста — SRM, длительность, подглядывание, — потом значимость; (2) вместо голого p-value — доверительный интервал; (3) главная и защитные метрики назначаются до запуска, а не после.

АТ
Андрей Тарасенко
// Продуктовый аналитик · Авито · Ментор

A/B-тесты — основная часть моей работы. Чаще всего менти теряют баллы не на формулах, а на вопросах 17 и 18: соглашаются с выводом «эффекта нет» и не проверяют размеры групп.

Написать в Telegram
// ЗАКРЕПИ НА ПРАКТИКЕ

Разобрали вопросы? Теперь решите задачи

В A/B-тренажёре — 30 задач по мотивам собеседований: расчёт выборки, интерпретация результатов, сломанные тесты. Ответ проверяется сразу.

▶ Открыть A/B-тренажёр ★ 30 задач с условиями
Все материалы: База знаний · Telegram