1Есть словарь d = {"country": "RU"}. Нужно получить значение по ключу "city", но если ключа нет — вернуть строку "unknown" без исключения. Что правильно?
Ad["city"]
Bd.get("city", "unknown")
Cd.items("city", "unknown")
Dd.get("unknown", "city")
.get() возвращает значение по ключу или значение по умолчанию и не выбрасывает KeyError.
2В логах есть список user_ids с повторениями. Как получить количество уникальных пользователей?
Alen(user_ids)
Buser_ids.unique()
Clen(set(user_ids))
Dsum(user_ids)
set хранит только уникальные элементы, поэтому len(set(user_ids)) даёт число уникальных значений.
3Что произойдёт при выполнении кода t = (1, 2); t[0] = 9?
AИзменит первый элемент, и t станет (9, 2).
BСоздаст новый кортеж и вернёт его, а t останется (1, 2).
CАвтоматически преобразует t в list и изменит его.
DВыбросит TypeError, потому что tuple неизменяемый.
Элементы tuple нельзя менять по индексу: попытка присваивания приводит к TypeError.
1Какая формулировка лучше всего соответствует проверяемой hypothesis для A/B test?
AЕсли добавить подсказку с итоговой стоимостью доставки на чекауте, то primary metric purchase_conversion вырастет, а guardrail metric refund_rate не ухудшится
BСделаем чекаут удобнее, чтобы пользователям больше нравилось
CНужно увеличить выручку, поэтому сделаем новый дизайн
DНовый дизайн чекаута точно улучшит все метрики
Хорошая hypothesis связывает изменение с ожидаемым эффектом и явно называет primary metric и guardrail metric.
2Что в A/B test обычно означает разделение на control и treatment?
Acontrol — прошлый месяц, treatment — текущий месяц
Bcontrol — пользователи из одного города, treatment — из другого
Ccontrol — базовый опыт без изменения, treatment — вариант с изменением, распределение происходит случайно
Dtreatment всегда получает больше трафика, чтобы быстрее набрать статистику
control/treatment — это два варианта опыта, которые сравнивают при случайном распределении пользователей.
3Вы тестируете новую страницу товара; цель — увеличить покупки. Какая метрика наиболее логична как primary metric для решения о запуске?
AСреднее время на странице товара
BКонверсия в покупку (purchase_conversion) среди пользователей, увидевших страницу
CКоличество скроллов на странице
DКоличество просмотренных изображений товара
primary metric должна напрямую отражать цель эксперимента, а не промежуточные действия.
1У вас датасет с полями user_id, device (iOS/Android) и converted (да/нет). Какую таблицу сопряжённости вы построите перед chi-square тестом независимости?
AСтроки — device, столбцы — converted, в ячейках — количество пользователей
BСписок user_id с их выручкой за неделю
CСредняя конверсия по всем пользователям одной цифрой
DГрафик конверсии по дням без разбиения на device
Для chi-square нужна таблица сопряжённости с абсолютными счетчиками по двум категориальным признакам.
2Какой смысл у H0 в chi-square тесте независимости для таблицы сопряжённости?
AH0: средние значения в группах равны
BH0: данные распределены нормально
CH0: выполняется независимость категорий между признаками
DH0: treatment лучше control
В chi-square тесте независимости H0 формулируется как независимость категорий.
3В таблице сопряжённости для control/treatment и исхода (купил/не купил) в ячейке (treatment, купил) стоит число 250. Что это означает?
AКонверсия в treatment равна 250%
B250 наблюдений в treatment попали в категорию 'купил'
C250 — это p-value теста chi-square
D250 — это ожидаемые частоты по H0
Ячейка таблица сопряженности хранит count наблюдений, попавших в обе категории одновременно.
1Пусть A — мошенничество, B — сработал алерт. Что в этой постановке означает false positive?
AB произошло, а A нет: алерт сработал на нормальную транзакцию.
BA произошло, а B нет: мошенничество без алерта.
CA и B произошли: алерт сработал на мошенничество.
DA не произошло и B не произошло: нормальная транзакция без алерта.
false positive — это срабатывание на отсутствие события, то есть B при not A.
2Аналитик хочет ответить на вопрос: среди пользователей, которые получили пуш (событие B), какая доля совершила покупку (событие A). Какая вероятность соответствует этому вопросу?
AP(B|A)
BP(B)
CP(A|B)
DP(A)
Вопрос «какова доля A среди тех, у кого выполнено B» соответствует P(A|B).
3Пусть A — болезнь, B — положительный тест. Что означает false negative (ложноотрицательный результат)?
AB произошло, а A нет: тест показал плюс у здорового.
BB не произошло, а A произошло: тест показал минус при наличии болезни.
CA и B произошли: тест правильно выявил болезнь.
DA не произошло и B не произошло: тест правильно исключил болезнь.
false negative (ложноотрицательный результат) — это пропуск события, то есть not B при A.
1В сегмент нужно включить пользователей, у которых активен хотя бы один из флагов: is_student = 1 или has_coupon = 1. Какое условие соответствует формулировке «хотя бы один»?
Ais_student = 1 AND has_coupon = 1
Bis_student = 1 OR has_coupon = 1
CNOT (is_student = 1 OR has_coupon = 1)
D(is_student = 1 AND NOT (has_coupon = 1)) OR (NOT (is_student = 1) AND has_coupon = 1)
Фраза «хотя бы один» соответствует логическому OR между условиями.
2Какое условие является always false для флага is_paying, который принимает только 0 или 1?
Ais_paying = 1 OR is_paying = 0
BNOT (is_paying = 1)
Cis_paying = 1
Dis_paying = 1 AND is_paying = 0
Требование is_paying = 1 AND is_paying = 0 является противоречием и потому always false.
3Условие в фильтре записали как NOT (NOT (is_test_user = 1)). Какое более простое условие ему эквивалентно?