Строим процессы проверки продуктовых гипотез

Строим процессы проверки продуктовых гипотез

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

Руководитель отдела аналитики AIC

Александра Клименко:

Всем добрый день! В эфире «Нормально делай, нормально будет». Я, Александра Клименко, и сегодня со мной Виталий Черемисинов, руководитель отдела аналитики AIC. Витя, привет.

Виталий Черемисинов:

Привет!

Александра Клименко:

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

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

Да, я, честно говоря, не могу сказать, что именно возражения на уровне «мы хотим побыстрее, мы видим тренд» нет, в основном они более глобальные в контексте того, что.. Какая проблема среднестатистического менеджера в достаточно консервативной организации. Она очень простая, она основана на собственных амбициях. То есть человек не то, что не видит ценность, он скорее будет убеждать окружающих в этом, чтобы просто не показать то, что его экспертизы будут стоять по сомнениям. Самая прямая возможность это опровергнуть, это показать, что ты, друг, не прав. То есть мы, как правило, приходим, говорим: давайте мы не будем торопиться, давайте мы вам запустим несколько пилотов. Несколько простых экспериментов, вы посмотрите, как это выглядит, вы пройдете с нами весь цикл этого процесса и увидите, что в результате. Желательно для нас естественным образом мы стараемся привлечь к этому процессу максимальное количество стейкхолодов ключевых, которые в состоянии принять решение о дальнейшем сотрудничестве. Потому что если замкнуть эту ситуацию просто на менеджере на обычном, то эта ситуация может не сдвинуться. То есть задача очень двоякая. С одной стороны, сделать хорошо, с другой стороны, доказать, что всё-таки твоя экспертиза, это не конечное знание, которым обладаешь. Потому что продукты разные, ты до конца не понимаешь, кто с ним взаимодействует и как с ним взаимодействует. Поэтому мы исходим из пилотов, чаще всего они даже бесплатные. То есть провести несколько тестов, которые вам не будут стоить денег, но зато мы покажем свою ценность, свою компетенцию в этом вопросе.

Александра Клименко:

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

Виталий Черемисинов:

Я считаю, что лучшее, что можно в этом сделать, это пойти именно на уровне примера. То есть, например, в любом случае, какой бы продукт не был, как бы он н был плохо или хорошо развит, есть какой-то базовый источник знаний данных. Могут быть просто серверные логи, это может быть какая-то система аналитики, может быть целая инфраструктура. Например, у банка всегда есть инфраструктура какая-то, как минимум, они собирают данные с анкет, чтобы как-то проводить скоринг на предмет дать кредит или не дать кредит. Добавить какую-нибудь вороночку, какие-нибудь сегменты, какую-нибудь маленькую когорту, сказать, что, смотрите, мы построили вот здесь, например, у нас очень большой отвал на этом сегменте, на этом шаге воронки. Возможно, это связано вот с этим, дополнительно можно привести какой-то custdev с пользователем, сформировать перечень гипотез и постараться минимальными усилиями, не привлекая... Ещё же вторая проблема больших компаний в том, что бэклог всегда занят сложными доработками, нужно систему допилить, нужно скоринг допилить, анкета у нас отваливается, до гипотез там просто времени не остаётся и сил тоже. Есть подручные инструменты, есть сервисы, которые позволяют их быстро сделать, можно использовать какой-нибудь Google Tag Manager, написать простенький скрипт, который будет просто разделять потоки данных трафика. Это костыли во многом, но это то, что позволяет начать с чего-то, это вопрос именно культуры, то есть мы же слоями должны выкладывать все.

Александра Клименко:

То есть начинать с малого.

Виталий Черемисинов:

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

Александра Клименко:

Логично. Про инструменты мы с тобой ещё поговорим, это тоже интересная тема. Давай вернёмся к нашему процессу, который был у вас. Какие первые шаги вы делали в этом проекте, что было самым первым?

Виталий Черемисинов:

Как я сказал, первое вообще, в принципе, мы стараемся всегда с этого начинать, это после того, как мы провели какой-то пилот, то есть сначала мы договариваемся о пилоте.

Александра Клименко:

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

Виталий Черемисинов:

Да, конечно. Мы просим по-разному, то есть либо мы просим доступы от...

Александра Клименко:

Нет, а конкретно вот в этот раз что было, как проходило?

Виталий Черемисинов:

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

Александра Клименко:

А кратко можешь про какую-нибудь из гипотез рассказать сразу на примере.

Виталий Черемисинов:

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

Александра Клименко:

Сайт банка. На нём список продуктов.

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

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

Александра Клименко:

А было такое, что вам не хватало каких-то данных, их вообще не собирали?

