Иконка стрелки назад Назад

Как рассчитать прокси-конверсию: пороги, score и модели

Как рассчитать прокси-конверсию: пороги, score и модели

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

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

Способ, которым мы будем искать итоговую оценку, зависит от объёма данных, зрелости аналитики и того, насколько сложную модель бизнес готов поддерживать.

С чего начинается расчёт прокси-конверсии

До любых формул нужно понять:

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

Например, целевой результат может быть таким:

  • покупка
  • заявка
  • квалифицированный лид
  • переход в следующую стадию воронки

А ранние сигналы могут быть такими:

  • возврат на сайт
  • просмотр страницы тарифа
  • длительная сессия
  • открытие формы
  • переход в раздел интеграций
  • скачивание презентации

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

Что такое ProxyScore простыми словами

Чтобы не путаться в терминах, разделим процесс на две части.

Первая часть – это итоговая оценка пользователя. Её называют ProxyScore.

ProxyScore – это число, которое показывает, насколько пользователь похож на будущего покупателя.

Например:

  • 0,20 – слабый сигнал
  • 0,58 – средний
  • 0,81 – сильный

Вторая часть – это порог. Он нужен, чтобы решить, считать такого пользователя proxy conversion или нет.

Например, если порог равен 0,60, то:

  • пользователь со score 0,72 попадёт в proxy conversions
  • пользователь со score 0,41 – нет

Порядок действий:

сначала считаем score
потом решаем, с какого значения считать его достаточно сильным

Формально это можно записать так:

Proxy conversion = 1, если ProxyScore >= T
Proxy conversion = 0, если ProxyScore < T

Где T – выбранный порог.

Общая логика формулы

В самом общем виде расчёт выглядит так:

ProxyScore = f(X1, X2, X3 ... Xn)

Здесь:

  • X1 ... Xn – признаки поведения пользователя
  • f – способ, которым эти признаки объединяются в одно итоговое число

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

Базовый уровень: пороговые правила и простые веса

Веса признаков задают по историческим данным, а порог подбирают уже после расчёта итогового score. Для этого на прошлых данных считают score для каждого пользователя и проверяют несколько вариантов границы: например, 0,4, 0,6 и 0,8, если шкала приведена к диапазону от 0 до 1. Затем выбирают тот порог, который лучше отделяет будущих покупателей от остальной аудитории.

Например, можно взять три признака:

  • пользователь вернулся на сайт
  • открыл страницу тарифа
  • провёл на сайте больше 7 минут

Каждому признаку присвоить вес:

  • возврат на сайт – 0,20
  • просмотр тарифа – 0,25
  • длинная сессия – 0,15

Потом эти значения подставляются в формулу:

ProxyScore = w1*X1 + w2*X2 + w3*X3

Где:

  • X – сам признак
  • w – его вес
  • если условие выполнено, признак равен 1
  • если не выполнено, равен 0

Пример расчёта

Пользователь:

  • вернулся на сайт – да
  • открыл страницу тарифа – да
  • провёл на сайте больше 7 минут – нет

Тогда:

ProxyScore = 0,20*1 + 0,25*1 + 0,15*0 = 0,45

Если вы задали порог 0,60, такой пользователь ещё не попадёт в proxy conversions.
Если порог 0,40, уже попадёт.

Как находят пороговые значения

Для этого мы обращаемся к историческим данным.

Например, по данным видно:

  • у случайной аудитории средняя длительность сессии – 2 минуты
  • у будущих покупателей – 9 минут

Но это ещё не значит, что порог нужно ставить ровно на 9 минутах. Смотрят не на среднее, а на то, после какого значения вероятность покупки заметно растёт.

Например:

  • до 3 минут покупают редко
  • после 5 минут вероятность уже выше
  • после 7 минут рост становится заметным
  • после 12 минут картина почти не меняется

Порогом будут именно 7 минут.

То же самое можно делать для:

  • количества просмотренных страниц
  • числа возвратов
  • глубины просмотра
  • времени до открытия формы
  • количества просмотренных продуктовых разделов

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

Средний уровень: логистическая регрессия

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

Она работает следующим образом:

  • берёт признаки пользователя
  • оценивает вклад каждого признака
  • конвертирует их в вероятность будущей конверсии

Сначала модель считает промежуточную сумму:

z = b0 + b1*X1 + b2*X2 + ... + bn*Xn

Потом переводит её в вероятность от 0 до 1:

ProxyScore = 1 / (1 + e^-z)

То есть:

  • у каждого признака есть свой вклад
  • модель сама учится на исторических данных, какой вклад сильнее
  • на выходе получается вероятность будущей покупки или заявки

Пример расчёта

Допустим, у нас три признака:

  • X1 – возврат на сайт
  • X2 – просмотр страницы тарифа
  • X3 – длинная сессия

Модель обучилась так:

z = -1,4 + 0,9*X1 + 1,1*X2 + 0,6*X3

Если пользователь:

  • вернулся на сайт
  • посмотрел тариф
  • провёл на сайте больше 7 минут

то:

z = -1,4 + 0,9 + 1,1 + 0,6 = 1,2

После перевода в вероятность получаем:

CyberBrain

Запись на демо продукта

CEO CyberBrain расскажет о платформе и предложит лучшее решение ваших задач

Записаться на демо

ProxyScore ≈ 0,77

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

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

Продвинутый уровень: дерево решений

Дерево решений необходимо там, где связь между признаками не сводится к одной линейной формуле. Его можно прочитать как набор правил вида если ... то .... – аналитик видит, по каким именно развилкам модель пришла к score.

