7 сезон · выпуск 15 · 18 августа 2022 · 51 мин

A/B тесты. Чем полезны продуктовые эксперименты

Разработка Бизнес и деньги

Слушать · 51:03

Пройти наш опрос:  https://form.typeform.com/to/e4324Qbq

A/B тестированием проверяют эффективность почти любых бизнесовых идей — от микроизменений в интерфейсе сайта до механики работы всего сервиса. Google, Netflix и Uber проводят такие эксперименты тысячами в год, а пользователи этого даже не замечают. Разобраться в том, как с помощью сложной статистики опровергаются и подтверждаются гипотезы и почему A/B тесты так важны для продуктовой культуры, Самату помог Виталий Черемисинов — сооснователь компании EXPF.

Бесплатный профориентационный курс от Яндекс Практикума:  https://clck.ru/sbFyK

Подкаст «СОБЕС» с Кирой Кузьменко:  https://podcast.ru/1638899174

Компания Виталия: https://expf.ru

Книжные рекомендации от Виталия:  «Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing», автор Рон Кохави. «Статистика для всех», автор Сара Бослаф

Подписаться на «Запуск++» в Телеграме: https://t.me/+N_AopnXC0dBkMGQy

Подписаться на Либо/Либо+ в Телеграме, куда включены эпизоды «Запуск++»: https://t.me/+LXZx5JRqO4o0MjJi

Над выпуском работали

Редакторка
Маша Агличева
Продюсерка
Настя Медведева
Звукорежиссерка
Нина Мамотина
Дизайнер обложки
Петр Сутупов

Транскрипт