Виталий Черемисинов:

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

Александра Клименко:

Если чуть-чуть обратно вернуться, вы где вот это собирали всё в каком-то виде аналитику? Из разных источников хотите собрать данные, чтобы, наверное, в одном месте смотреть. Дашборды, хранилища.

Виталий Черемисинов:

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

Александра Клименко:

Хорошо, тогда про маленькие эксперименты давай.

Виталий Черемисинов:

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

Александра Клименко:

Как вы генерили эти гипотезы, сибирались брейнштормом, как это происходило.

Виталий Черемисинов:

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

Александра Клименко:

А на что вы смотрели тогда?

Виталий Черемисинов:

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

Александра Клименко:

Просто экспертному или есть какие-то критерии?

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

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

Александра Клименко:

А где вы, кстати, хранили такие гипотезы, просто какая-то табличка или всё-таки более сложные инструменты?

Виталий Черемисинов:

Сначала всё заносится в Google Docs, то есть у нас есть шаблон по приоритезации гипотез, это отдельная тема, я думаю,мы ее затроним еще. Потом это переносится в TeamGant и делается что-то вроде Roadmap. Что вот эта гипотеза выходит, тогда заканчивается, эта тогда, заканчивается тогда, эта тогда, заканчивается тогда. То есть получается очень динамичный документ, потому что гипотеза с гипотезой могут быть зависимыми. То есть эта, например, совсем никак не отреагировала, наверное вот это потому, что они очень схожи в чем-то, нет смысла тестировать. Плюс оно обновляется. То есть это очень такой живой, постоянно развивающийся док получается.

Александра Клименко:

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

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

Стоит понимать, что, безусловно, есть.. Во-первых, что такое «данных мало», нужно в этом разобраться. То есть когда мы говорим, что данных недостаточно, такой постановке вопроса, в принципе, быть не может.

Александра Клименко:

Я имею в виду, когда конкретно было на входе много, а в целом конверсия меньше 1 % и совсем мало.

Виталий Черемисинов:

Я понимаю, то есть если мы проводим A/B тест, мы хотим в A/B тесте увидеть разницу, какую-то разницу между выборочным и средним. Между, например, средней в группе A конверсией и между средней в группе B. Само количество M, например, 100 - это мало или не мало, непонятно, пока мы не посчитаем какие-то дополнительно показатели. Например, есть минимально ожидаемый эффект, он рассчитывается по-разному, исходя из какого-то статистического критерия, которым мы проверяем гипотезу.

Александра Клименко:

Можешь чуть-чуть подробнее, наверное, не все знают.

Виталий Черемисинов:

Например, есть разность 20 и 30 %, есть какой-то эффект процента между ними, на сколько процентов 30 больше, чем 20.

Александра Клименко:

На сколько процентов 30 больше, чем 20.

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

Нет, 10-15, конечно, печально, но я так могу сказать, если у нас маленькая дисперсия внутри группы, то есть отклонение от ожидаемого среднего, то есть не сильно шумят данные, то в целом мы можем использовать так называемые методы ресемплинга.

Александра Клименко:

Давай подробнее.

Виталий Черемисинов:

То есть искусственно увеличить количество наблюдений, то есть мы будем многократно, у нас, например, есть мешок, в мешке лежат шарики белые и черные. Мы руку зачерпнули, у нас несколько шариков. У нас в 3 шарика чёрных, записали: три шарика чёрных. Положили обратно. Опять вытащили два шарика чёрных. И то же самое можем делать с нашими данными. Например, у нас набор данных.

Александра Клименко:

Вот заявки вот эти.

Виталий Черемисинов:

Например, заявки. И вот у нас есть нолики, единички, нолики, единички и какой-то пользовательский идентификатор. Зачерпнули, у нас 10 пользователей. В этих 10 пользователях 5 % оформили заявку. Зашибись, 5 %, положили обратно и т.д.

Александра Клименко:

Это мы взяли в самом начале этот трафик, в самом начале взяли и посмотрели.

Виталий Черемисинов:

Это те, кто сконвертировался. В общем, это.

Александра Клименко:

Всё-таки вначале или те, кто сконвертировался?

Виталий Черемисинов:

Нет, те, кто сконвертировался.

Александра Клименко:

То есть у нас вот эти 10 людей, их всего 10, а ты говоришь...

Виталий Черемисинов:

Нет, их не всего 10.

Александра Клименко:

Но за день может быть и 10.

Виталий Черемисинов:

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

Александра Клименко:

Хорошо, в самом начале ты сказал, что это можно делать при некотором обстоятельстве. Ещё раз подробнее про это обстоятельство, как понять, шумят у меня данные или не шумят.

