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

Однажды, когда я заканчивал тест изображения заголовка для одного из наших веб-сайтов с дипломами (я работал в частном университете), я решил провести простой эксперимент: я попросил своих коллег ранжировать варианты изображения заголовка по их производительность - намереваясь сравнить предположения моих товарищей по команде с фактическими результатами. Результат был, мягко говоря, удивительным.

Их догадки были ошибочными. Это не редкость; A / B-тесты предназначены для выявления различий между тем, что хотят клиенты, и тем, что, по мнению маркетологов, хотят клиенты. Но некоторые из моих товарищей по команде были выпускниками этой дипломной программы, что сделало их нашей целевой аудиторией. Их сильное предпочтение статистически худшему изображению заголовка заставило меня задуматься: возможно, в дизайне A / B-тестов есть фундаментальный недостаток.

Позвольте мне проиллюстрировать это: допустим, вы решили провести A / B-тест своего заголовка.

После того, как трафик веб-сайта разделен поровну между вариантом A и вариантом B, вы понимаете, что 70% от общего числа конверсий происходит в варианте A, а 30% - из варианта B.

В соответствии с методологией A / B-тестов - вы сделаете вывод, что вариант A показывает более высокую производительность по сравнению с вариантом B - поэтому его следует сделать заголовком по умолчанию.

В этом и заключается ошибка: нет абсолютно никакой гарантии, что люди, совершившие конверсию по варианту Б, также совершили бы конверсию по варианту А. Возможно, заголовок варианта Б находил отклик у части вашего целевого рынка, представленной этими 30% от общего числа конверсий. Если вы решите использовать вариант A, вы можете в конечном итоге оттолкнуть людей, которые предпочитают вариант B, что снизит ваш общий коэффициент конверсии.

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

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

В итоге у нас были следующие возможности для обучения нашей модели:

часовой пояс - имя браузера - имя ОС - язык браузера по умолчанию - cookie включен - Java включен - ширина экрана - высота экрана - глубина цвета экрана - день недели - час дня - город - минимальная прогнозируемая температура дня - макс. прогноз температуры дня - скорость ветра - направление ветра - видимость - атмосферное давление

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

Опрос показал, что большинство наших студентов относились к двум широким категориям:

  1. Работающие профессионалы, которые хотят продвинуться по карьерной лестнице.
  2. Молодежь, которая хочет наслаждаться свободой учебы из любого места.

Чтобы обратиться к этим двум категориям, мы создали следующие два заголовка веб-сайтов:

  1. BBA для работающих профессионалов
  2. Учитесь на BBA из любого места

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

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

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

Первый проход при обучении модели дал нам точность всего 52% - все еще лучше, чем при подбрасывании монеты, но нам нужно было сделать намного лучше, чтобы модель ML была жизнеспособной. Работа с гиперпараметрами повысила точность до 67% - не оптимально, но мы тренировали модель со 160 точками данных (40 точек данных для тестирования), и мы не могли ожидать, что производительность будет лучше, чем эта. Со временем при постоянном переобучении ожидалось повышение точности.

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

Через месяц после развертывания мы заметили увеличение коэффициента конверсии на 4%. Эта цифра не выглядит впечатляющей, но для компании, которая тратит миллионы долларов на рекламу PPC, это что-то особенное.

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

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

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

«Если вы не вводите новшества, вы умираете».