10 вопросов про A/B-тесты | Часть 1 | Валерий Бабушкин | karpov.courses
Summary
TLDRВ данном видео автор рассказывает о своем опыте проведения A/B-тестов в различных компаниях, включая Яндекс, X5 и Facebook. Он делится результатами и обсуждает важность правильного подхода к тестированию, выделяя такие моменты, как статистическая значимость результатов, ошибки на ранних этапах карьеры и важность корректного распределения трафика. Автор также упоминает примеры из медицины и аналогии с бросками монетки для объяснения статистических принципов, подчеркивая важность строгого соблюдения процедур и использования вспомогательных метрик для оценки результатов тестирования.
Takeaways
- 💼 A/B тестирование было регулярной практикой в работе автора в таких компаниях, как Яндекс, X5, Facebook и стартапы, где было проведено множество тестов.
- 🔍 Важным критерием хорошего A/B теста является статистически значимая положительная разница для бизнеса, в то время как негативная разница воспринимается не очень хорошо.
- ⚠️ Одной из распространенных ошибок является преждевременное рассмотрение результатов тестов, что может повлиять на дальнейшие решения, даже если это происходит неосознанно.
- 📊 На ранних этапах карьеры автор сталкивался с проблемами при перемешивании трафика, что влияло на результаты нескольких A/B тестов, наложенных на одних и тех же пользователей.
- 🪙 Пример с монеткой помогает объяснить вероятность маловероятных событий и как это применимо в контексте A/B тестов, где крайне маловероятные результаты могут быть подозрительными.
- 📅 Продолжительность теста имеет ключевое значение — использование калькуляторов для определения продолжительности помогает избежать ошибок, таких как слишком короткий или слишком длинный тест.
- 🔄 Автор рекомендует проводить обратные эксперименты для проверки причинно-следственной связи, например, после проведения успешного теста вернуть предыдущую версию и убедиться в обратном эффекте.
- 📈 A/B тесты должны учитывать как основную целевую метрику, так и вспомогательные метрики, которые могут показать потенциальную деградацию.
- 🛠 Для успешного проведения A/B тестов необходимы валидация, проксиметрики и другие защитные механизмы для предотвращения ошибок и получения точных результатов.
- 📚 Автор советует учиться на примерах крутых профессионалов и практиковать на симуляторах, чтобы развить навыки, а также читать статьи и материалы от компаний, таких как Netflix, Microsoft, Facebook и другие.
Q & A
Что считается хорошим результатом A/B-теста с точки зрения бизнеса?
-Для бизнеса хорошим A/B-тестом считается тот, где наблюдается статистически значимая положительная разница, так как положительный результат улучшает показатели компании. Негативная разница, хоть и статистически значимая, не является желательной.
Какая типичная ошибка встречается при проведении A/B-тестов?
-Одной из типичных ошибок является 'подсматривание' в результаты до завершения теста. Это может повлиять на решения и дальнейшие действия, так как преждевременный просмотр результатов может исказить восприятие данных.
Как влияет накладка тестов на одних и тех же пользователей?
-Если один и тот же пользователь участвует в нескольких A/B-тестах одновременно, это может исказить результаты, так как эффект одного теста может быть неразрывно связан с эффектами других тестов, что затрудняет изолированную оценку.
Каким образом A/B-тестирование можно сделать более достоверным?
-Один из способов повышения достоверности тестов — это проведение обратных экспериментов. Например, если изменение привело к положительному результату, нужно провести тест с обратным изменением, чтобы убедиться, что результат был именно следствием изменения, а не случайностью или эффектом новизны.
Почему важно не смотреть на результаты A/B-тестов до завершения теста?
-Это важно, так как преждевременное ознакомление с данными может повлиять на решения и восприятие эксперимента, даже если намеренно не вносить изменений. Это можно сравнить с квантовой физикой: процесс наблюдения может изменить результат.
Как определить оптимальную длительность A/B-теста?
-Длительность теста зависит от объема трафика и величины эффекта, который вы пытаетесь измерить. Для точности необходимо использовать калькуляторы, которые могут помочь оценить, сколько времени необходимо для достижения статистически значимого результата.
Что такое 'эффект новизны' в контексте A/B-тестов?
-Эффект новизны возникает, когда пользователи начинают взаимодействовать с новым элементом (например, измененной кнопкой) не потому, что он лучше, а потому что он новый и привлекает внимание. Со временем это внимание может ослабнуть, и эффект будет менее выраженным.
Какие метрики важно учитывать при A/B-тестировании?
-Важны как основные целевые метрики (те, на которые направлен эксперимент), так и вспомогательные метрики, которые помогают отследить деградацию в других аспектах. Это позволяет предотвратить негативные побочные эффекты от изменений.
Почему важно разделять ответственность за запуск и оценку A/B-тестов?
-Это помогает избежать предвзятости. Идеальная ситуация — когда одна группа запускает тест, другая оценивает результаты, а третья получает результаты. Это снижает риск принятия неверных решений на основе личных предпочтений или ожиданий.
Какие ресурсы и материалы рекомендуется использовать для изучения A/B-тестирования?
-Хорошие ресурсы включают статьи и материалы крупных компаний, таких как Netflix, Microsoft, Facebook и Яндекс. Также полезен симулятор A/B-тестов и материалы курса в hardML, которые помогают углубить понимание и избежать типичных ошибок.
Outlines
🧪 Опыт в A/B тестах и критерии успешности
Автор делится опытом работы с A/B тестами в различных компаниях, начиная с Яндекса и заканчивая стартапами. Он отмечает, что ключевым критерием успешности теста является статистически значимый положительный результат, и подчеркивает, что неудачные тесты также возможны. Автор считает, что 10-15% успешных тестов — это хороший показатель.
🔍 Ошибки в проведении A/B тестов
Автор обсуждает типичные ошибки при проведении A/B тестов. Он сравнивает тесты с квантовой физикой, указывая, что преждевременный просмотр результатов может повлиять на их восприятие. Также он отмечает проблемы с неправильным распределением трафика в начале своей карьеры, что приводило к наложению результатов нескольких тестов на одних и тех же пользователей.
💡 Понимание случайности и критических значений
Пример с монеткой помогает объяснить принципы случайности и вероятности в A/B тестах. Автор говорит о том, что критически маловероятные события могут указывать на аномалии в результатах тестов. Он также обсуждает необходимость использования калькуляторов для правильного расчета продолжительности тестов.
🛠 Как устроены обучающие модули для тестирования
Автор описывает существующие обучающие модули для A/B тестирования, разделенные на более простые и технически сложные. Он подчеркивает важность защитных механизмов, таких как валидация тестов и проксиметрики, для того, чтобы результаты тестов были корректными и имели смысл для бизнеса.
🔄 Обратные эксперименты и эффекты новизны
Обратные эксперименты — это способ проверить результаты A/B тестов, повторив тест с противоположными условиями. Автор упоминает про эффект новизны, который может искажать результаты, так как пользователи реагируют на что-то новое, а не на реальное улучшение. Такие проверки помогают укрепить уверенность в выводах.
👥 Непонимание целей и статистических критериев
Автор отмечает, что многие люди неправильно понимают, как работают A/B тесты, что приводит к ошибкам. Люди часто слепо следуют наборам действий, не понимая их смысла. Он приводит метафору 'каргокульта', где действия выполняются автоматически, без понимания их сути и целей.
📚 Где учиться и получать практику
Автор рекомендует учиться у экспертов в A/B тестировании и упоминает симулятор тестов как один из инструментов для практики. Он также советует читать статьи от крупных компаний, таких как Netflix, Microsoft и Facebook, для лучшего понимания практики онлайн-экспериментов.
Mindmap
Keywords
💡A/B-тестирование
💡Статистически значимый результат
💡Проблема подглядывания (peeking problem)
💡Метрики
💡Эффект новизны
💡Обратный эксперимент
💡Распределение трафика
💡Калькулятор A/B-тестов
💡Контрольная группа
💡Симулятор A/B-тестов
Highlights
Начало работы с A/B тестами в Яндексе и запуск 1-2 тестов в неделю.
Проведение более 50-100 A/B тестов в X5 и 50 тестов в Facebook.
Основное качество успешного A/B теста: статистически значимая положительная разница.
Ошибки в начале карьеры: неверное перемешивание трафика, что влияло на точность тестов.
Тесты с переменными условиями на одних и тех же пользователях приводили к некорректным результатам.
Подсматривание промежуточных результатов теста — это классическая ошибка, влияющая на решение.
Нужно дождаться окончания теста, прежде чем принимать решение о его результатах.
Пример с монеткой помогает объяснить вероятность и критические значения в тестах.
Использование калькуляторов для расчета времени теста в зависимости от данных и целей.
Важно заранее знать размер выборки и эффект, который тест должен уловить.
Метрики проксиметрики помогают отслеживать побочные изменения во время экспериментов.
Проверка результатов с помощью обратного эксперимента для подтверждения причинно-следственной связи.
Ошибки новичков: непонимание, как правильно распределить трафик и использовать статистические критерии.
Симуляция распределений и параметров помогает обучаться и нарабатывать практику A/B тестов.
Рекомендации книг и статей от Рона Кохави, а также разборы на платформе Хабр.
Transcripts
[музыка]
я начал проводить абы тесты нормальным
режиме когда устроился в Яндекс и в
советники мы запускали примерно
1-2б-теста в неделю и работал я там
почти четыре года плюс еще примерно мне
кажется
50-100b тестов а может быть и больше в
X5 плюс примерно 50 тестов в Фейсбуке
500 + 2 либо be там немного
10-20 мы сделали ну еще в ряде стартапов
там по мелочи немножко блокчейне мы
сейчас начали Пусть 550 чуть больше
полутысяч
[музыка]
нужно ввести критерий хорошести правда
ведь для бизнеса хорошая а/б-тест это
тот в котором ты говоришь что
эстетически значимая разница и она
положительная потому что этически
значимый негативная разница
отрицательная она не очень хороша
сложный вопрос были какие-то абы тесты
которые были сделаны плохо а некоторые
были особенно наверное в начале
советники какие-то можно было делать
лучше и какие-то мы сделали плохо или
бабе именно потому мы потом меняли
систему пили допиливали ее бы
тестирование Но я считаю может быть
около 10 может 15 может до 20 можно было
сделать лучше а если мы говорим про
результативность то на мой взгляд
хороший показатель является 10-15
процентов а б тестов которые приносят
статистически значимый положительный
результат это высокий процент
[музыка]
Ну классическая ошибка это особенно в
начале периодически подсматривать в
результаты то есть ну зачастую люди
все-таки которые понимают к чему это
ведет стараются решение не принимать но
как ни крути это их аффектит то есть
есть пикинг проблем суть в чем abts он
почти как квантовые какие-то события как
квантовая физика то есть нельзя смотреть
на него до тех пор пока отведенный срок
не произошел потому что можешь увидеть
то что не нужно и на основе этого
принять решение или эта информация Может
на тебя повлиять И даже если ты не
принимаешь решение Все равно что-то
увидели на тебя дальше влияет на
какие-то твои действия в целом поэтому
медицине двойной С любовью Слепое
плацебо тестирования какие-то иногда
проблемки были с тем что не до конца мы
перемешивали трафик в начале моей
карьеры и получается что AB тесты
наслаивались на тех же пользователей на
которых были другие a/b-тесты и
получалось что мы оценивали не эффект
пятого теста изолировано эффект 5
обтеста на пользователей которые
получили четвертый третий второй первый
то есть не совсем корректно но в целом
повезло жестких ошибок не допускать в
принципе уже была какая-то система AB
тестов когда начал заниматься в Яндексе
и дальше с этого я подхватил
[музыка]
Мне очень нравится пример с монеткой то
есть можем взять любого менеджера
практически любого и сказать вот монетка
мы можем бросить разочек получить Орел и
решку правильно
и мы допустим верим что Это честная
монетка согласен говорит согласен то
есть честная монетка если мы бросим ее
сто раз мы же понимаем что скорее всего
50 раз орлом ровно она не выпадет она
может выпасть 49 раз 50 один раз орлом
52 55 Ну и в принципе на таком базу
уровней люди понимают можно 100
сократить до 10 и действительно ее
побросать причем побросать 10 раз Потом
снова 10 раз Потом 10 раз цифра скорее
всего не совпадут Но дальше можно
сделать следующее предложение смотри
если монетка все сто раз подряд выпадет
орлом Ну что-то явно не так то есть это
в принципе вероятность этого события она
отличная от 0 очевидно что это может
произойти но настолько маловероятно что
мы считаем Это неправда и уже на этом
уровне человек понимает что-то мы
понимаем в диапазоне того что похоже на
правду вот эти 5149 52 48 и так далее а
что-то 100 или 0 но абсолютно не может и
уже дальше от этого можно говорить это
критические значения где мы считаем что
настолько маловероятно что это что-то
а здесь все нормально это еще в пределе
того что вы могли ожидать действительно
же понятный пример
Что такое обманывать Для начала нужно
определить да То есть можно например
попробовать воспользоваться какими-то
готовыми калькуляторами или они в
интернете есть и Просто попробовать
посчитать Как долго обтес должен бежать
если этот калькулятор говорит что он
должен бежать 21 день аналитик говорит
два дня естественно это просто Почему
так быстро или наоборот А если там 10
дней аналитик говорит 10 недель тоже
Почему так долго понятно что таких
случаев у нас симулятор в том числе и
создан Там же есть два модуля есть
модуль точнее даже не тоже два модуля
там есть два типа обучения попроще ибо
техничнее посложнее по техничнее нужно
писать реализовывать все вещи или многие
вещи самостоятельно попроще Чтобы
понимать как это работает Как из кубиков
собрать какие-то материалы что вообще на
одном языке говорить то есть это в
принципе то же самое что искал про
калькулятор просто все в одном месте
собраны Ну а дальше всегда должны как я
уже говорил быть какие-то защитные
механизмы
валидация вот тестов проведения а
тестирования какие-то проксиметрики и
так далее ну и в конце концов мы обтесты
проводим не просто так чтобы метрики
менялись правильно росли соответственно
в каком-то большом количестве же можно
сказать совершенно тестов Ты везде
сказал что у нас процент к чему-то мы
вообще этого не видим по итогу как-то
странно 10 процентов мы должны были
заметить
Но это сложно
Обязательно должна быть Метрика интереса
который мы хотим оценить понятно что
если ее нет понятно что у нас может
Метрика интереса быть одна мы не можем
оценить У нас есть прокси метр в любом
случае это Метрика наша целевая метка
эксперимента дальше должен быть размер
выборки заранее известный тот эффект
который мы можем поймать заранее
известный от этого уже выходит Как долго
мы этот обтес держим то есть эти без
этих вещей невозможно если у нас есть
трафик мы сумели его разбить мы знаем
какой эффект мы ловим мы знаем На что мы
его ловим этого в принципе для начала
достаточно дальше в принципе есть такая
вещь как вспомогательные метрики и
метрики по которым мы смотрим деградацию
то есть вспомогательные метрики мы
говорим вот если это изменится скорее
всего за собой потянет еще это такой
Саньки чек А вот это допустим у нас не
должно просесть какая-то Метрика дальше
что еще можно накрутить хорошей
практикой является накручивать обратный
эксперимент то есть что это значит мы
провели аб-тест Мы увидели что после
замены красной кнопки на кирпичной у нас
увеличилось на пять процентов конверсии
мы раскатили на всех пользователей мы
подождали какое-то время потому что еще
такая вещь как эффект новизны то есть
люди могут кликать по кнопке Не потому
что она стала лучше потому что что-то
новенькое раньше не замечал а потом
приедается мы раскатываем на всех Мы
ждем какое-то время две недели месяц
потом мы проводим Опять обтес где у нас
уже дефолтный вариант это
кнопка кирпичного цвета а новый вариант
то как было раньше то есть мы чего
ожидаем ожидаем что вот этот обратный
эксперимент нам покажет негативный
результат правильно Если прямой дал
позитивный то обратно должен быть
негативный тоже хорошая проверка на
видишь это все дополнительные накрутки
на BTS и тогда это очень полезная
практика то есть здесь точно показал
причинно-следственную связь это дает
плюс
Но это все уже допало дополнительно
дополнительно различные провок
симметрики иерархии метрик и так далее
Все уже сложнее сложнее сложнее
никак всегда будет некая предвзятость Ну
то есть стоит максимально себя от этого
огороде то есть в идеале Одни люди
запускают другие люди оценивают неплохо
это работает в ряде контроль где я
работал у нас так и было валидация
отдельно а бы тесты отдельно а Люди для
которых тесты делают еще отдельно То
есть в принципе заинтересованы те люди
которые запускают этот тест читают Его
другие люди валидируют третьи люди Ну а
если так не получается то хотя бы
фиксировать на бумажке весь дизайн
эксперименты весь дизайн бтеста и его
придерживаться
и фиксировать придерживались мы его или
нет
[музыка]
на самом деле подавляющее большинство
вообще не понимает как делать обтесты то
есть ошибки начинаются везде часто люди
просто
берутся за какое-то распределение за
какое-то статистический критерий и не
понимают как он работает ну то есть
условно говоря что такое подавляющее
большинство статистических критериев мы
накидываем какую-то функцию на какое-то
распределение получаем значение этой
функции статистику получаем
распределение этой статистики И говорим
что это какие-то критические значения по
факту если у нас достаточно много данных
можем одну функцию применять практически
ко всему просто получать распределение
статистик и использовать ее где угодно а
люди часто вбивают себе в голову что
тест мы не можем применять здесь и здесь
Но если ты понимаешь зачем ты принимаешь
эти тесты как ты используешь определение
статистики все можно сделать то часто у
людей идут проблемы с тем как правильно
сплетит трафик но в целом мне кажется
что основную проблему которую видел что
они не понимают они не видят леса за
деревьями то есть они не понимают для
чего это делается как они выучивают
набор неких последователей неких
действий как каргокульт сейчас построим
из бамбука аэропорт прилетят самолеты и
привезут ништяки
в идеале в идеале работать там где уже
умеют это делать работать с крутыми
чуваками первый момент
очевидно что работает с крутыми чуваками
удается далеко не всем
и не всегда получается второй вариант
нужно учиться там где этому учат
конкретные бьют по пальцам по бы тестам
хороших курсов практически нет очень
хороший модуль в хард-мэль Ну и
собственно симулятор AB тестов он для
того частично и сделан тоже чтобы
перенять какую-то практику плюс всегда у
его создателей Можно спросить совета но
я в целом не знаю как можно учиться
кроме как обезьяны то есть старший
обезьяна тебе показывает Ты смотришь
потом пытаешься повторить и тебя
поправляют
Да нет ну можно набивать руку Ну
во-первых уже третий раз рекламирует
симулятор понятно что было невозможно
вот мы делали симулятор но по факту Мы
же можем симулировать любые
распределения с любыми параметрами и При
желании тут можно поиграться что один
знает параметр этих распределений
генерит из них выборки а другой просто
делает тесты и пытается поймать эти
эффекты То есть это это как раз
очень-очень даже реально плоды того что
можно написать программку в которой ты
не знаешь но потом логируешь реальные
значения распределение и делаешь
какие-то Вот здесь все очень можно все
очень довольно просто сделать
синтетические и ловить
Я не видел ни одной нормальной книги по
обтестам нарцисс баги Ян и некоторые мои
друзья рекомендовали начальную книгу
Рона кохави по транспорте что-то там
онлайн эксперимент но у меня есть я
как-то давал ссылки в том же Карпов
курса отвечайте там примерно 50 или 60
статей по об статьи статьи статьи статьи
netflix Microsoft Facebook LinkedIn
uber
дордеш Яндекс у них хорошие статьи можно
посчитать что мы Саша сахновым писали на
хаврели что Саша отдельно писал или
выступления какие-то даже мой
телеграм-канал можно почитать и там
разбирал один наброс на кьюпет от
человека на хаббре у нас там вышел
хороший разбор 70 комментариев
линкина гитхаб примерами кода
[музыка]
Browse More Related Video
5.0 / 5 (0 votes)