Виталий Черемисинов:

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

Александра Клименко:

Этот способ, он работает, если у меня, в принципе, мало трафика на продукте. Это проблема для B2B продуктов, которые не банк, а какие-нибудь более сложные такие.

Виталий Черемисинов:

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

Александра Клименко:

Давай пример, если есть. Если есть из практики, вообще отлично будет.

Виталий Черемисинов:

Например, есть один банк и банк, например, специализируется, прежде всего, на предоставлении ипотеки военнослужащим.

Александра Клименко:

Отлично.

Виталий Черемисинов:

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

Александра Клименко:

То есть, а давай прямо сразу, что это может значить, например, что посещения неравномерные?

Виталий Черемисинов:

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

Александра Клименко:

В случае с нашими ипотечниками-военниками на что бы ты смотрел?

Виталий Черемисинов:

Я бы посмотрел на дисперсию и вариацию, посмотрел бы, насколько данные сильно шумят и дальше на основе этого принимал бы решение.

Александра Клименко:

А какие конкретно данные? То есть посещения.

Виталий Черемисинов:

Конверсия.

Александра Клименко:

Просто конверсия.

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

Нет, всё-таки...

Александра Клименко:

По факту у тебя опять-таки данных мало, но не потому, что маленькая конверсия, а потому, что просто короткий промежуток времени.

Виталий Черемисинов:

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

Александра Клименко:

Это не банковские, я, честно говоря, тоже не знаю, какой, но бывает.

Виталий Черемисинов:

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

Александра Клименко:

То есть долгие месяцы, на самом деле, не понадобятся.

Виталий Черемисинов:

Тут всё зависит от того, что мы хотим взять за эффект, какая разница у нас в эффекте, что мы будем вообще, какие метрики мы анализируем. Но есть разные статистические критерии, которые позволяют работать, например, есть многорукие бандиты. Как обычно организованы A/B тесты. Мы льём 50 % на 1 ветку, 50 % на другую ветку. Есть байесовские однорукие бандиты, которые, исходя из того, какой вариант лучше конвертится, он будет туда больше трафика и лить. То есть, например, мы видим, что у нас у ветки B скроллов больше, соответственно, у нас бандит будет, например, 3-2 раза в день пересчитывать вероятность одного события, исходя из другого события, говорить то, что это событие вероятно лучше, налью данных больше туда. И получается, что у нас не равно распределяются доли трафика, тем самым мы быстрее можем принять решение. То есть, к словау, медиа обычно пытаются использовать именно байесовскую статистику, а не частотную для интерпретации A/B тестов.

Александра Клименко:

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

Виталий Черемисинов:

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

Александра Клименко:

Давай сразу на примерах.

Виталий Черемисинов:

Да, давай. То есть, например, мы хотим узнать.

Александра Клименко:

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

Виталий Черемисинов:

Да я и говорю.

Александра Клименко:

Хорошо.

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

На превью карточки.

Александра Клименко:

На превью, то есть этот продукт для вас.

Виталий Черемисинов:

Этот продукт, например, смотрят, идею украли у букинга.

Александра Клименко:

Да, как раз хотела сказать.

Виталий Черемисинов:

Идею украли у букинга, возможно, она не самая целесообразная для финансовой отрасли.

Александра Клименко:

Но вот как раз хотели проверить.

Виталий Черемисинов:

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

Александра Клименко:

Так, тогда расскажи, вот вы выдвинули эту гипотезу и поняли, что теоретически её может описывать, поведение пользователя может описывать множество таких метрик, которые ты перечислил. Что сделали потом?

Виталий Черемисинов:

Мы запустили, естественно, тест.

Александра Клименко:

Как он выглядел, эта страница, это просматривают.

Виталий Черемисинов:

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

Александра Клименко:

Это экспертом делается.

Виталий Черемисинов:

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

Александра Клименко:

Но конверсии нет.

Виталий Черемисинов:

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

Александра Клименко:

А вот, кстати, хороший вопрос. Вы провели эксперимент и получилось, что пофиг, условно говоря, или можно сделать, можно оставить. Что лучше, реально сделать или реально оставить?

Виталий Черемисинов:

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

Александра Клименко:

Ну да, понятно.

Виталий Черемисинов:

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

Александра Клименко:

Хорошо, давай дальше. Разобрались с маленькими гипотезами, настало время серьёзных ребят.

Виталий Черемисинов:

Разобрались с маленькими гипотезами, теперь стоит понимать, что с нами не будет никогда такого, что всегда будут тестироваться какие-то мастодонты, новая продуктовая страница, либо новая главная страница. Дальше будут комбинированные, дальше будут, например, добавляться какие-то функциональные элементы. Например, соберётся калькулятор, или немножечко изменится первый шаг оформления заявки, либо добавятся какие-то элементы, которые помогают пользователю принять решение на заявке. Например, прогресс бары или превьюшка продукта, которая оформляется с возможностью изменить параметры, к примеру, овердрафт он хочет не 50.000, а 150.000. Чтобы не уходить обратно, мы можем сделать сейчас. Просто мы лучше понимаем аудиторию, к чему она чувствительна. Естественно, не стоит воспринимать A/B тесты, как инструмент для поиска инсайтов. Всё-таки это не для этого делается. A/B тест, это именно проверка на влияние на метрики и на пользователей. Но тут мы обычно совмещаем, то есть часто почему-то A/B тесты идут вровень с фразой «повышение конверсии». То есть A/B тест должен увеличить конверсию. Между ними нет ничего общего. Естественно, это цель, ради которой ты экспериментируешь, чтобы что-то выросло, но прямой связи тут нет. Стоит понимать, что есть тесты, например, ухудшающие эксперименты, которые направлены на то, чтобы узнать, как сильно упадёт что-то, если мы сделаем хуже.

Александра Клименко:

То есть когда проверяем эластичность, важно нам это или не важно.

Виталий Черемисинов:

Например, мы можем запускать прайс дискавери эксперимента, увеличить стоимость на 10 % и посмотреть, как у нас изменится спрос к этому продукту. То есть изменчивость спроса от цены или наоборот. Поэтому всё-таки A/B тест, это не обязательно UI фича, это не обязательно работа с UI или UX, это может быть работа с бэкендом, это может быть работа напрямую с фронтендом, например, мы хотим оптимизировать скорость работы страницы, и это тоже прекрасный повод что-то поэкспериментировать. Поэтому дальше гипотеза дополняется и визуальными, и функциональными элементами. Но ещё раз, наша задача всё-таки, прежде всего, позволять продукту быстро проверять гипотезы и корректно с точки зрения статистики.

Александра Клименко:

Вот, да, по поводу статистики, как именно вы считаете A/B тесты?

Виталий Черемисинов:

На самом деле, разные подходы от количества, от метрики, которую мы анализируем, от количества групп. То есть A/B теcт может быть не обязательно A B, он может быть A, B, C, D и т.д. Соответственно, исходя из формы распределения, то есть все вы знаете, что такое нормальное распределение, колоколообразное распределение.

Александра Клименко:

Так, если не колокол, пошёл смотреть картинки в Google.

Виталий Черемисинов:

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

Александра Клименко:

Почему некорректно брать медиану?

Виталий Черемисинов:

Прекрасный вопрос. В этом отличие во многом параметрических от не параметрических критериев статистики. То есть, например, очень популярный критерий, это t-критерий Стьюдента, он очень часто упоминается, когда мы говорим про A/B тест. Он работает очень просто. Мы делим разницу между двумя средними условно на нашу дисперсию. В средней фигурирует и дисперсия, и непосредственно в разности средних. Медиана, разница, как правило, встречается в Н

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

Александра Клименко:

Да, мне кажется, без этого с вами вообще даже сложно разговаривать будет. Какие бывают ещё у вас какие-нибудь примеры, может быть, эксперимента, которые не заключались в A/B тесте.

Виталий Черемисинов:

В смысле?

Александра Клименко:

То есть эксперимент нужно было провести, чтобы проверить гипотезу, и этот эксперимент не был A/B тестом. Какие-то ещё инструменты, наверное, существуют.

Виталий Черемисинов:

Естественно, мы можем, например, катить фичу просто, было, не было, в смысле не было фичи, появилась фича.

Александра Клименко:

Нет, но это как-то рискованно, а имеется ввиду тоже такие же, в правильной парадигме того...

Виталий Черемисинов:

Но в основном A/B тест можно выкатывать, это не 50/50, например. А, например, тоже один банк, мы делали новую главную страницу полностью. Нам важно было посмотреть показатели перехода на продукты, клики по меню, использование поиска, взаимодействие с промо материалом и так далее, как они изменятся относительно старой версии. 50/50 тоже очень рискованно было катить, потому что совершенно непредсказуемый результат, там совершенно новая концепция была и совершенно непонятно, что это будет, даже для новых пользователей. Такое, конечно, выкатывается не для лояльной аудитории. У сайта банка лояльная аудитория, это сомнительное понятие, это скорее те, кто зашёл, посмотрел и хочет вернуться, чтобы дооформить. Поэтому не 50/50, а примерно 10 % отдаётся новой ветке и 90 старой, и потихонечку это раскручивается. Но, тем не менее, A/B тесты всё-таки, пока у неё нет прямой альтернативы.

