Сравнения для собеса аналитика

Разбор пар «X vs Y», которые любят спрашивать на собеседовании. У каждой сравнения — короткий ответ, таблица различий, примеры на коде и типичная ловушка.

SQL

WHERE vs HAVING
WHERE — фильтр по строкам до агрегации. HAVING — фильтр по агрегатам (COUNT/SUM/AVG) после GROUP
INNER JOIN vs LEFT JOIN
INNER JOIN возвращает только пересечение, LEFT JOIN — все строки левой таблицы + совпадения спра
RANK vs DENSE_RANK
При ничьей RANK ставит обоим один номер и пропускает следующий (1,1,3), DENSE_RANK идёт подряд (
RANK vs ROW_NUMBER
ROW_NUMBER всегда возвращает уникальные номера (1,2,3,4), RANK при ничьих ставит одинаковый номе
UNION vs UNION ALL
UNION удаляет дубликаты (медленнее), UNION ALL — нет (быстрее). Если дубликатов точно нет, всегд
CTE vs Подзапрос
CTE — именованный кусок логики в WITH, можно переиспользовать и рекурсировать. Подзапрос — однор
TRUNCATE vs DELETE
DELETE удаляет строки по условию (WHERE), TRUNCATE — всю таблицу разом. TRUNCATE быстрее, но без

Python

list vs tuple
list изменяемый (mutable), tuple неизменяемый (immutable). Tuple можно класть в set и dict-key,
== vs is
== — равенство значений, is — идентичность объекта (тот же адрес). Для None всегда используйте i
yield vs return
return завершает функцию и возвращает значение. yield превращает функцию в генератор — она «отда

Статистика

t-test vs z-test
t-test — когда дисперсия неизвестна и/или выборка малая. z-test — когда дисперсия известна или в
Ошибка I рода vs Ошибка II рода
I род — «нашли» эффект, которого нет (false positive, вероятность α). II род — «не нашли» реальн
p-value vs α (уровень значимости)
α — порог, который вы выбрали ДО эксперимента (обычно 0.05). p-value — то, что вы получили из да

Продуктовая аналитика

DAU vs MAU
DAU = уникальных юзеров в день, MAU = в 30 дней. DAU/MAU = stickiness — насколько часто месячные
Retention vs Churn
Retention = доля удержанных. Churn = доля отвалившихся. В сумме обычно 100% (Retention + Churn =
CAC vs LTV
CAC = маркетинговые затраты / привлечённые пользователи. LTV = средний доход с пользователя × ср