780просмотров
39.0%от подписчиков
9 февраля 2026 г.
📷 ФотоScore: 858
Как я оценил эффект фичи без A/B-теста В этот раз у меня не было возможности сделать A/B, поэтому использовал подход, близкий к Diff-in-Diff. 🔘 Что сделал
- Включил фичу в определённый день.
- Взял когорту пользователей, которая начала пользоваться фичёй.
- Посмотрел их метрику до и после включения фичи.
- Собрал look-alike когорту похожих пользователей без использования фичи.
- Посмотрел, как менялась метрика look-alike за тот же период. Получилось примерно так:
- Когорта, которая использовала фичу показала рост метрики +4 п.п. относительно baseline;
- Контрольная когорта, которая не воспользовалась фичёй - около 0. Как считал:
Проверил, что до включения фичи тренды в когортах были похожими. А дальше по формуле:
когорта с фичей (метрика_после минус метрика_до) минус
контрольная когорта без фичи (метрика_после минус метрика_до)
То есть я сравнил изменения во времени и вычел общий тренд/шум. 🔘 Про статистическую значимость и выборку не забыл - под катом )
Цифрам можно верить только при достаточном размере выборки.
Интуитивно понятно, что если в когорте 2 человека, разница может быть, наверное, случайностью )
В моём случае в каждой когорте было чуть больше 1000 пользователей. Формула шума оценки конверсии:
SE=√(p(1-p)/n), где:
SE - стандартная ошибка;
n - это размер выборки;
p(1-p) - дисперсия (Бернулли);
√p(1-p) - стандартное отклонение σ;
p - конверсия, доля пользователей, совершивших действие.
Интересно, что по формуле получается, что при росте выборки в 10 раз ошибка падает ~в 3 раза. Из формулы дисперсии p(1-p) видно, что самый "шумный" случай, это когда конверсия = 50% = p = 0,5.
Так как произведение p(1-p) максимально при p = 0,5.
0,5(1-0,5)=0,25. Подставляем:
SE = √(0.25/n) = 0.5/√n К примеру:
- При n = 100, SE = 5п.п.
- При n = 1000, SE = 0.5/√1000 = 0,016 = 1,6п.п (мой случай).
- При n = 10 000, SE = 0,5п.п. То есть чем больше выборка, тем стандартная ошибка (SE) меньше, меньше уровень шума в данных.
Есть ещё доверительный интервал (CI) - это "зона шума", в которую легко попасть случайно. Посчитаю его.
Он показывает, в каких пределах метрика может колебаться просто из-за случайности. В моём случае CI ≈ 1.96 × SE(0,016) = 0,031.
*При n = 1000, выше считал SE = 0,016 или = 1,6п.п. Эффект больше ожидаемого уровня шума 4 п.п. > CI 3 п.п. Если бы мой эффект был бы меньше доверительного интервала: не 4п.п., а меньше трёх, то я бы мог сказать, что эффект случаен (не отличим от шума на уровне 95%). 🔘 Как правильно сделать вывод
- "Фича точно увеличила метрику на 4 п.п." - говорить не могу.
- "Когорта пользователей с фичей показала рост метрики относительно контрольной look-alike когорты" или "Результаты согласуются с гипотезой, что фича положительно влияет на метрику" - так говорить могу ) 🔘 Ограничения
- Пользователи, которые используют фичу, могут отличаться по вовлечённости (хотя старался отобрать не отличающихся).
- Look-alike приближает нас к A/B-дизайну, но не заменяет рандомизацию. 🔜 В следующих постах разберём #СвоиКейсы@IgorVlas0v_channel
🔜 И другие темы.