Александра Клименко:

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

Виталий Черемисинов:

Не верят результатам?

Александра Клименко:

Да, говорит что это всё фигня, всё равно я считаю, что надо делать вот так. Что делать?

Виталий Черемисинов:

На самом деле, наболевший вопрос, если честно.

Александра Клименко:

Расскажи, может быть, про какой то есть опыт.

Виталий Черемисинов:

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

Александра Клименко:

Технические баги были на новой версии.

Виталий Черемисинов:

Да. Проседала, новая ветка проседала. Но если разложить данные по временному ряду, отложить, например, ошибки, стандартную ошибку, чтобы построилась decrease natural, и посмотреть, как вели себя две ветки, то естественно, сначала одна была сильно ниже, другая выше. Но потихонечку одна вытягивалась от дня ко дню.

Александра Клименко:

Можешь чуть-чуть попроще объяснить, что именно вы сделали и зачем это было. Имеется в виду.

Виталий Черемисинов:

Естественно, мы сделали новый дизайн, наша задача была его проверить, естественно, хорошо или плохо. Раскатали тест, через пять дней начали снимать первые результаты. Увидели то, что всё плохо.

Александра Клименко:

Вот с этого момента, что именно сделали и зачем.

Виталий Черемисинов:

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

Александра Клименко:

Люди потихонечку привыкали.

Виталий Черемисинов:

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

Александра Клименко:

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

Виталий Черемисинов:

Нет, есть, там всё считалось.

Александра Клименко:

То есть всё равно ужаснулись.

Виталий Черемисинов:

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

Александра Клименко:

Да, и испугались, понятно. Слушай, ещё вот такой интересный момент. Говорят, ходят такие слухи, что вы запускаете массу тестов и умудряетесь их поддерживать параллельно, и ваши цифры по рынку, они реально в десяток раз больше, чем у других. Что вы можете параллельно говорить о 40-60 экспериментах, а другие о 4-5. Эти слухи правдивы?

Виталий Черемисинов:

Это приятный, конечно, нюанс.

Александра Клименко:

Ты не знал.

Виталий Черемисинов:

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

Александра Клименко:

То есть это именно, что вы изменили, это вы изменили именно логику.

Виталий Черемисинов:

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

Александра Клименко:

Это ваша внутренняя система, или вы просто кокой-то инструмент осваиваете?

Виталий Черемисинов:

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

Александра Клименко:

У нас так быстро время пролетело, совсем немного его осталось. Давай напоследок поговорим про инструменты. У вас внутренняя своя система, а вот такой, например, вопрос. Бытует мнение, что всё-таки ставят свою систему для сбора данных, в том числе, для того, чтобы проводить тесты, это долго, дорого и страшно.

Виталий Черемисинов:

Всё правильно.

Александра Клименко:

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

Виталий Черемисинов:

Во-первых..

Александра Клименко:

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

Виталий Черемисинов:

Тут вопрос культуры, возможностей, инструментария и компетенций внутри компании.

Александра Клименко:

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

Виталий Черемисинов:

Я считаю, что если начинать, нужно начинать с максимально доступных инструментов, которые хорошо задокументированы, у которых есть свой саппорт.

Александра Клименко:

Например.

Виталий Черемисинов:

Например, можно поставить Google Analytics и его же, Google инструмент, Google Optimize. В Analytics ты будешь собирать данные, в Optimize ты будешь запускать эксперименты, захочешь чего-то более серьёзного с точки зрения анализа, через API обратишься к данным через R или Python выгрузишь и математически себе доработаешь. На самом деле, для большинства продуктов на этом можно заканчивать. Безусловно, можно строить свои кластеры, выделять себе отдельные серваки, это всё очень здорово. Но, во-первых, это не каждому продукту нужно и, например, хранить данные в облаке будет подешевле с точки зрения поддержания инфраструктуры и так далее. Поэтому ставят кластеры в основном те, кто сильно переживает за секьюрность своих данных, особенно банки. На самом деле, какому-нибудь среднему продукту достаточно будет какого-нибудь трекера, который собирает данные, просто стриминг всей этой истории, какого-нибудь облака, Amazon или Google и так далее. И в этой парадигме можно прекрасно жить.

Александра Клименко:

Здорово. Мне кажется, это отличное завершение. Спасибо огромное.

Виталий Черемисинов:

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

Александра Клименко:

Спасибо.

Виталий Черемисинов:

Спасибо.

Александра Клименко:

До свидания всем.