TGViewer
ANDRON ALEXANYAN ANDRON ALEXANYAN @andron_233 · 6.25K subscribers
Post #209 2.65K
Обещал пост про сегментацию, но переобулся и решил сначала рассказать свежий кейс о том, как проводить A/B эксперименты на минималках в полях.

Когда-то мы в Симулейтив делали буквально по несколько рассылок в неделю. Потом в какой-то момент мы решили, что надо увеличивать градус и с тех пор количество рассылок увеличилось примерно в 15 (!) раз по месяцу. А теперь мы дошли до точки, когда задумались — «хм, а может откат к старой механике сейчас повысит нам конверсию?».

Итак, имеем задачу:

Есть телеграм-боты с аудиторией N десятков тысяч человек, которые получают условно 10 рассылок ежедневно и кликают на кнопки с конверсией X%
Хотим проверить гипотезу — а станет ли конверсия лучше, если мы уменьшим количество контента до 1 рассылки в день
При этом важно провести эксперимент так, чтобы не умереть с голоду по итогу месяца (ну типа перестали всем слать, эксперимент не сработал, а мы остались без продаж) 🤡

Получаем достаточно классический АБ-тест. Очевидно, нужно взять 2 группы — тест (шлем мало) и контроль (как слали, так и продолжаем). При этом:

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

Давайте проектировать и считать. У нас открыты вопросы:

По какой метрике проводим эксперимент?
Какой эффект ожидаем?
Какой делать размер выборок?
Как дробить на сегменты?
Как определить длительность теста?
Как оценить результат?

Погнали отвечать.

1. За метрику очень хочется взять продажи, но увы — слишком маленькие выборки и нужно долго будет тестить. Т.к. продажи сильно коррелируют с фактом оставления заявки, можно взять прокси-метрику — заявку (то есть клик по кнопке в боте). То есть сравнивать будем конверсию в каждой группе «сколько уникальных человек оставило заявку» / «сколько уникальных человек получило рассылку». И там, и там считаем уников — дубли убираем.

2. Какой эффект хотим задетектить? Пусть сейчас конверсия 3%, а хотим увидеть рост до 5%. Вроде и достаточно реалистично, но при этом на объемной выборке даст существенный буст.

3. Какой делать размер групп. Первое: т.к. нам нужно минимизировать размер тестовой группы, сразу предполагаем, что пропорция будет не 50/50, а типа 20/80.

Дальше можем посчитать размер тестовой группы по универсальной формуле:

n_test = ((1 + r) / r) × p × (1 - p) × (Zα/2 + Zβ)^2 / Δ^2

r = n_control / n_test
p = средняя конверсия между p1 и p2 (конверсии)
Δ = p2 - p1
Zα/2 = 1.96 для 95% значимости
Zβ = 0.84 для 80% мощности
(Zα/2 + Zβ)^2 = (1.96 + 0.84)^2 = 7.84


Подставляя наши p1 и p2, получаем размер тестовой группы примерно 940 человек, размер контроля — 3760. В целом адекватно, не должно сломать нам выручку))

4. Дальше идем — какой сегмент брать? Первое — очевидно, что активный. Нет смысла брать неактивный сегмент: контроль точно должен быть активным (чтобы было, с чем сравнивать), а тестовый сегмент должен быть однородным с контролем.

Нужно что-то формата «5к человек, которые зарегались за последние 2 месяца на вебинары по тематике Х из одного рекламного источника». Ну и разбить их рандомно (ну то есть чтобы не было что в тестовой группе все люди из каких-то бич-каналов, а в контроле — из золотых каналов).

Можно еще упороться и провести стратификацию, т.е. нарезать всю базу на сегменты (например, «регался 30 дней назад», «регался 30-60 дней назад» и так далее), чтобы оценить эффект этой штуки на разные сегменты базы (может где-то эффект будет обратный). Но мы не настолько хотим в это упороться — ведь чтобы оценивать по каждой страте отдельно, нужно кратно увеличивать выборку, а мы так не хотим))

5. Сколько проводить тест? Классный и неочевидный вопрос!

Обычно в АБ-тестах аудитория в группах набирается с течением времени и размер выборки определяет длительность (если надо 1000 человек, а в день приходит 100 — значит очевидно 10 дней). Но тут выборка сразу доступна вся. Из чего исходить?

Все очень просто — нужно оценить, сколько времени обычно «докатываются» заявки после рассылок. Если основная масса оставляет заявку в течение 1-2 дней после рассылки, значит эксперимент будет быстрым. Если мы еще дней 7 получаем заявки — значит подольше. По итогу — считаем это число Х и просто добавляем к нему 7 дней (чтобы захватить все дни недели и тест был более чистым).

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

6. Ну и последнее — оценка результата. Здесь ничего нового — считаем uplift (uplift = CR_test / CR_control - 1), чтобы оценить размер эффекта + делаем односторонний z-test (если проверяем только гипотезу «конверсия выросла»), чтобы подтвердить стат значимость.

uplift положительный, p-value < 0.05 — эффект есть и он статзначим
uplift положительный, p-value > 0.05 — эффект есть, но он не статзначим
uplift отрицательный — мы все сломали (а чтобы понять, статзначимо ли это, нужно дополнительно посмотреть двусторонний тест)

Вот такой вот получился хендбук по наколеночным A/B-тестам)) Пойдем пробовать с командой, потом поделюсь результатами!)

Традиционная проверка связи:

— ❤️ — не кейс, а мед
— 💅 — очень интересно, но ничего не понятно
— 🤓 — пожелать удачи нашему CRM-маркетологу)))
  • ❤ 50
  • 🤓 29
  • 💅 15
  • 🔥 4
More from @andron_233
  1. Sep 7, 2026Новый канал ❕ Душа требует говорить не только про аналитическое, но и про предпринимательс…
  2. Sep 4, 2026Ну что, выкладываю обещанный пост про выбор неправильных пороговых значений! Часто при про…
  3. Aug 21, 2026Хотите оказаться в такой же шикарной шляпе уже через 2 года? Тогда надо пойти в магистрату…
  4. Aug 19, 2026В прошлом июне я писал личный пост о том, что меня прям торкнуло, когда мы анонсировали за…
  5. Aug 19, 2026Post #225
  6. Aug 19, 2026Post #224
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →