В прошлом году в одном из внутренних чатов компании команда исследователей делилась интересными наблюдениями об уровне автоматизации на китайском рынке образования: от голограмм преподавателей на лекциях до «автопилотов», когда индивидуальный и интерактивный урок по видео ведет программно сгенерированный образ преподавателя.
Нам до Китая далеко, но кто сказал, что не стоит пробовать. Моя команда решила заменить бесплатный вводный урок по английскому на автоматическую версию. Мы очень боялись лишать посетителей сайта человеческого тепла, но придумали безопасный способ тестирования, обнаружили неожиданный эффект и нашли дополнительную прибыль.
Наш отдел отвечает за те самые бесплатные вводные уроки от Skyeng, на которые всех зовут популярные ютуб-блогеры и не только. Как все проходит на таком уроке? В назначенное время через нашу видеоплатформу с вами созванивается специально обученный преподаватель, который оценивает уровень языка и предлагает программу и соответствующий пакет занятий.
Как продуктовая команда, мы отвечаем за оптимизацию метрики Customer Sales Costs (CSC) — затраты на продажу пакета услуг одному клиенту. Наша цель — продавать занятия в Skyeng как можно большему количеству людей и тратить на это как можно меньше денег. Автоматизация — одна из наших ключевых стратегий: автоматизируем звонки, триггерные коммуникации, запись на урок.
Время от времени происходят всплески количества заявок на вводные уроки, которые нельзя спрогнозировать и удовлетворить в полном объёме.
Известно, что не каждая заявка конвертируется в оплату. В 2019-м у школы появился скоринг — алгоритм, который на основе поведения пользователя на сайте и исторических данных по пользователям с похожим поведением прогнозирует вероятность совершения покупки. Если прогноз «зеленый» — скоринг отправляет на вводный урок, если «красный» — не отправляет.
Но мы же обещаем всем бесплатный урок, и пользователям с «красной» меткой скоринга тоже. Для них мы придумали недорогой способ сдержать обещание — автоматический вводный урок: без преподавателя, без звонков менеджеров, без допродажи после урока.
Автоурок запускался как сайд-проект, тратить много времени и денег на него на планировалось. Поэтому о генерации образов и прочем, как в Китае, речи не шло)
Продукт для холодного трафика выглядел как набор из нескольких слайдов:
Отслеживая, что происходит с пользователями, которые проходили автоматический вводный урок, мы увидели оплаты. В команде появился локальный мем: «автоурок настолько хорош, что продает даже тем, кто никогда не должен был купить».
С тех пор не отпускала мысль: «А что если так можно было и с горячими пользователями?»
Продукт, который не должен был генерить деньги, генерит их. Будем тестировать дальше?
Очень хотелось протестировать автоурок в полноценном АВ-тесте на теплом трафике.
Но каждый эксперимент — это риск упущенной выгоды за время проведения. В нашем случае — радикальный. Какую конверсию можно ожидать в худшем случае, заменив проверенный путь с участием менеджеров и отрабатывающих возражения преподавателей на несколько слайдов и видео с блогером? Кроме того, вводный урок встречает пользователя в самый ответственный момент, когда он формирует первое впечатление о школе и продукте.
Мы посчитали риск в деньгах и нам не понравилось.
Придумали заложить в дизайн подстраховку — отправлять тестовую группу на автоматический урок, но если оплаты не произошло, подхватывать пользователя — звонить и предлагать пройти обычный урок с преподавателем.
Таким образом сохранялась возможность замерить конверсию в первую оплату на автоматическом уроке на малых окнах (до подхвата) и сравнить её с контролем на идентичном малом окне. И в то же время исчезал основной риск нулевой конверсии из-за радикальной замены преподавателя на несколько слайдов с видео. Такой дизайн эксперимента казался приемлемым.
Мы удлиняли и усложняли пользовательский путь до оплаты, добавляя в него автоурок перед обычным. Экспертно казалось, что это может занизить конверсию по сравнению с контрольной группой. Но основной риск мы убрали, и запустили тест.
Эксперимент был рассчитан на 3 недели набора новых пользователей и плюс 14 дней для закрытия конверсионных окон для подведения окончательных итогов.
Мы мониторим запущенные эксперименты по дашбордам, не просела ли ключевая метрика — конверсия в первую оплату.
Первая мысль, когда продакт написал про текущие метрики: «Всё упало, тест придётся останавливать». Но беспокойство вызвало не падение, а наоборот, стабильный рост ключевой метрики в тестовой группе по сравнению с контрольной. Мы не предполагали возможность роста конверсии из заявки в оплату, и это действительно выглядело странно.
Что делает аналитик в таких случаях? Перепроверяет дашборд, датасорс на котором он построен, честность сплитования и всё-всё, что можно проверить. Проверили. Всё корректно. Так как это были предварительные результаты и только середина теста — мы не стали сильно радоваться, списали на случайность и стали мониторить дальше.
Эксперимент завершился. Окончательные итоги — тестовая группа выигрывает у контрольной по ключевой метрике отдела конверсия заявка в оплату на 2,13 процентных пункта.
На графике гистограмма бутстрепа и накопительный p-value, тоже бустрапированный.
Результат не случаен, мы перепроверяли.
Что такое 2 процента в рамках крупнейшей онлайн-школы Европы? Мы прикинули на цифрах 2019-го года — зная скорость роста школы, Profit per user, доверительные интервалы — получились десятки миллионов дополнительной прибыли в год.
Последний вопрос, ответ на который нам необходимо было получить: за счет какого подэтапа воронки выросла ключевая метрика?
Конверсия заявка-оплата состоит из двух этапов: заявка-урок и урок-оплата. Рост сквозной конверсии за счет этапа заявка-урок означает, что мы увеличили затраты на преподавателей. В таком случае для принятия решения о раскатке эксперимента мы должны сравнить не только конверсии в группах, но и CSC. Но в нашем случае рост сквозной конверсии происходил за счет этапа урок-оплата. Это говорило о том, что мы выводили такое же количество учеников на урок, сохраняли те же расходы на преподавателей, но попав на обычный урок после автоурока, пользователи покупали чаще.
А вот конверсиях на малых окнах (покупка на автоматическом уроке) показала себя не так хорошо.
Автоматический вводный урок оказался не настолько хорош, чтобы полностью снять потребность в преподавателях на этапе продажи. Но оказался прекрасным инструментом для прогрева пользователей перед покупкой. Мы встроили его в онбординг и проверили уже в рамках другого эксперимента — самостоятельного бронирования времени вводного урока без звонка от оператора. Эксперимент оказался успешным и был раскатан на весь трафик.
Вот так выглядит все выглядит сейчас.
Если в бэклоге вашей команды есть что-то, что кажется «не очень», но есть ощущение, «а вдруг оно сработает», проверьте. Возможно, это та самая вещь, которая будет приносить пользу, деньги и сломает парочку ваших стереотипов. Рискните!
Нам до Китая далеко, но кто сказал, что не стоит пробовать. Моя команда решила заменить бесплатный вводный урок по английскому на автоматическую версию. Мы очень боялись лишать посетителей сайта человеческого тепла, но придумали безопасный способ тестирования, обнаружили неожиданный эффект и нашли дополнительную прибыль.
Наш отдел отвечает за те самые бесплатные вводные уроки от Skyeng, на которые всех зовут популярные ютуб-блогеры и не только. Как все проходит на таком уроке? В назначенное время через нашу видеоплатформу с вами созванивается специально обученный преподаватель, который оценивает уровень языка и предлагает программу и соответствующий пакет занятий.
Как продуктовая команда, мы отвечаем за оптимизацию метрики Customer Sales Costs (CSC) — затраты на продажу пакета услуг одному клиенту. Наша цель — продавать занятия в Skyeng как можно большему количеству людей и тратить на это как можно меньше денег. Автоматизация — одна из наших ключевых стратегий: автоматизируем звонки, триггерные коммуникации, запись на урок.
В пиковые моменты нам стало не хватать ресурса преподавателей для вводных уроков
Время от времени происходят всплески количества заявок на вводные уроки, которые нельзя спрогнозировать и удовлетворить в полном объёме.
Известно, что не каждая заявка конвертируется в оплату. В 2019-м у школы появился скоринг — алгоритм, который на основе поведения пользователя на сайте и исторических данных по пользователям с похожим поведением прогнозирует вероятность совершения покупки. Если прогноз «зеленый» — скоринг отправляет на вводный урок, если «красный» — не отправляет.
Но мы же обещаем всем бесплатный урок, и пользователям с «красной» меткой скоринга тоже. Для них мы придумали недорогой способ сдержать обещание — автоматический вводный урок: без преподавателя, без звонков менеджеров, без допродажи после урока.
Автоурок запускался как сайд-проект, тратить много времени и денег на него на планировалось. Поэтому о генерации образов и прочем, как в Китае, речи не шло)
Продукт для холодного трафика выглядел как набор из нескольких слайдов:
- анкета на выявление интересов, целей и опыта ученика,
- экспресс-тест на уровень знания английского языка,
- знакомство с Vimbox — платформой, на которой проходят занятия,
- видео с блогером Таней Стариковой с ютуб-канала Skyeng, которая уточняла: «Сегодня здесь я, а завтра будет ваш настоящий преподаватель»,
- набора рекомендуемых курсов и витрины оплаты (на всякий случай).
Отслеживая, что происходит с пользователями, которые проходили автоматический вводный урок, мы увидели оплаты. В команде появился локальный мем: «автоурок настолько хорош, что продает даже тем, кто никогда не должен был купить».
С тех пор не отпускала мысль: «А что если так можно было и с горячими пользователями?»
Продукт, который не должен был генерить деньги, генерит их. Будем тестировать дальше?
Очень хотелось протестировать автоурок в полноценном АВ-тесте на теплом трафике.
Но каждый эксперимент — это риск упущенной выгоды за время проведения. В нашем случае — радикальный. Какую конверсию можно ожидать в худшем случае, заменив проверенный путь с участием менеджеров и отрабатывающих возражения преподавателей на несколько слайдов и видео с блогером? Кроме того, вводный урок встречает пользователя в самый ответственный момент, когда он формирует первое впечатление о школе и продукте.
Мы посчитали риск в деньгах и нам не понравилось.
Как мы оценивали риски: выдержка из чек-листа команды
Худшая конверсия в тестовой группе = 0
Оставшиеся новые пользователи при худшем сценарии = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * (1 — [ Трафик в тестовой группе, доля ]) * [ Базовая конверсия, доля ]
Краткосрочные потери в новых пользователях = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] — [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * (1 — [ Трафик в тестовой группе, доля ] )* [ Базовая конверсия, доля ] = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] * [ Трафик в тестовой группе, доля ]
Долгосрочные потери в прибыли = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] * [ Трафик в тестовой группе, доля ] * [ LTV per user, $ ]
Долгосрочные потери в выручке = [ Длительность эксперимента, недели ] *[ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] * [ Трафик в тестовой группе, доля ] * [ Profit per user, $ ]
Помимо этого задаем себе вопросы:
Оставшиеся новые пользователи при худшем сценарии = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * (1 — [ Трафик в тестовой группе, доля ]) * [ Базовая конверсия, доля ]
Краткосрочные потери в новых пользователях = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] — [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * (1 — [ Трафик в тестовой группе, доля ] )* [ Базовая конверсия, доля ] = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] * [ Трафик в тестовой группе, доля ]
Долгосрочные потери в прибыли = [ Длительность эксперимента, недели ] * [ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] * [ Трафик в тестовой группе, доля ] * [ LTV per user, $ ]
Долгосрочные потери в выручке = [ Длительность эксперимента, недели ] *[ Входящий трафик, заявок/неделю ] * [ Базовая конверсия, доля ] * [ Трафик в тестовой группе, доля ] * [ Profit per user, $ ]
Помимо этого задаем себе вопросы:
- Повлияет ли новый опыт на принятие решения по целевому действию?
- Какую ценность из пользовательского опыта мы заберем и какой ценностью компенсируем?
- Соответствует ли тестируемый вариант нашему качеству оказания услуг?
- Как наш кусочек продукта соотноситься с ожиданиями пользователя, которые сформировались на других этапах?
- А сколько мы можем заработать, если всё получится?
Придумали заложить в дизайн подстраховку — отправлять тестовую группу на автоматический урок, но если оплаты не произошло, подхватывать пользователя — звонить и предлагать пройти обычный урок с преподавателем.
Таким образом сохранялась возможность замерить конверсию в первую оплату на автоматическом уроке на малых окнах (до подхвата) и сравнить её с контролем на идентичном малом окне. И в то же время исчезал основной риск нулевой конверсии из-за радикальной замены преподавателя на несколько слайдов с видео. Такой дизайн эксперимента казался приемлемым.
В этом решении тоже были риски, но уже не такие существенные.
Мы удлиняли и усложняли пользовательский путь до оплаты, добавляя в него автоурок перед обычным. Экспертно казалось, что это может занизить конверсию по сравнению с контрольной группой. Но основной риск мы убрали, и запустили тест.
Идет вторая неделя эксперимента, мне пишет продакт: «Что-то не то с метриками»
Эксперимент был рассчитан на 3 недели набора новых пользователей и плюс 14 дней для закрытия конверсионных окон для подведения окончательных итогов.
Мы мониторим запущенные эксперименты по дашбордам, не просела ли ключевая метрика — конверсия в первую оплату.
Первая мысль, когда продакт написал про текущие метрики: «Всё упало, тест придётся останавливать». Но беспокойство вызвало не падение, а наоборот, стабильный рост ключевой метрики в тестовой группе по сравнению с контрольной. Мы не предполагали возможность роста конверсии из заявки в оплату, и это действительно выглядело странно.
Что делает аналитик в таких случаях? Перепроверяет дашборд, датасорс на котором он построен, честность сплитования и всё-всё, что можно проверить. Проверили. Всё корректно. Так как это были предварительные результаты и только середина теста — мы не стали сильно радоваться, списали на случайность и стали мониторить дальше.
Каждый оставшийся день мы ожидали начала обратной тенденции. Но этого не произошло.
Эксперимент завершился. Окончательные итоги — тестовая группа выигрывает у контрольной по ключевой метрике отдела конверсия заявка в оплату на 2,13 процентных пункта.
На графике гистограмма бутстрепа и накопительный p-value, тоже бустрапированный.
Результат не случаен, мы перепроверяли.
Как мы подводим итоги АВ-тестов и исключаем случайность:
- Рандомизируем деление трафика (если находим нечестность рандомизации — нормализуем вручную)
- Проверяем честность сплитования трафика — смотрим равномерность распределения каналов привлечения и географии критериями Кохрена и хи-квадратом
- Разбиваем воронку на подворонки для локализации эффекта
- Применяем Bootstrap для оценки доверительных интервалов, не верим в нормальное распределение
- Наконец, используем накопительный p-value, чтобы проверить стабильность результатов в динамике.
Что такое 2 процента в рамках крупнейшей онлайн-школы Европы? Мы прикинули на цифрах 2019-го года — зная скорость роста школы, Profit per user, доверительные интервалы — получились десятки миллионов дополнительной прибыли в год.
Последний вопрос, ответ на который нам необходимо было получить: за счет какого подэтапа воронки выросла ключевая метрика?
Конверсия заявка-оплата состоит из двух этапов: заявка-урок и урок-оплата. Рост сквозной конверсии за счет этапа заявка-урок означает, что мы увеличили затраты на преподавателей. В таком случае для принятия решения о раскатке эксперимента мы должны сравнить не только конверсии в группах, но и CSC. Но в нашем случае рост сквозной конверсии происходил за счет этапа урок-оплата. Это говорило о том, что мы выводили такое же количество учеников на урок, сохраняли те же расходы на преподавателей, но попав на обычный урок после автоурока, пользователи покупали чаще.
А вот конверсиях на малых окнах (покупка на автоматическом уроке) показала себя не так хорошо.
И что, в итоге бездушная автоматика победила?
Автоматический вводный урок оказался не настолько хорош, чтобы полностью снять потребность в преподавателях на этапе продажи. Но оказался прекрасным инструментом для прогрева пользователей перед покупкой. Мы встроили его в онбординг и проверили уже в рамках другого эксперимента — самостоятельного бронирования времени вводного урока без звонка от оператора. Эксперимент оказался успешным и был раскатан на весь трафик.
Вот так выглядит все выглядит сейчас.
Я очень рада, что мы решились протестировать гипотезу, которая казалась рисковой.
Если в бэклоге вашей команды есть что-то, что кажется «не очень», но есть ощущение, «а вдруг оно сработает», проверьте. Возможно, это та самая вещь, которая будет приносить пользу, деньги и сломает парочку ваших стереотипов. Рискните!