Самат Галимов, Чермистов Виталий · расшифровано автоматически, ошибки возможны

  1. Самат Галимов

    Всем привет! Меня зовут Самат Галимов, и это подкаст «Запуск завтра». Как технический директор я пытаюсь разобраться, как устроены сложные и интересные штуки. Я зову профессионалов, с которыми можно поговорить простым человеческим языком. Дорогие друзья, это последний эпизод седьмого сезона нашего подкаста. Для того, чтобы восьмой сезон понравился вам ещё больше, мы подготовили опрос. Ссылка на него лежит в описании к этому эпизоду. Вообще, нам, команде подкаста, очень нравится, когда вы, дорогие слушатели, нам пишете. Написать нам можно двумя способами. Либо на e-mail, Либо в Телеграме у нас есть специальный чатик для слушателей подкастов, там уже почти 1000 человек. Приходите, делитесь эмоциями, задавайте вопросы, там классно. И наконец, пожалуйста, поставьте нам 5 звезд или напишите комментарий в Apple. Для меня это очень важно. Сегодня будем говорить о АБ-тестировании. И вы, возможно, никогда о такой штуке не слышали. На самом деле, АБ-тестирование применяется в IT, в сервисах, в стартапах и в целом в современной жизни довольно часто. Что это такое, как корпорации ставят над нами эксперименты и почему это не так уж и плохо, мы узнаем в этом эпизоде. Это подкаст «Студия Либо-Либо», и мы его сделали вместе с сервисом онлайн-образования «Яндекс Практикум». Если вы давно слушаете этот подкаст, то вы могли задуматься о том, чтобы стать программистом. Программирование и IT— это огромная сфера, и для начинающих вообще непонятно, в чем разница между бэкэнд-разработкой, фронтэнд, веб-разработкой или, может быть, мобильной разработкой— iOS и Android. Если вы об этом задумываетесь, но не можете выбрать, чем же вам все-таки начать заниматься, то специально для вас есть курс Яндекс.Практикума. Он называется «Проф.Ориентация». Курс двухчасовой, бесплатный. Ссылка в описании к этому эпизоду.

  2. Чермистов Виталий

    Привет, меня зовут Черемисинов Виталий, я сооснователь EXPF, и мы занимаемся консалтинговой деятельностью в области аботестов и создаем собственные решения по автоматизации их же.

  3. Самат Галимов

    Виталий, что такое аботестирование для людей, которые вообще ничего про это не слышали никогда? Для чего аботестирование применяется?

  4. Чермистов Виталий

    На самом деле, обэтестирование очень простая задача. Узнать, если мы что-то изменим в нашем продукте, от очень чего-то маленького и визуального до что-то огромного и функционального, как наши пользователи будут взаимодействовать с нашим продуктом после этого изменения. Ну, я не знаю, новый алгоритм ранжирования в поиске. Мы что-то сделали, дотюнили алгоритм и решили узнать, а как после тюнинга этого алгоритма пользователи будут взаимодействовать с поиском. Насколько много будет нулевых ответов, ненулевых ответов и так далее.

  5. Самат Галимов

    В моём понимании АБТ-сты всегда были про тестирование софта. Ну, например, кнопка красная лучше или зелёная, или текст купить прямо сейчас или заказать на сайте.

  6. Чермистов Виталий

    Тестировать можно всё, что угодно. Есть UI-ные эксперименты, есть эксперименты на ценах, когда мы, например, пытаемся менять цены. Есть эксперименты на операционной деятельности бизнеса, есть офлайн-эксперименты, онлайн-эксперименты. В общем, это достаточно не такой всеобъемлющий процесс. По факту очень много процессов и таких сложных завязанных на АБ-тестах, и они просто не могут без них быть, потому что это единственный способ оценить причинно-следственную связь. Все остальное— это пальцем в небо.

  7. Самат Галимов

    Ты сказал, что АБ-тесты— это проведение эксперимента, про то, чтобы сравнить два варианта. Обычный эксперимент начинается с гипотезы. Вот кто придумывает обычно в продуктовых командах гипотезу?

  8. Чермистов Виталий

    На самом деле, гипотезу может придумать кто угодно. Куда важнее не тот, кто придумал, а тот, кто аргументировал, почему это важно сделать. Потому что обытостирование не дешевый процесс. То есть тебе нужно привлечь разных специалистов. Дизайнер, разраб, еще один разраб, продакт, проджек и так далее. Вот, аналития, которая все это проинтерпретирует. То есть это не дешево априори.

  9. Самат Галимов

    Можешь для того, чтобы было как-то более наглядно, привести примеры, все-таки, реальный, конкретный пример, гипотез, которые были вот в недавних твоих проектах, например?

  10. Чермистов Виталий

    Вот, давай возьмем большой ритейл.

  11. Самат Галимов

    Условная пятерочка, x5 или что-нибудь такое?

  12. Чермистов Виталий

    Ну, условная. Он работает в детском сегменте.

  13. Самат Галимов

    Хорошо.

  14. Чермистов Виталий

    И ребята решили реализовать некую игровую механику. То есть у тебя будут определенные квесты, в выполнении которых ты будешь получать определенные баллы, которые ты можешь тратить на скидки, либо на какие-то промо-акции.

  15. Самат Галимов

    Это на сайте где-то или в приложении?

  16. Чермистов Виталий

    Да, это на сайте и в мобильном приложении. То есть это такая нативная функциональность, она кросс-девайсная. И вот, например, гипотеза. На что она направлена? Она направлена на то, что в нашем случае у нас будут увеличиваться конверсии, у нас будет увеличиваться средний чек и будет увеличиваться интенсивность. То есть один пользователь в единицу времени будет закрывать большее количество заказов с этой функциональностью, чем без этой функциональности. Ее придумали, и дальше есть разные варианты того, как мы можем эту гипотезу аргументировать. Очевидно, что у нас нет, если это новая функциональность, апеллировать какими-то историческими данными мы никак не можем. Соответственно, это либо бенчмаркинг рыночный, типа сравнение конкурентов. Если у них такое, если есть, как реализовано, и, может быть, какие-то открытые данные на предмет использования этой функциональности.

  17. Самат Галимов

    Знаешь, мы сейчас с тобой обсуждаем гипотезы, как что-то новое, чего вообще не было никогда. Я на самом деле скорее думал о гипотезах, как типа мы поменяем здесь немножко цвет, и тогда у нас что-нибудь вырастет. Первый вид гипотез, который вы обсуждали, и вот тот, который я сейчас привел, они чем-то отличаются принципиально или нет? Или по-другому они?

  18. Чермистов Виталий

    Они не будут отличаться с точки зрения процесса проведения АБТеста, то есть эксперимента. То есть мы точно так же разделим аудиторию, что-то посчитаем, сделаем какой-то вывод и так далее. Они отличаются, наверное, на уровне самой обстоятельности идей. То есть до бесконечности кнопки красить невозможно, и, наверное, в зрелом продукте, который уже сформировавшийся, перекрашивая кнопки, навряд ли ты чего-то значимого добьешься. То есть, чем продукт моложе, тем больше можно хватать вот эти вот низко висящие плоды (low-hanging fruit) и тестировать очень базовые вещи, на основе которых мы можем что-то вырасти. Но, опять же-таки, в зависимости от типа бизнеса, то есть, если мы говорим о транзакционном бизнесе, в котором основная цель это продать, заработать, доставить и так далее, заниматься маленькими UI-ными изменениями на зрелом продукте, но, наверное, будет достаточно сложно потом это UI-ные изменения оцифровать в деньги. При всем при этом, например, может быть какой-нибудь Яндекс.Поиск, и, например, ребятки захотят перекрасить, я не знаю, цвет ссылок. в какой-то другой цвет. Но здесь уже будет зависеть нисколько от того, что мы тестируем, а чем мы измеряем. То есть, какую метрику мы возьмем, на основе которых мы дадим заключение о том, что цвет действительно на что-то влияет. Если мы цвет будем мерить средним чеком, например, в интернет-магазине, скорее всего, мы ничего не увидим. Но если мы сможем подобрать какую-то релевантную

  19. Самат Галимов

    метрику... Типа, как часто люди возвращаются, потому что этот цвет напоминает им цвет детства или еще что-нибудь такое?

  20. Чермистов Виталий

    Ну, например.

  21. Самат Галимов

    Насколько вообще вещи, которые мы проверяем с помощью АБ, могут быть масштабными? Вот про то, что чуть-чуть поменять в интерфейсе, это мне как бы абсолютно понятно, потому что это два примерно одинаковых продукта, у которых чуть-чуть что-то отличается, можно, скорее всего, легко измерить. Но можем ли мы проверить, например, принципиально разную механику взаимодействия с сервисом? То есть сервис может быть, не знаю, в одном случае подписочный, в другом случае продажный. Это можно обытестировать или это сложнее вообще? Можно ли это сделать?

  22. Чермистов Виталий

    Можем провести такой эксперимент технически. Другой вопрос, сможем ли мы подобрать метрику, которая у нас выполнится и в первом сценарии, и во втором сценарии, которая нам адекватно покажет изменения и там, и там. Ну то есть экономика двух этих продуктов, она разная. И, наверное, в данном случае мы можем, например, взять метрику активация, то есть первая покупка, и как она будет меняться в зависимости от подписочной модели.

  23. Самат Галимов

    Мы всё время говорим А и Б. А реально обычно сравнят два варианта или больше?

  24. Чермистов Виталий

    В зависимости от. Часто продуктовые команды порываются делать много гипотез. Есть нашумевший кейс, когда Google в Gmail протестировали 40 оттенков ссылочек. 40 оттенков синего.

  25. Самат Галимов

    Типа какой цвет больше нравится пользователю?

  26. Чермистов Виталий

    Да-да-да, какой цвет больше нравится пользователю... Google анонсировал, выкатил кейс и очень сильных получил люлей от сообщества за подобный эксперимент. Почему? Потому что есть определенные статистические особенности. что нужно делать тогда, когда сравнивается больше двух групп. Степень эффективности АБТ-тестов мы замеряем при помощи вероятностных ответов. Вот чтобы объяснить, что такое вероятностные ответы, можно взять обычную тест-систему, любую тест-систему. Давайте возьмем просто тест на беременность.

  27. Самат Галимов

    Так, хорошо.

  28. Чермистов Виталий

    Какой ответ мы можем получить? Мы получаем ответ... Беременный, не беременный. Да, но усложняется этот ответ вероятностными ответами. У нас есть false positive, ложноположительное решение. Ложно-негативное решение и истинно-положительное решение. Что такое false positive rate, то есть ложно-положительное? Когда мы говорим, что девушка не беременна, а мы говорим, что она беременна. Что такое true positive? Когда девушка беременна, и мы получаем ответ, что она действительно беременна. И вот степень эффективности АБ-тестов мы замеряем как раз-таки при помощи false positive, то есть альфа или p-value. То есть вот это пресловутое p-value— это наш false positive.

  29. Самат Галимов

    Значит, даже тест на беременность, который вроде бы либо да, либо нет, на самом деле исходов четыре. Правильно мы в этом случае угадали или неправильно угадали? И таким образом получается четыре варианта ответа. А, я понял, к чему ты подводишь, что когда 40 вариантов мы тестируем, там вообще получается, наверное, миллиард этих, типа, реально.

  30. Чермистов Виталий

    Абсолютно правильно. И когда мы тестируем 40 вариантов, во что мы попадаем? Когда мы многократно сравниваем объект с объектом, то есть у нас 40 объектов, и мы хотим сравнить эти 40 объектов попарно. То есть мы что делаем? Мы вероятности перемножаем, правильно? И раз мы перенажаем вероятность, то у нас возрастает вероятность ложноположительного решения. То есть у нас выше вероятность того, что мы скажем, что разница есть там, где разницы нет. И поэтому мы должны эту ложноположительную вероятность всячески корректировать. Делая дополнительные коррекции, нам придётся увеличивать объём трафика.

  31. Самат Галимов

    То есть ещё больше экспериментов надо провести? еще больше людей нужно.

  32. Чермистов Виталий

    Да, да, да, больше времени и так далее. И, в общем, это усложняется всем вот этим. Не каждый продукт всем может это позволить. Ну и вообще, как бы, 40 на 40, это столько попарных сравнений, то есть там трафика нужно просто очень много.

  33. Самат Галимов

    Это 40 умножить на 40 или это 40 в 40-й степени?

  34. Чермистов Виталий

    40 в 40-й степени. Прикольно.

  35. Самат Галимов

    То есть проверять лучше два варианта от греха подальше.

  36. Чермистов Виталий

    Лучше два. У нас есть разные подходы, как это делается. То есть чем больше продукт, тем гибче он может подходить к этой истории. Мы можем брать очень заниженную вероятность false positive rate, то есть ложную положительную вероятность, и тем самым нивелировать вот эти неприятные прецеденты. То есть, например, там, Авито, Яндекс, VK, Google, Netflix и так далее могут себе это позволить. Если вы маленький продукт, стартапчик, конечно же, вам в этой парадигме будет жить сложно, и лучше тестировать А и Б, и получить побольше тестов, чем ложное принятое решение в процессе эксперимента.

  37. Самат Галимов

    Я хочу сделать шаг назад и спросить тебя про деление пользователей на группы. Мы всех пользователей сервиса должны поделить на две группы или достаточно взять только какую-то часть пользователей?

  38. Чермистов Виталий

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

  39. Самат Галимов

    А есть какое-то простое правило, или здесь какой-то сложный математик включается, и это нельзя объяснить на пальцах?

  40. Чермистов Виталий

    Простое правило— это не дробить пользователей слишком мелко и предварительно приводить возможные исследования, то есть то, какой оптимальный объем подвыборки нам нужно взять, чтобы у нас не было сильного смещения. То есть тут, понимаешь, Тут нет 42.

  41. Самат Галимов

    То есть это не больше 10%. Это зависит от того, какие у нас пользователи. В некоторых сервисах, в некоторых сайтах у тебя пользователи более-менее однородные, и там можно брать маленькие выборки. А на некоторых сайтах пользователи сильно разные, и там маленькая выборка почти наверняка даст большое отклонение.

  42. Чермистов Виталий

    Ну вот если упростить, да, то так. То есть фиш... суть в том, то есть вот моего посыла к этому процессу в том, что здесь лучше исходить из эмпирики, то есть из фактически того, что ты можешь доказать. То есть не апеллировать и не опираться исключительно на какие-то константы. То есть вот там, 10% или там, 1400, выборка для проведения панельного исследования, то есть опросы, это то, на основе чего мы можем объяснить там любой результат. Такого нет, потому что зависит от популяции, от совокупности, от метрики, от продукта и так далее.

  43. Самат Галимов

    если вы слушаете наш подкаст давно, то вы наверняка знаете, что когда я хочу разобраться в рекрутинге, в найме, в рынке труда, я зову Киру Кузьменко, потому что Кира— один из лучших IT-рекрутеров России. Так вот, Кира и студия Либо-Либо запускают новый подкаст о том, как устроиться на работу за рубежом. На конкретных примерах они разбираются, какие ошибки мы обычно допускаем и как их преодолеть. Первый кейс, первый эпизод— о project-менеджере, который пытается устроиться на работу в Финляндии. Очень классный подкаст. Называется Собес. Доступен на всех ведущих платформах. Ссылка в описании к этому эпизоду.

  44. Самат Галимов

    Можешь на примере объяснить? Вот у меня есть, например, вот мой сайт, я на нем хочу ввести типа черную тему и понять, нужна она людям или нет. Что мне нужно учесть для того, чтобы поделить пользователей на группы?

  45. Чермистов Виталий

    У нас есть метрики качества гипотезы, то есть вот наши метрики, которые там бизнесовые, пользовательские, которыми мы оцениваем, насколько мы эффективно сделали то или иное изменение. А еще у нас есть метрики, показывающие качество того, как прошел наш эксперимент.

  46. Самат Галимов

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

  47. Чермистов Виталий

    Да. И что мы хотим от системы сплитования? Первое, мы хотим, соответствуя правилам того, как мы указали в настройках разделения, чтобы эти настройки выполнялись по факту. Например, мы в настройках указали то, что мы хотим, чтобы наша аудитория делилась 50 на 50, да, то есть 50% в группу А, 50% в группу Б. Бывает так, что это правило не выполняется. Мы в настройках указали 50 на 50, по факту мы получаем там 60 на 40, то есть мы получаем какое-то смещение. Чем больше это смещение, тем это критичнее, потому что в данном случае инструмент не подконтролен нам. Вторая составляющая— это пересечение. Это когда у нас пользователи оказываются и в группе A, и в группе B, то есть мы их перемешиваем. Чревато это тем, что если я увидел и вариант A, и вариант B, мое поведение, очевидно, будет меняться.

  48. Самат Галимов

    Если одна страница сайта у меня черная, другая белая, то я просто психану в какой-то момент, скажу, чего сейчас за хрень происходит.

  49. Чермистов Виталий

    Да, именно. Третья составляющая, которую мы тоже хотим отслеживать, это баланс по стратам. Что это такое? Страты, давай представим, что это какой-то сегмент. Допустим, я пользователь из Москвы, ты пользователь из Риги. Я хотел бы, чтобы если в моей группе пользователи из Москвы... в группе А пользователи из Москвы 30%, чтобы в группе Б пользователи из Москвы тоже было 30% плюс-минус какая-то погрешность, но не статзначимая.

  50. Самат Галимов

    Логично. Ну да, потому что иначе я буду Москву и Ригу, а не просто обычных, ну типа, а не просто людей.

  51. Чермистов Виталий

    Конечно. Тогда как бы если у меня дисбаланс в каком-то сегменте, этот дисбаланс будет объяснять изменения в метрике. То есть не моя гипотеза объясняет изменения в метрике, а это дисбаланс. Ну и последнее, что хотелось бы сказать, это false positive rate, вероятность ложноположительного решения. Если мы будем много раз сравнивать группу А с группой А и получать большое количество ложноположительных решений, в нашем случае, значит, система сплитования тоже не работает, потому что мы сравниваем два одинаковых объекта, А, и

  52. Самат Галимов

    результаты должны быть одинаковыми.

  53. Чермистов Виталий

    Да, они должны быть... Нет, они должны быть одинаковыми.

  54. Самат Галимов

    Плюс-минус.

  55. Чермистов Виталий

    Там в любом случае будет ошибка первого рода какая-то, которую мы выбрали заранее, она просто должна быть не превышать того уровня, который мы предопределили заранее. Если он выше предопределенного, значит, наша система работает ненормально. И вот на базе этих историй мы хотим получить хороший сплит. Если какая-то из этих историй у нас выбивается, значит, наша система сплитования работает некорректно, и нам нужно её чинить. Любое из перечисленных мы можем закостылить, т.е. мы можем починить в моменте.

  56. Самат Галимов

    Уже после начала эксперимента, ты имеешь в виду?

  57. Чермистов Виталий

    Да, да, уже после начала эксперимента. Но зачем тогда нужна автоматизация, которую нужно постоянно костылить?

  58. Самат Галимов

    Блин, прикольно. Получается, что поделить пользователей на такие группы, чтобы сохранилось то же самое распределение, что и в общей массе. Да, все так. Все-таки вот когда у нас есть два варианта, а и б, сколько людей должно пройти через наш тест для того, чтобы проверить гипотезу?

  59. Чермистов Виталий

    Чтобы понять, какой вариант лучше, тебе нужно собрать определенную выборку. Размер этой выборки определяется разными факторами, например, величиной лифта, то есть насколько сильно группа А отличается от группы Б. Чем больше вот это вот относительное изменение, то есть чем больше у тебя прирост, тем меньше тебе нужна трафика, чтобы этот прирост обнаружить. Но есть вторая составляющая. Помимо того, что у нас есть сигнал, вот эта вот относительная разница, это сигнал, который мы хотим замерить, то есть это наш прирост. у нас есть шум, это дисперсия, т.е. насколько сильно наше среднее будет отличаться от каждого значения в нашей выборке. Чем больше шума, т.е. дисперсия, тем больше нам требуется данных. Это второй фактор. Т.е. первый фактор— это размер изменения, который мы замечаем. Второй фактор— это насколько шумны наши данные. И вот на балансе между размером эффекта и шумом мы будем пытаться рассчитывать, сколько нам необходимо трафика. То есть есть такая штука, как дизайн эксперимента, то есть мы до того, как запускаем ABO-тест, пытаемся предрассчитать, то есть спрогнозировать, сколько нам необходимо наблюдений, чтобы с достаточным уровнем уверенности утверждать, что этот результат будет статистически значимым и так далее, и так далее, и так далее.

  60. Самат Галимов

    Про дисперсию мне стало понятно. Это про то, что если на 10 тысяч … только на 10 долларов, то нам маленького количества людей раз проверки хватит для того, чтобы уверенно сказать, что A лучше, чем B. А если они покупают примерно одинаково, то тогда, наверное, нужно больше экспериментов, чтобы уверенно сказать.

  61. Чермистов Виталий

    Да, да, да. То есть чем лучше или хуже перформит одна из групп, то есть, например, если мы сделали такую крутую гипотезу, то что пользователи стали в три раза больше, покупать, то нам нужно меньше времени на эксперимент. Но я опять усложню, но это надо усложнить. Не только самим временем определяется эксперимент. То есть у нас есть, например, метрика, да? Давай вот представим себе, что у метрики есть временное окно. Ну, то есть пользователь же зашел на наш сайт, например, на интернет-магазин. Он же не в секунду принимает решение о том, что он хочет купить. Он пришёл, посмотрел, положил в корзину, ушёл, сравнил с конкурентами, опять пришёл... Обсудил с женой. Обсудил с женой. И вот период от первого действия до закрытия этого действия, то есть первое действие я зашёл, второе действие я купил. Вот этот промежуток, это называется временное окно. И если у нашей метрики большое временное окно, например, от момента первого действия до момента закрытия действия проходит три недели, даже если мы собрали весь необходимый трафик за два дня, нам все равно нужно учитывать временное окно, потому что ты метрику заметишь только через какой-то промежуток времени. Это тоже важно учитывать, это тоже накладывает определенные отпечатки на качество эксперимента и так далее.

  62. Самат Галимов

    Вообще интересно, как это технически реализуется. Мне прямо в своей программе, я на своем сайте добавляю логику АБ-тестирования? Или я делаю две разные версии сайта, и какая-то внешняя система берет на себя распределение этих версий между пользователями, переключение и все вот это?

  63. Чермистов Виталий

    На самом деле, можно по-разному сделать. Ну, то есть, есть продукты, в которых условно в CMS-ке заложена какая-то логика АБ-тестирования. То есть, у нас есть Допустим, какой-то OfferLake, в котором хранятся какие-то изменения на продукте. Мы из CMS стучимся в OfferLake и там разбиваем пользователя и отрисовываем это изменение для пользователя. Может быть, какое-то внешнее решение со сплитованием, то есть у нас есть сайт, мы там ставим какой-нибудь конфликт, JS на сайт, он обращается к нашему сервису, говорит, вот этого пользователя отправь вот сюда. Дополнительно у нас есть какие-то фича-флаги, которые говорят, что если пользователь вот здесь, то отрисуем вот это. И таким образом у нас A/B-тест. Дополнительно в этой же системе мы, например, прописываем правила сплитования, то есть на кого мы это сплитуем, как сплитуем и так далее. Ну и, как правило, сейчас, наверное, многие стараются держать как внешний сервис. Соответственно, есть команды, которые делают эти решения внутри, то есть поддерживают их in-house. Есть команды, которые закупают решения у внешних вендоров.

  64. Самат Галимов

    Как это выглядит для пользователя? Заметит ли человек, который заходит на мой сайт, что он участвует в АБ-тесте?

  65. Чермистов Виталий

    Не должен заметить, но есть разные кейсы. Давай расскажу, в каких случаях пользователь может заметить, что он в АБ-тесте. Есть такой инструмент, например, Google Tag Manager.

  66. Самат Галимов

    Это штука, через которую все подключают аналитику и другие всякие штуки.

  67. Чермистов Виталий

    Да, аналитику, дополнительные пиксели. И, например, через Google Tag Manager, учитывая то, что мы можем поставить какой-то код какого-то сервиса, через который мы будем запускать АБТест. Внутри это у тебя набор определенных тегов, которые активируются по какому-то правилу. Пользователь зашел на любую страничку, активируя ему вот этот скрипт, который дальше обратится к какому-то сервису, который дальше отрисует что-то на сайте. То есть внутри Google Tag Manager есть тег, сам Google Tag Manager— это какой-то тег, у нас есть дом-дерево, то есть как-то это будет прогружаться асинхронно. пользователь может зайти на сайт, у него сначала прогрузится Google Tag Manager, потом прогрузится содержимое Google Tag Manager, и в итоге что может получиться? То, что пользователь сначала увидит одну страничку, а через секунду у него перерисуется какой-то контент, и он увидит другое содержимое. Вот в этом случае пользователь увидит то, что он в АБ-тесте.

  68. Самат Галимов

    Я с таким сталкивался. Сайт загружается, и там что-то меняется после загрузки. Это я как раз попал в АБ-тест.

  69. Чермистов Виталий

    Скорее всего, ты попал в АБ-тест, который запущен вот под такой логикой.

  70. Самат Галимов

    Ну, это просто плохо напрогано.

  71. Чермистов Виталий

    При условии нормальной работающей системы сплетования вот такого быть не должно. Ну, например, какая ещё может быть ситуация? Ты можешь быть анонимным пользователем, зайти на сайт, авторизироваться, потом сбросить все куки, зайти ещё раз, и в этом случае может быть такое ещё.

  72. Самат Галимов

    Потому что мы с помощью кук как раз определяем, мы ставим человеку куку, чтобы...

  73. Чермистов Виталий

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

  74. Самат Галимов

    А если человек заходит с двух разных компьютеров, он увидит две разные версии сайта?

  75. Чермистов Виталий

    Если мы идентифицируем его по кукам, да.

  76. Самат Галимов

    А если он авторизуется на сайт, тогда мы уже как пользователи можем?

  77. Чермистов Виталий

    Да, тут, соответственно, он увидит один и тот же вариант.

  78. Самат Галимов

    Кайф. А если я увидел уже версию А, я теперь вечно буду видеть версию А или при каждой перезагрузке у меня будет меняться?

  79. Чермистов Виталий

    Нет, ты будешь видеть версию А до того момента, пока идет эксперимент. Мы привязываемся не к сессии в этом случае, например, а к идентификатору пользователя. То есть очевидно, что если ты зашел на сайт, попал в группу А, то должен быть в группе А пока идет эксперимент. То есть пока этот эксперимент запущен. Как только эксперимент закончился, ты перераспределишься в другой эксперимент Весьма вероятно в другую группу.

  80. Самат Галимов

    Я хочу еще заземлить эту историю, и у меня есть предложение. Давай попробуем придумать метрику сначала и какой-то АБТС для нашего подкаста.

  81. Чермистов Виталий

    Ой, это очень крутая штука.

  82. Самат Галимов

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

  83. Чермистов Виталий

    Давай попробуем пофантазировать, что ты бы хотел, я думаю, от своего подкаста. Во-первых, определенную долю пользователей, которые от начала до конца прослушали подкаст в одну сессию, то есть не прерываясь, то есть открыли и дослушали. Я думаю, что определённая интенсивность в каком-то временном окне. Например, то, что пользователь, который послушал первый подкаст в течение какого-то промежутка времени, послушает второй подкаст, и третий подкаст, и так далее. То есть у нас уже есть две метрики. Первая— это доля тех, кто прослушал сходу. Вторая— это интенсивность в каком-то временном окне.—

  84. Самат Галимов

    Типа возвраты.—

  85. Чермистов Виталий

    Да, возвраты. Возвраты на какой-то промежуток времени. Мы можем считать просто возвраты, как вот вернулся или нет. А можно считать частоту, то есть сколько раз внутри какого-то временного промежутка пользователь послушал. Например, в месяц в среднем один пользователь слушает там три раза. У нас уже три метрики, которые в целом отцифруют эффективность твоего контента и заинтересованность им пользователей. На самом деле можно еще одну прикольную метрику придумать. Шеринговая история. Как много поделились этим подкастом, например. Тоже отличная метрика, потому что это органический рост твоей аудитории, что тебе тоже, безусловно, интересно. Но самое сложное в данном случае это создать алгоритм сплитования. То есть то, как мы будем разделять наших слушателей на группу А, например, которые будут слушать исходную версию подкаста, и группу Б, где мы будем давать более хардкорную информацию. Например, не будем разжевывать каждый термин, а будем прям вот по харду рассказывать, как все оно есть. Есть ситуации, как наша, например, когда мы разделить наших пользователей не можем. по разным обстоятельствам. И здесь могут работать так называемые квази-эксперименты, когда у нас нет честного деления. Это эксперименты на базе определенных алгоритмов с использованием машинного обучения. Например, что мы могли бы сделать? Вот у нас есть наш подкаст, он идёт постоянно одинаково с одним и тем же типом контента. У нас есть какой-то определённый примежуток времени. После какого-то другого примежутка времени мы взяли и начали записывать хардкорный подкаст.

  86. Самат Галимов

    То есть мы делим не людей, а делим время, в которое мы работаем на разные типы.

  87. Чермистов Виталий

    Да, но здесь что важно учесть, что если мы просто сравним два временных периода, например, период, если мы сравним сентябрь с октябрем, Так нельзя сделать.

  88. Самат Галимов

    Почему?

  89. Чермистов Виталий

    Потому что у нас есть разные внешние факторы. Что такое внешние факторы?

  90. Самат Галимов

    Сезонность, например.

  91. Чермистов Виталий

    Сезонность, экономика, политика, демография, погода, всё что угодно. И разные внешние факторы по-разному точечно влияют на разные временные промежутки. И мы не можем просто сравнить сентябрь с октябрем.

  92. Самат Галимов

    То есть сравнить нужно с поправкой.

  93. Чермистов Виталий

    С небольшой коррекцией, да. Мы можем... взять нашу модельку, взять определенные фичи, на основе которых мы будем обучать эту модельку, я сейчас очень упрощаю, и мы можем сделать определенный предикт, условно, что было бы, если бы вот этого вот хардкорного подкаста не было, и сделать синтетический контроль, то есть синтетическую контрольную группу, и сравнить теперь предсказанную на исторических донорах синтетическую контрольную группу с фактической метрикой. И вот провести вот такой вот квази-эксперимент. Такие подходы часто используются тогда, когда у нас нет возможности разделить нашу аудиторию на группу А и группу Б соответственно. В такси-сервисах они используются, Uber много такое делает, Facebook вот. И вот таким образом мы можем провести соответствующий эксперимент на подкасте. Либо заставить Apple сделать функциональность по АБ-тестам.

  94. Самат Галимов

    Очень прикольно, что можно даже неделя после на группе провести АБ-тест. Я сейчас хочу просуммировать пока то, что мы обсудили, чтобы как-то подвести итог. Значит, АБТест— это способ проверить гипотезу о том, какой вариант нашего сайта или какого продукта, или вообще чего угодно, какой вариант лучше за счет того, что мы одной группе пользователей даем один вариант, другой группе пользователей— второй вариант, и сравниваем, какой вариант лучше по результату. Единственное, не делить пользователей на группы, а можно поделить время на группы и в одном месяце делать одно, в другом месяце другое и сравнивать эти месяцы с поправкой на то, как бы это все менялось в отсутствие эксперимента. Виталий, я хочу истории из ада, потому что, судя по тому, что ты рассказываешь, это очень большая и сложная система. По моему опыту как техдира, если есть большая и сложная система, то она 100% глючит хоть в какой-то момент времени. Как эти глюки могут выглядеть? Вспомни что-нибудь из своей практики, самое веселое.

  95. Чермистов Виталий

    Ну, давай расскажу. Один сервис, большой такой сервис, логистически сплетовались курьеры. У курьеров есть определенные признаки, то есть там провели сегментацию, есть, условно, новички-курьеры, средние курьеры и премиальные курьеры. Премиальные курьеры это чуваки, которые типа-то не опаздывают, давно работают, у них хорошие отзывы, ну, в общем, которым есть доверие и со стороны того, кто предоставляет услугу, и тех, кто получает услугу. Ребята гоняли АБТ-тесты, делали какие-то выводы, но потом начали замечать то, что как-то вот странно все происходит, то есть много АБТ-тестов, которые заканчиваются положительно, то есть альтернативный вариант, то есть гипотеза над контролем выигрывает, но потом ничего не наблюдаем. обратились к нам, мы начали выяснять, выяснили, что так получается, что в одной из групп всегда превалируют очень сильно премиальные курьеры. То есть в одной из групп премиальных курьеров как минимум на 60% больше всегда. Господи... И в итоге результат эксперимента объясняется просто тем, что премиальные курьеры получают по всем фронтам лучше. То есть они получают от пользователей лучше, от продукта лучше, скорость у них выше, качество выше и так далее. Это просто был косяк на уровне системы сплетования, и по факту все эксперименты, которые проводились в каком-то временном промежутке, были как бы сломаны. Да, можно накостылить. и там сбалансировать всю эту историю, но это костыль, и в данном случае просто надо все переписывать. Очень часто эксперименты ломаются именно на уровне сломанной системы сплитования, потому что просто подумали то, что это слишком просто, просто сделаем обычный рандомайзер, и все будет работать. На самом деле нет, и в итоге может быть крутой процесс продуктовый, но вот этот вот моментик, связанный со сплитом, Он сломанный, и в итоге все эксперименты проводятся соответствующим образом.

  96. Самат Галимов

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

  97. Чермистов Виталий

    Да, нет, рандомайз обычно будет работать в определенных условиях. То есть у тебя есть, например, чем больше твой продукт, чем больше в твоем продукте гипотез, тем больше формируется очередь из экспериментов, и тебе нужно, значит, научиться запускать эксперименты параллельно, то есть не последовательно, а параллельно. И если у тебя обычный рандомайз, у тебя будут эксперименты пересекаться, пересекаться неравновероятно, значит, тебе нужно создавать дополнительные сущности, делать там слои, внутри которых у тебя эксперименты не будут пересекаться, то есть всячески усложнять. Продукт может работать на рандомайзе, но просто в какой-то момент времени это станет нефункциональным, потому что это будет формировать очередь, которую нужно будет сокращать, меньше будет экспериментов запускаться в процессе, то есть тебе нужно будет постепенно усложнять процесс проведения экспериментов.

  98. Самат Галимов

    То есть, сейчас я приведу пример, чтобы стало понятно, о чем мы говорим. Значит, я, например, могу пытаться определить лучший цвет сайта, черная тема, белая тема, да, и одновременно с этим смотреть, какая картинка лучше продает. и какая цена подписки генерирует больше денег. У меня тут уже три параметра. И все эти варианты теоретически могут влиять друг на друга. Типа белая картинка на черном фоне не очень. И ты говоришь, что такие эксперименты можно проводить в один момент времени.

  99. Чермистов Виталий

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

  100. Самат Галимов

    Ну, например, у меня есть эксперимент с тем, что я хочу проверить черную тему сайта, есть эксперимент с тем, что я хочу проверить цену подписки. Это означает, что мне нужно поделить пользователей не на две группы, а на четыре, и в каждой из них проверять свою гипотезу или нет?

  101. Чермистов Виталий

    Ну, условно, да, у тебя будет один эксперимент А-Б с этими функциональностями, другой А-Б с этой функциональностью. Пользователи между ними могут пересекаться. Я хотел бы, чтобы доли пересечений у меня были одинаковые между пересекающимися группами.

  102. Самат Галимов

    А, можно пересекать, не обязательно всех моих пользователей.

  103. Чермистов Виталий

    Да, мы можем пересекать, но при определенном условии.

  104. Самат Галимов

    Вау, вот в этот момент сплетование становится сложным.

  105. Чермистов Виталий

    Да. А, например, представь себе другую ситуацию. Представь себе то, что ты запустил АБТест, и у тебя два сервиса, которые обеспечивают твою гипотезу, они конфликтуют с друг другом. Такое ведь может быть чисто теоретически? Может быть. Тогда тебе нужно сделать что-то, чтобы у тебя пользователи просто не могли пересечься между двумя вот этими алгоритмами. Значит, тебе нужно создать слой. У тебя будет слой, например, поиска и слой ещё какой-нибудь. И в этом случае как бы у тебя... Внутри этого слоя у тебя эксперименты не пересекаются. И в этом слое ты можешь создавать конфликтующие по функциональности эксперименты, зная то, что пользователи не пересекутся.

  106. Самат Галимов

    А, я понял. У нас может этот алгоритм работать... В смысле, он запрограммирован, так что он работает одновременно, но при этом, если для пользователя отработал первый алгоритм, то второй уже нельзя запускать, потому что тогда у пользователя что-то сломается. Слушай, а сколько в реальности там в больших продуктах типа, не знаю, Яндекс.Такси или что-то вот аналогичного масштаба, сколько разных гипотез проверяется в один момент времени?

  107. Чермистов Виталий

    Ой, слушай, не скажу, сколько в один момент времени. Ну, например, какой-нибудь... Большой продукт Яндекс, я думаю, в год может спокойно выпускать там полторы-две тысячи A/B-тестов.

  108. Самат Галимов

    Вау! Это примерно по три АБТ-теста в день.

  109. Самат Галимов

    Ну да.

  110. Чермистов Виталий

    Я думаю, это объем какого-нибудь поиска, и, ребята, если поиской себя слушаете, я говорю неправдоподобные цифры, я заранее извиняюсь. но я думаю, что это вполне себе. То есть даже в зависимости от трафика, в зависимости от того, насколько команда вообще... насколько у нее АБТСТ является фундаментальным инструментом принятия решений. Например, в Netflix, если нет АБТСТ, нет ничего.

  111. Самат Галимов

    Какая должна быть разница в результативности вариантов, чтобы сказать, что один вариант лучше, чем другой? Возвращаемся к нашему примеру. Я хочу проверить черную тему на сайте. Вот я ее сделал, и я замеряю, например, количество открытых страниц на сайте. Типа, сколько пользователей в среднем открывают страниц на сайте. Можешь как-то сценарий описать? Типа, на что мне нужно посмотреть, чтобы определить вообще это число?

  112. Чермистов Виталий

    Мы должны посмотреть сначала на нашу метрику. Насколько у нее большая дисперсия, насколько она шумная.

  113. Самат Галимов

    Если все открывают две страницы, дисперсия 0. Если все открывают разное количество страниц, дисперсия большая, да?

  114. Чермистов Виталий

    Ну, то есть да. условно, дисперсия, это насколько каждый пользователь, который открывает странички, отличается от среднего количества открытых страничек. Чем больше наш шум, то есть чем больше наша дисперсия, тем больше нам данных требуется, потому что очевидно, да, что слишком большой размах наших данных. Дальше есть наша ошибка первого рода. Это false positive rate.

  115. Самат Галимов

    Так, false positive, значит, я думаю, что типа черная тема классная, на самом деле она не классная.

  116. Чермистов Виталий

    Да, она не классная, да. Чем меньше мы хотим иметь ошибки первого рода, тем больше нам нужна трафика, то есть чем больше нам нужно наблюдений. И вот есть ошибка. А еще есть еще одна метрика вероятностная, которую тоже нужно важно учитывать. Это уже true positive, то есть вероятность обнаружить изменения там, где оно действительно есть. То есть условно, с какой вероятностью тест мне скажет, что я болею, когда я действительно болею? Как это измеряется? Чем выше величина нашего изменения, тем более вероятно мы это изменение обнаружим. Но вероятность обнаружения этого изменения будет зависеть как от дисперсии, так от количества наблюдений, так и от ошибки первого рода, то есть от false positive. И вот на вот этом балансе мы рассчитываем минимальный объем трафика, который нам необходим для того, чтобы замерить какую-то величину изменения. В случае с темной темой на сайте, какой мы ответ получим? То, что, условно, если мы сравниваем темную и светлую тему на сайте и видим какую-то разницу в метрике, например, 2%, какая вероятность того, что эти 2% окажутся статистически значимыми? То есть какая вероятность того, что мы истинно обнаружим вероятность изменения там, где это изменение действительно есть? Хотя у нас оно по факту есть.

  117. Самат Галимов

    А, чтобы эти 2% не оказались под случайностью.

  118. Чермистов Виталий

    Да.

  119. Самат Галимов

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

  120. Чермистов Виталий

    Не, ну время важно. Во время мы упираемся вот в окно метрики, мы это с тобой проговаривали. От времени, от количества наблюдений будет зависеть шум в наших данных, то есть чем меньше данных, тем больше шума. Периодически также важно переповторять эксперименты. Могу интересную историю рассказать. Мы работали с одной большой авиакомпанией. Была предновогодняя пора, это где-то начало декабря, и мы обеспечивали то, чтобы эксперимент хорошо шел. Ребята решили проверить, то есть из-за этой авиакомпании. Решили позаимствовать у Booking идею, ты когда заходишь на отель, и у тебя включается типа... просматривают столько-то, мест столько-то. Там вот решили ребята проверить то, что данное направление просматривают столько-то людей и осталось столько-то билетов. Привели эксперимент, увидели большой прирост в конверсию в покупку, чек подрос, потому что покупали больше дополнительных услуг, т.е. там, фиксация багажа и т.д., и т.д., и т.д. Классно, раскатили и т.д. Вернулись с праздников, решили повторить эксперимент, роста не увидели. Почему? Потому что, ну, как бы, в этот момент люди сильно планировали отпуска, т.е. в горячий сезон … в негорячий сезон ты не работаешь. Вот это пример того-то, что, опять же-таки, у гипотезы может быть время жизни. То есть она может в какой-то период времени работать, в какой-то момент не работать.

  121. Самат Галимов

    Прикольно. И получается, эту галочку надо включать, эту функцию включать именно в эти месяцы.

  122. Чермистов Виталий

    Ну да, да, да. Ну то есть её либо надо включать только в эти месяцы, либо только тем пользователям, которые смотрят билеты не на будущее, а на короткий промежуток. То есть, например, у них вылет типа через неделю. Вау!

  123. Самат Галимов

    Вот это круто. А как понять, когда завершать эксперимент?

  124. Чермистов Виталий

    На самом деле, самый простой ответ на этот вопрос, чтобы не уходить в огромные математические дебри, мы в начале эксперимента делаем определенный предрасчет. Исходя из всех вот этих вот параметров, ошибка первого рода, дисперсия, true positive, делаем расчет, какое необходимое нам количество данных нужно, чтобы замерить какое-то изменение. И вот мы делаем этот расчет, получаем какое-то количество наблюдений, и на это количество наблюдений равняемся.

  125. Самат Галимов

    Вот мы запланировали эксперимент, сказали, что, скорее всего, разница будет вот такой, значит, провести его нужно столько-то раз, займет примерно столько-то времени, мы после этого бьёмся до конца вот в то, что заранее определили, или мы смотрим на происходящее и меняем своё поведение в зависимости от того, как эксперимент идёт в процессе?

  126. Чермистов Виталий

    Но если это прям какой-то был бы идеальным, научным, законсилированным процессом, если бы мы запустили и бьёмся до последнего, потому что у нас может что-то пойти не так, у нас может всё упасть, то есть мы что могли сломать продукты, если мы будем до победного просто ждать то, что нет... сломали, ждем все равно, очевидно, что мы не доэкспериментируемся так. Поэтому мы ориентируемся на тот объем трафика, который мы предрассчитали, но очевидно то, что мы смотрим в процессе. Но мы смотрим в процессе, скажем, скажем, накопительно. То есть мы смотрим, например, как у нас накопительно меняется наш лифт, то есть наше изменение. И в тот момент, когда, например, мы понимаем то, что наше изменение выходит на некое плато, то есть мы смотрим накопитель, оно перестает меняться и формирует некое плато, то есть оно достигает сходимости. По хорошему счету, это может быть одним из триггеров к тому, что мы дошли до оптимального количества наблюдений, потому что дальше уже ничего не меняется, и на основании этого мы можем остановить эксперимент и сделать уже какие-то заключения как вариант. Чем меньше у нас наблюдений, тем более реактивные реакции могут быть. То есть у нас метрика может прыгать.

  127. Самат Галимов

    Дисперсия больше.

  128. Чермистов Виталий

    Дисперсия больше. По мере роста количества наблюдений у нас всё останется стабильнее, и мы можем просто заметить, что через какой-то промежуток времени у нас изменение волатильным, оно останется более стабильным.

  129. Самат Галимов

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

  130. Чермистов Виталий

    Да, там можно сделать, вывести из этого определенные метрики, то есть сходимость, то есть поделить фактическую точку на предыдущую точку, посмотреть, стремится ли она к единичке и так далее.

  131. Самат Галимов

    Все, что ты пока объясняешь, это безумно сложная математика. У меня вообще чувство, что я вернулся опять в курс по статистике из университета. Есть ли на рынке решения, которые можно просто plug and play, типа подключил и поехал? Или это всегда нужно самим пробовать?

  132. Чермистов Виталий

    Есть на самом деле решения, которые ставятся, настраиваются и работают как внешний продукт. Например, Statsig. Это ребята, бывшие выходцы из Facebook, Airbnb и так далее, они сделали огромную платформу, которая и сплиты делает, и расчеты делает, такая вот SaaS-платформа по автоматизации экспериментов. А есть Optimizely, тоже делают готовую платформу. Visual Website Optimizer, VWO. Ребята из Индии тоже делают крутые решения. Google Optimize, то есть гугловский продукт, который входит в парадигму Google 360, Analytics 360.

  133. Самат Галимов

    энтерпрайз-решение.

  134. Самат Галимов

    Да.

  135. Чермистов Виталий

    На российском рынке сейчас появляются решения, то есть вот у нас есть своя система сплитования, разрабатывают еще несколько команд параллельно. Вот, поэтому решений много, рынок емкий, и каждый год появляются какие-то отдельные решения, то есть там есть, например, какие-то более специфичные, Unleash или Split.io, которые дают функциональность только сплита и фича флагов, то есть они не дают инструмент анализа, а просто дают решения, которые хорошо могут засплитесь. Вот наше решение как раз к EXPF Sigma, оно ближе к этим ребятам. Соответственно, есть такие инструменты. И дальше как бы у продуктов всегда есть выбор. Они либо идут в историю и делают собственные решения, либо идут на рынок и выбирают какой-то внешний продукт. Очевидно, что, не знаю, российские биг-тех-компании, мировые биг-тех-компании, они стараются держать инструменты внутри. Почему? Потому что, во-первых, у них объем огромный, это просто дорого. Во-вторых, секьюрность, так или иначе. В-третьих, собственное технологическое легаси это важно. То есть управляемость, масштабируемость и так далее. Это быстрее банально сделать внутри.

  136. Самат Галимов

    Виталий, я хочу уточнить, я правильно понял, что когда обычно говорят о статистическом анализе, о статистике, там есть какой-то набор готовых программ очень известных, типа язык программирования R, SPSS. Люди, которые проводят АБ-тесты в компаниях, они их используют или те коробки, о которых ты рассказал, они все это закрывают и дают тебе уже такой конечный продукт и результат?

  137. Чермистов Виталий

    Ну, в основном, это питон, на самом деле. То есть, если история идёт о ручном анализе, то это чаще всего делается на питончике, реже на R, и вот всякие там статистика, СПСС и так далее. То есть, я не встречаю, чтобы они сейчас использовались. Поэтому если это что-то внутри, то это питон. Если это внешнее решение, да, оно закрывает определенный кусок ручного анализа, но не исключает присутствие аналитика, который потом что-то дорассчитает, пересчитает.

  138. Самат Галимов

    Люди, которые работают с АБТ-тестами, это отдельная профессия с этими данными? Это отдельная профессия или это делают аналитики, например?

  139. Чермистов Виталий

    Вообще не отдельная профессия. По хорошему счёту, навык разбираться в АБТ-тестах – это один из hard skills, которые ждут от современного продуктового аналитика, либо data-сиентиста, если он в соответствующей специализации. Но заметен определённый тренд, что в компаниях, в командах выделяются отдельные команды, которые отвечают за развитие методологии экспериментов, либо за развитие платформы, которая позволяет автоматизировать эксперименты.

  140. Самат Галимов

    которую может себе позволить самая маленькая компания или это вещь, которая становится выгодной только при больших объемах. То есть, например, я могу точно сказать, что мониторинг ошибок, это нужно включать с самого начала, начиная от 15 долларов в месяц, ты подключаешь к специальной сервису, которая за тебя это автоматизирует, ловит ошибки. Но если этого не сделаешь, цена будет очень... ну, типа, цена ошибки очень высокая, пан интент. А вот в случае або-тестирования, это как бы... с чего можно начать как бы в этом?

  141. Чермистов Виталий

    Слушай, або-тестирование точно не нужно маленькому стартапчику, который только-только запустился, и у него там, не знаю, там 100 пользователей в месяц, и там можно потратить время и деньги на более быстрые инструменты, то есть на... ну, на ресёрчи, на всё вот это вот. И, наверное, АБТест— это история про небольшие продукты, но которые, скажем так, прошли вот этот первый быстрый путь формирования аудитории и так далее. Поэтому это, наверное, от малосредних, средне-крупных до больших.

  142. Самат Галимов

    Я просто думаю о запуске своего стартапа. И есть вещи, которые я сам лучше сделаю. А есть вещи, которые, типа, аппендицит я себе вырезать не буду, даже если у меня есть хороший скальпель, потому что, ну, типа, так не делается. Лучше к хирургу пойти. Вот. А БТС-то они ближе куда?

  143. Чермистов Виталий

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

  144. Самат Галимов

    кажется, что... Если ты любишь... если ты мазохист и любишь статистику.

  145. Чермистов Виталий

    Да-да. Ну, то есть нет, на самом деле, я бы, короче, делегировал. Ну, то есть я бы передал это на эксперта, и всё.

  146. Самат Галимов

    Отлично.

  147. Самат Галимов

    И вот как бы я подвожу к вопросу, ты как раз такие услуги оказываешь. Можешь назвать цену такую, типа, минимальный чек и средний чек для своего клиента?

  148. Чермистов Виталий

    Да, мы EXPF. В рамках EXPF у нас есть и сервисные услуги, то есть мы продукты предоставляем, и консалтинг. Если мы говорим про консалтинг, то здесь всё просто, у нас цена исходит из часа. То есть у нас есть стоимость часа, он стоит 9500, и дальше, чем больше часов, тем, соответственно, сложнее проект, тем больше его стоимость. И там есть два варианта монетизации. Именно консалтинговый услуг – это проект, когда мы заранее предрасчитываем стоимость, Когда мы точно знаем образ результата и говорим клиенту стоимость, клиент в два раза ее платит. Предоплата, постоплата. А есть тендем, то есть time and materials, когда сколько часов на работу и сколько денег получили. Вот, то есть две модели, и если говорить о среднем чеке, Если средний чек, наверное, корректнее считать по году сотрудничества, то средний чек, сейчас он составляет примерно 5 миллионов 400 тысяч.

  149. Самат Галимов

    В год?

  150. Чермистов Виталий

    Да, одного клиента.

  151. Самат Галимов

    Полмиллиона в месяц всего, окей. Даже меньше чуть-чуть.

  152. Чермистов Виталий

    Это прям средний. Это именно консалтинговые услуги.

  153. Самат Галимов

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

  154. Чермистов Виталий

    Да, да, да.

  155. Самат Галимов

    Прикольно. Сколько времени нужно вот, типа, одному чуваку или вам для того, чтобы настроить минимальную инфраструктуру и начать запускать тесты на продукте на среднем?

  156. Чермистов Виталий

    Если мы приходим к клиенту с внедрением нашего решения по системе сплитования, то от момента старта до момента первого теста пройдет две недели, и сам пилот займет месяц. Первый пилот. То есть мы за месяц просто проверим то, что это решение работает, и он уже на следующий месяц сможет полноценно запускать любое количество тестов. Это если мы внедряем свое решение. Если мы приходим, и клиент хочет развить решение in-house, то в данном случае процесс может занять от трех до шести месяцев. Почему такой лаг? Потому что мы должны изучить, погрузиться в инфру, погрузиться в сервисы, промоделировать разные штуки, подготовить документацию, описание, коннектиться с разработчиками их, объяснить разработчикам, что нужно сделать, потом провести авторские надзоры, далее, далее, далее. И здесь будет лаг, будет зависеть в том числе от вовлечения той стороны в этот проект. Но я думаю, ты сам это прекрасно понимаешь, занимаясь заказной разработкой.

  157. Самат Галимов

    Давай два финальных вопроса. Как научиться об аттестировании, если я это все послушал, и мне захотелось стать в этом специалистом?

  158. Чермистов Виталий

    Есть, мне кажется, три варианта, как это можно сделать. Можно купить много книжек по статистике, учить книжки по статистике и параллельно, вооружившись либо питоном, либо R на каких-то настоящих, либо ненастоящих данных, проверять те теоретические концепции, которые ты изучаешь. То есть брать теорию, накладывать ее на эмпирику. Второй вариант это пойти работать и в процессе трудовой деятельности уже накалываться на те шишки, которые будут приходить. Но здесь важно как бы, чтобы в компании, в которой Наш потенциальный аналитик работает. Была хорошая культура экспериментов. Ну и третий вариант это пойти учиться куда-то. То есть есть определенные... есть разные курсы. У нас есть свой интенсив, есть у Karpov.Courses интенсив, есть на DataCamp отдельные модули про АБТест, есть на Reforge курсы про АБТест и так далее. И вот можно выбрать какой-то из образовательных интенсивных курсов и так далее. Но это не отменяет вообще никоим образом практику. То есть в любом случае нужно либо пэд-проект, на котором ты будешь что-то закреплять, либо рабочий проект.

  159. Самат Галимов

    Что еще почитать, если еще пока не решился как бы останавливаться на айтизм, но хочу про это узнать больше? Есть ли какая-нибудь, не знаю, лекция, какой-нибудь YouTube или книжка, которую можно почитать и узнать больше?

  160. Чермистов Виталий

    Есть такой колоритный персонаж. Он раньше работал в Майкрософте, отвечал там за команду X-Платформы. Это команда, которая занималась развитием платформы экспериментов в Майкрософте. Его зовут Рон Кохави. и у него есть книжка про эксперименты. Он там описывает процесс от самых азов до очень сложных историй про эксперименты. Она очень крутая, она является, наверное, крутым интердакшеном вообще про то, что такое АБТ-тесты и так далее. Это вот точно Мастрит. И мне очень нравится книжка Сара Бослаф, статистика для всех, Габеленко с крабом красным на обложке. Вот, и там она хорошо объясняет, не игнорируя какую-то академическую точность, но при всём при этом не уходя уж в слишком строгое обоснование каких-то вещей про основные фундаментальные статистические концепции. Вот параллельно читая про в целом АБТ-сты и параллельно изучая какие-то отдельные вещи, в которых в первой книге упоминается, но не раскрывается, можно в принципе составить себе такой неплохой кругозор.

  161. Самат Галимов

    Офигеть. Ссылку на обе книжки мы положим в описании к этому эпизоду.

  162. Самат Галимов

    Кайф.

  163. Самат Галимов

    Спасибо тебе большое, что выделил время.

  164. Чермистов Виталий

    Спасибо огромное, что позвал.

  165. Самат Галимов

    И мы его сделали вместе с сервисом онлайн-образования Яндекс Практикум. Над подкастом работали редакторка Маша Агличева, продюсерка Настя Медведева, звукорежиссерка Нина Мамотина. За джингл спасибо Алексею Зеленскому. Спасибо вам большое, дорогие слушатели.

Слушайте где удобно

0:00