HackForData#3: команда, занявшая II место — ITA_jedicats (и ITA kamin vinishko)
Участники команд «ITA_jedicats» и «ITA kamin vinishko» — коллеги, дружно работают в IT-Agency.
И так же дружно хакатонили в их уютном офисе на Садовнической набережной
(ранее хакатоны проходили в офисе IT-Agency: hackfordata#1 и hackfordata#2).

Далее участники рассказывают о новом опыте и подробно описывают созданный проект.
Было очень интересно и сложно.
Например, в 2 часа ночи jedicats были близки к панике: не могли пройти первый и, как казалось, самый простой шаг — расчёт корреляции промежуточной цели. Но в итоге ближе к утру сумели побороть все проблемы.

Обе команды выступили сильно, заняв 2-е и 4-е место по итогу хакатона. Решение ITA_jedicats посоветует, как получить дополнительные продажи. Решение ITA kamin vinishko подскажет, какую сумму вы тратите на рекламу впустую и почему. Далее подробности.

Система ITA jedicats

Участники команды:

  • Илья Ерошкин
  • Эльдар Забитов
  • Джан Амулаков
  • Юлия Скворцова
Целевая аудитория проекта:

  • Интернет-маркетологи
  • Аналитики контекстной рекламы
Описание системы

BI-система решает две основные задачи:
1. Определяет промежуточную цель;
2. На основе промежуточной цели рекомендует корректировки ставок в кампаниях по наборам признаков.

1. Ищем промежуточную цель с Power BI

Аналитик не всегда имеет достаточный объём данных о продажах для корректировки ставок. Например, конверсия в продажи — 1% означает, что только 1% кликов принесли продажи. Но среди остальных «плохих» кликов, есть те, что потенциально могут дать продажи, нужно только найти такие клики.
Наша система делает это. Из списка целей она определяет цель, которая будет коррелировать с продажами и иметь значимую конверсию, например более 10%. Такую цель мы называем «промежуточной», т.к. она занимает промежуточное положение между кликами и продажами. Больше достижений промежуточной цели — больше продаж. Проблема была с расчётом корреляций. В DAX нет такой функции.
Нашли статью, применили, через n часов мучений всё заработало. Если цели начали работать в разные периоды, то система сама отберёт даты, когда цели работали одновременно.
На визуализации легко увидеть, что победила цель № 2.
Справа мы вывели ссылку на сайт, где можно подсчитать доверительный интервал для корреляции. Далее скучные цифры, но именно в них вся соль задачи.

В нашем случае, при 163 измерениях коэффициент корреляции 0,86 имеет доверительный интервал от 0,81 до 0,9. Учитывая, что от 0,7 корреляцию можно считать сильной, подтверждаем, что цель № 2 выиграла и является промежуточной.
Найти промежуточную цель непросто, но без неё возможности оптимизации и масштабирования в рекламе сильно ограничены.

2. Рассчитываем корректировки ставок

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

Решение проблемы — набор признаков по каждой РК.

Пример такого набора: «мужчины в возрасте от 25 до 34 лет с мобильных устройств». Было важно брать только значимые наборы, чья доля в достижениях цели по кампании — от 10%. Если конверсия набора 15%, а конверсия по кампании 10%, то система порекомендует увеличить ставки для признаков на 30%.

На визуализации ниже для выбранной кампании лучший набор даёт конверсию 23%, у кампании в целом — 13%. То есть конверсия набора на 77% лучше, именно такую корректировку система предлагает внести в набор.

Учитывая, что корректировать ставки по устройствам можно только для мобильных, предлагаем варианты действий:
— в наборе устройство ПК/планшет/неопределено → ставки для моб. устройств можно попробовать снизить на 25%, соцдем поднимаем на 50%;
— в наборе мобильное устройство → поднимаем на 25% для мобильных и сегмент по соцдему на 50%.

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

Корректировка ставок по времени и дню недели

Система также показывает для каждой кампании коэффициент конверсии по часам и дням недели. Нужно донастроить вывод рекомендаций по корректировке ставок, но принцип должен быть понятен и по текущей визуализации. Когда-то мы собирали подобные отчёты руками в Excel отдельно по каждой кампании.
Разработанная командой BI-система повторяема и воспроизводима без ручных изменений на любых проектах с установленной Яндекс.Метрикой.
Полный список всех метрик вы найдёте на странице команды на marketing-wiki.

Система команды ITA kamin vinishko

Про винишко ничего не слышали, но вот камин — точно полноценный участник команды.
Участники:

  • Всеволод Устинов
  • Никита Шеин
  • Егор Холов
Ситуация

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

Проблема

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

Предельная стоимость = Средний чек – Переменные расходы

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

Решение

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

Например, фраза съела 15 000 рублей и принесла 25 целевых визитов по 600 рублей. Но наша предельная стоимость — 400 рублей за целевой визит. То есть за 25 этих визитов мы готовы заплатить 25 * 400 = 10 000 рублей. А заплатили 15 000. Итого 15 000 – 10 000 = 5 000 рублей — перерасход по этой фразе.

И сразу ещё один нюанс: Если по фразе мало данных, например, всего 20 кликов и 0 целевых визитов при расходе 800 ₽, мы должны учесть, что рано записывать эти клики в убытки. Мы могли просто не успеть получить целевые визиты из-за погрешности. Поэтому мы для каждой фразы рассчитываем её погрешность по формуле:

Погрешность конверсии фразы = √( (p*(1-p))/n ),
где p — конверсия кампании,
а n — количество кликов.

Например, так:
Погрешность = √( (9%*(1-9%))/20 ) = 6,36%.

Собственная конверсия фразы 0%, но с учётом погрешности она может быть до 6,36%. То есть эти 20 кликов могли бы дать 1,3 целевых визита с такой конверсией. За которые мы готовы заплатить до 1,3 * 400 = 520 ₽. Это максимум, что мы могли бы получить с этой фразы даже с учётом погрешности. А это значит, что 800 ₽ – 520 ₽ = 280 ₽ — это точно перерасход.

Как это выглядит

Посчитать перерасход автоматически можно с помощью Power BI с подключением в Яндекс.Метрике и Яндекс.Директу. Вот как это выглядит:
Здесь видно, что установлена предельная цена за целевой визит — 400 рублей. В целом по всему аккаунту перерасход ~9%. В отдельных кампаниях — больше. Можно проанализировать по фразам по всему аккаунту или отдельным кампаниям:
После такого анализа можно вручную скорректировать ставки или отключить отдельные фразы, а лучше пересмотреть всю систему управления ставками, чтобы она не допускала таких ситуаций.
Полное описание системы, включая пример расчёта перерасхода с учётом погрешностей в виде таблицы и инструкцию по настройке системы, вы сможете найти на marketing-wiki.ru.