Как Райффайзенбанк боролся с обманщиками в СPA-сетях

158
3702
Материалы для скачивания
978.32 Kb

Мы сотрудничаем с Райффайзенбанком чуть больше 4 месяцев, но уже успели решить очень интересную задачу. Хотим поделиться кейсом, который может быть полезным не только банкам, но и всем, кто пользуется услугами CPA-сетей.

О компании

Райффайзенбанк — российский коммерческий банк для частных и корпоративных клиентов. Дочернее предприятие австрийской банковской группы Raiffeisen Bank International. Банк начал работать в России с 1996 года и на сегодняшний день насчитывает более 180 отделений и 7 900 сотрудников.

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

Проблема

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

Решение

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

Команда OWOX BI помогла Райффайзенбанку собрать и обработать необходимые данные. Схема движения данных выглядит так:

Шаг 1. Собрали сырые данные

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

Райффайзенбанк настроил импорт данных с сайта в Google BigQuery через OWOX BI Pipeline. Такое решение позволяет передавать несемплированные данные в режиме, близком к реальному времени, и получать timestamp каждого хита. Благодаря этому можно в одном отчете отследить любую последовательность пользовательских действий, даже из разных сессий.

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

                        
SELECT
  cp.promo.date AS Date,
  cp.promo.clientId AS ClientId,
  cp.promo.time AS Promo_time,
  cp.cpc.time AS CPC_time,
  send.time AS SEND_time
FROM (
  SELECT
    promo.date,
    promo.clientId,
    promo.time,
    cpc.time
  FROM (
    SELECT
      date,
      clientId,
      MIN(time) AS time
    FROM
      TABLE_DATE_RANGE({dataSetName}.{tableName},TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
    WHERE
      page.pagePath CONTAINS '/promo/'
      AND type = 'pageview'
      AND traffic.medium != 'cpc'
    GROUP BY
      date,
      clientId,
    ORDER BY
      clientId ASC) AS promo
  LEFT JOIN (
    SELECT
      date,
      clientId,
      traffic.medium,
      time
    FROM
      TABLE_DATE_RANGE({dataSetName}.{tableName},TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
    WHERE
      traffic.medium = 'cpc'
      AND type = 'pageview'
    GROUP BY
      date,
      clientId,
      traffic.medium,
      time
    ORDER BY
      clientId ASC) AS cpc
  ON
    promo.clientId=cpc.clientId
  WHERE
    promo.time < cpc.time) AS cp
LEFT JOIN (
  SELECT
    date,
    clientId,
    time
  FROM
    TABLE_DATE_RANGE({dataSetName}.{tableName},TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
  WHERE
    eventInfo.eventCategory = 'send_ok'
    AND type = 'event'
  GROUP BY
    date,
    clientId,
    time
  ORDER BY
    clientId ASC) AS send
ON
  cp.promo.clientId = send.clientId
WHERE
  cp.cpc.time < send.time
                        
                    

В итоге вы получите вот такую таблицу со всеми необходимыми данными.

таблица с данными в Google BigQuery

Шаг 2. Обработали данные

Аналитики OWOX совместно с коллегами из Райффайзенбанка определили, что для проверки гипотезы о подмене источников трафика понадобятся следующие данные:

  • ID пользователя.
  • Источник и канал первой и следующей сессии.
  • Время между сессиями.
  • Стартовый и конечный URL каждой сессии.
  • События в сессии.
  • Наличие транзакции в последней сессии.

Также к данным применили условия, по которым можно сделать вывод, что источники трафика подменялись:

  • Промежуток между двумя сессиями — до 60 секунд.
  • При смене источника не меняется страница.
  • В последней сессии совершена транзакция.
  • Последний канал — affiliate.

Эту информацию получили с помощью SQL-запроса к данным в Google BigQuery:

                        
SELECT
  *
FROM (
  SELECT
    traff.clientId clientId,
    traff.page.pagePath pagePath,
    traff.traffic.source startSource,
    traff.traffic.medium startMedium,
    traff.time startTime,
    aff.evCategory eventCategory,
    aff.evlabel eventLabel,
    aff.evSource finishSource,
    aff.evMedium fifnishMedium,
    aff.time finishTime,
    aff.isTransaction isTransaction,
    aff.pagePath link,
    traff.time - aff.time AS diff
  FROM (
    SELECT
      clientId,
      page.pagePath,
      traffic.source,
      traffic.medium,
      date,
      INTEGER(time) time
    FROM
      TABLE_DATE_RANGE({dataSetName}.{tableName},TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
    WHERE
      traffic.medium != 'affiliate')AS traff
  JOIN (
    SELECT
      total.date date,
      total.time time,
      total.clientId clientId,
      total.eventInfo.eventCategory evCategory,
      total.eventInfo.eventLabel evlabel,
      total.traffic.source evSource,
      total.traffic.medium evMedium,
      tr.eventInfo.eventCategory isTransaction,
      total.page.pagePath pagePath
    FROM (
      SELECT
        clientId,
        page.pagePath,
        eventInfo.eventCategory,
        eventInfo.eventLabel,
        traffic.source,
        traffic.medium,
        date,
        INTEGER(time) time
      FROM
        TABLE_DATE_RANGE({dataSetName}.{tableName},TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
      WHERE
        traffic.medium = 'affiliate') AS total
    LEFT JOIN (
      SELECT
        clientId,
        date,
        eventInfo.eventCategory,
        INTEGER(time) time
      FROM
        TABLE_DATE_RANGE({dataSetName}.{tableName},TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
      WHERE
        eventInfo.eventCategory = 'send_ok'
      GROUP BY
        1,
        2,
        3,
        4) AS tr
    ON
      total.clientId = tr.clientId
      AND total.date = tr.date
    WHERE
      tr.eventInfo.eventCategory = 'send_ok'
      AND tr.time>total.time)AS aff
  ON
    traff.clientId = aff.clientId)
WHERE
  diff >-60
  AND diff<0
GROUP BY
 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
ORDER BY
  clientId,
  finishTime

                        
                    

Шаг 3. Построили отчеты

Для дальнейшего анализа наши аналитики импортировали выбранные данные из Google BigQuery в Google Sheets с помощью аддона OWOX BI BigQuery Reports. В итоге Райффайзенбанк получил таблицу с информацией по каждому клиенту, у которого изменялся источник трафика, а промежуток между сессиями составлял не больше 60 секунд.

данные, импортированные в Google Sheets

После данные объединили в сводном отчете, с помощью которого руководитель интернет-продаж банка может узнать, какие аффилиаты работают недобросовестно. Цифры на скриншоте ненастоящие и приведены для примера:

пример отчета по вебмастерам из CPA-сети в разрезе каналов трафика

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

Результаты

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

‘‘

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

Дмитрий Березин,
руководителя направления
интернет-продаж Райффайзенбанка
Дмитрий Березин

Читайте также нашу статью о примерах нечестной работы веб-мастеров и способах выявления таких кейсов.

Вас также могут заинтересовать