Дерево решений работает как цепочка вопросов:

  • вернулся ли пользователь на сайт
  • открыл ли страницу тарифа
  • пробыл ли на сайте больше 7 минут
  • дошёл ли до формы

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

Пример:

  • не вернулся на сайт – вероятность покупки низкая
  • вернулся, но не открыл тариф – средняя
  • вернулся и открыл тариф – выше
  • вернулся, открыл тариф и дошёл до формы – ещё выше

В конце такой цепочки пользователь попадает в одну из групп. Для каждой группы по истории уже известна доля будущих покупок – она выступает в качестве score.

Например, если для ветки
вернулся = да
открыл тариф = да
форма = нет
историческая доля покупки была 34%, то:

ProxyScore = 0,34

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

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

Random forest: много деревьев вместо одного

Чтобы компенсировать нестабильность предыдущего метода, вместо одного дерева строят сразу много деревьев. Так работает random forest.

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

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

Упрощённо это выглядит так:

ProxyScore = (p1 + p2 + ... + pM) / M

Где:

  • p1 ... pM – оценки от отдельных деревьев
  • M – количество деревьев

Пример:

  • первое дерево дало 0,62
  • второе – 0,71
  • третье – 0,66

Тогда итог:

ProxyScore = (0,62 + 0,71 + 0,66) / 3 = 0,66

Плюс random forest в том, что он устойчивее одного дерева и лучше работает на сложных сочетаниях сигналов. Минус – модель становится менее прозрачной, и бизнесу труднее объяснить, почему score именно такой.

Gradient boosting: модель, которая исправляет свои ошибки

Gradient boosting похож на работу команды аналитиков, где каждый следующий участник разбирает ошибки предыдущего.

  • первая модель делает грубый прогноз
  • следующая смотрит, где ошиблась предыдущая
  • потом ещё одна подправляет упущенные ошибки
  • в итоге получается более точная итоговая оценка

Формула:

F(x) = F0 + η*(f1(x) + f2(x) + ... + fM(x))

Особенности:

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

Почему это полезно для прокси-конверсий:

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

Плюс gradient boosting в том, что он даёт более точный прогноз. Но здесь особенно важна проверка на свежих данных. Модель последовательно достраивает всё более тонкие правила и хорошо подхватывает сложные зависимости, но вместе с ними может подхватить случайные особенности прошлой выборки.

Как выбрать порог для ProxyScore

После расчёта score остаётся вопрос: где провести границу и что считать полезным сигналом.

Допустим, у вас 1000 пользователей. Из них 100 совершили покупку.

Проверяем три варианта.

Порог 0,40
Модель выделила 220 пользователей.
Из них 70 потом купили.

Это значит:

  • модель поймала многих будущих покупателей
  • но вместе с ними затащила много лишних пользователей

Порог 0,60
Модель выделила 120 пользователей.
Из них 55 потом купили.

Это значит:

  • сигнал стал чище
  • но часть будущих покупателей уже отсеялась

Порог 0,80
Модель выделила 50 пользователей.
Из них 30 потом купили.

Это значит:

  • сигнал очень строгий
  • но модель пропускает слишком много полезной аудитории

Если важнее не пропустить потенциально хороший трафик, порог обычно ставят ниже.

Если важнее, чтобы сигнал был чище и строже, порог поднимают.

Как понять, что модель вообще работает

Здесь многие ошибаются: получили формулу, рассчитали score и сразу начинают принимать решения.

Минимальная логика проверки такая:

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

Какой метод выбрать на практике

Если целевых конверсий пока мало – десятки, а не сотни – лучше начать с простого:

  • пороговые правила
  • частотный анализ
  • ручные веса
  • поиск рабочих порогов по отдельным признакам

Если у вас уже есть хотя бы несколько сотен наблюдений и достаточно целевых событий для проверки, можно пробовать более сложные подходы:

  • логистическая регрессия
  • простая скоринговая модель

Если данных заметно больше – обычно это тысячи наблюдений, история по нескольким периодам и достаточно накопленных целевых событий – можно тестировать:

  • деревья решений
  • random forest
  • gradient boosting

Здесь нет универсального победителя, всё зависит от конкретного бизнеса.

Частые ошибки при расчёте прокси-конверсии

Считать отдельное действие готовой прокси-конверсией

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

Ставить порог без проверки на данных

Числа вроде 0,6 или 0,7 не универсальны, их нельзя брать с потолка – ориентируйтесь на собственные исторические данные и расчёты.

Смешивать разные типы кампаний

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

Не пересматривать модель со временем

Поведение пользователей меняется. Если модель не обновлять месяцами, она начнёт отставать от реальности.

Оптимизировать score и забывать про продажи

Прокси нужна для ранней оценки. Финальная проверка всё равно должна идти по реальным бизнес-результатам.

Что стоит запомнить

Прокси-конверсия всегда строится в два шага.

Сначала вы переводите ранние сигналы поведения в ProxyScore.

Это можно делать:

  • по простому правилу
  • через логистическую регрессию
  • через дерево решений
  • через random forest
  • через gradient boosting

Потом выбираете порог и решаете, с какого значения считать пользователя proxy conversion.

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

CyberBrain

Запись на демо продукта

CEO CyberBrain расскажет о платформе и предложит лучшее решение ваших задач

Записаться на демо
Подождите,
отправляем заявку...
Успешно Заявка успешно отправлена.
Мы свяжемся с вами
Ошибка Ошибка отправки.
Попробуйте ещё раз