Фрод в мобильной рекламе: обнаружить без антифрод-систем: разбор кейса с использованием Yandex AppMetrica (анализ неочевидных метрик)
Фрод в мобильной рекламе — это скрытая эпидемия. Последние исследования показывают: до 40% рекламных бюджетов уходит на оплату установок и действий, которые никогда не принесут продукту ценности.
При этом:
- Антифрод-системы не всегда успевают за новыми схемами обмана
- Даже «чистый» CTIT может скрывать массовый фрод
- GAID и IP без повторений еще не показатель хорошего трафика
- Без дорогих решений обнаружить мошенничество кажется невозможным
Но это не так.
В этом кейсе делимся, как:
1. Выявили скрытый фрод в мобильной рекламе без антифрод-систем
2. Использовали только Yandex AppMetrica
3. Обнаружили аномалии там, где все выглядело нормально
Вводные:
- Продукт — мобильное приложение с обязательной регистрацией для доступа к контенту и функциям.
- MMP — Yandex AppMetrica (платформа для аналитики и маркетинга мобильных приложений)
- Подозрительный источник трафика — решение для мобильной рекламы, включая in-app
Ограничения:
- нет интеграции глубоких событий (engagement, monetization и т.д.);
- нет внутренней антифрод-системы;
- CTIT в рамках нормы;
- GAID и IP с небольшим процентом повторений.
Задача:
Оценить качество трафика и доказать/опровергнуть гипотезу о фроде в мобильной рекламе по косвенным показателям.
CTIT: почему «нормальный» показатель может маскировать фрод
Click-to-Install Time (CTIT) — детектор фрода, классическая метрика, которую в первую очередь смотрят при проверке трафика. Слишком короткое время между кликом и установкой часто говорит о мотивированном трафике, слишком длинное — о технических манипуляциях.
В нашем кейсе CTIT подозрительного источника не отличался от других каналов. Это подтверждает, что современные фрод-схемы легко обходят фильтры, завязанные на этой метрике. Поэтому останавливаться на CTIT нельзя — он нужен как первый фильтр, но не как единственный критерий.
Скриншот №1: Распределение CTIT по каналам
CR:Аномальная конверсия в регистрацию
CR (Conversion Rate) — это процент пользователей, которые выполнили целевое действие (конверсию) от общего числа посетителей.
Первое и основное, что привлекло внимание – подозрительно высокое качество трафика. Это выражалось и в конверсии в регистрацию, и в Retention Rate (RR) – проценте пользователей, которые продолжают использовать приложение или сервис через определенное время.
Конверсия в регистрацию с источника была почти в 4 раза выше органики и выше поисковой рекламы — канала, который по определению привлекает наиболее мотивированную аудиторию.
Возник вопрос: за счет чего трафик настолько аномально качественный в перспективе конверсии в регистрацию?
Ситуация усугубилась после анализа по site_id (xx_sub3):
- Основной объем трафика шёл с игровых продуктов.
- На отдельных плейсментах CR в регистрацию достигал 100%.
Скриншот №2: Таблица по site_id с CR: плейсменты с CR > 90% выделены красным.
Равномерность показателей по плейсментам
В реальной среде разница между плейсментами (особенно разного типа) всегда заметна: на одном приложение CTR будет выше, на другом ниже, конверсия в установку колеблется в зависимости от релевантности аудитории.
Мы же наблюдали «сетку» из одинаковых чисел — прямой индикатор автоматической генерации отчетности.
На десятках плейсментов было почти идентичное соотношение показов, кликов и установок:
- На одних: 3400 показов → 130 кликов → 9 установок.
- На других: показатели ровно в 2 или 3 раза больше, но пропорции сохраняются;
- Примеры таких приложений: хардкорный файтинг Shadow Fight 3, гиперказуалка Iron Ball 2, утилита оператора связи Tele2.
Разные аудитории, разный контент, разные форматы рекламы — а качество идентично. В реальной жизни такой результат возможен только при подрисовке статистики.
Скриншот №3: Сводная таблица показов/кликов/установок по плейсментам.
Retention Rate: фантастические показатели
Что касается RR, общие данные также стали полной неожиданностью:
- Подозрительный канал: RR1 = 37,2%, RR7 = 26,8% (падение всего 29%).
- Органика: RR1 = 6,06%, RR7 = 1,84% (падение 70%).
Такого удержания без уникального контента и вовлекающих механик просто не бывает. Более того, анализ «скорости оттока» показал аномалию:
- У реальных пользователей график оттока всегда нисходящий: максимальные потери D1, дальше снижение оттока.
- У подозрительного канала график восходящий: сначала почти никто не отваливается, а потом «отток» растёт.
Это прямо указывает на искусственное управление сессиями, где боты «возвращаются» только до момента, пока KPI не достигнут.
Скриншот №4: Графики RR и оттока: для органики нисходящий, для фрода — восходящий.
Еще одним важным моментом стало то, что сразу после установки и открытия продукта пользователь попадает на экран обязательной регистрации, которое блокирует доступ к контенту и функционалу приложения. Соответственно RR считался не из инсталлов, как это отображено на графике «Retention-анализа», а из регистраций.
Отчетный период на графике выше с 1-го по 29-е июля. Однако результаты подозрительного источника:
D1 > 100% означает, что в первый день вернулось больше пользователей, чем было зарегистрировано. Это статистически невозможно на большом объёме (3640 регистраций).
Показатели привлекли внимание команды продукта, и рекламодатель сам провел внутреннее исследование на предмет того, как показатели подозрительного источника, повлияли на продуктовые метрики. Однако никаких изменений по продуктовым метрикам выявлено не было. Вывод был сделан на основании «обобщенных метрик» и предполагаемой адекватной доли источника. В итоге с подозрением столкнулся не источник, а наша команда: «Заходы в приложение осуществляются исключительно с целью формирования RR согласно KPI для обеспечения видимости качества трафика».
Казнить нельзя помиловать: Решение проблемы
Что точно выявить фрод в мобильной рекламе, нами было принято решение провести сравнение количества пользователей, которые возвращаются в приложение каждый день с количеством событий открытия приложения. Данные доступны через вкладку «когортный анализ» в Yandex Appmetrica.
Для обеспечения чистоты эксперемента из отчета были исключены xx_sub3 плейсменты, не вызывающие подозрения по причине сравнительно низкого качества трафика:
— com.xiaomi.midrop
— com.oppo.market
— com.xiaomi.mipicks
Сопоставление когортного анализа и числа событий open_app показало почти идеальное соотношение:
- С D1 по D7 на одного пользователя приходится ровно 1 сессия в день.
- Незначительные отклонения объясняются тем, что не все «честные» плейсменты были исключены.
Это ключевой маркер автоматизации: боты заходят один раз в день, отрабатывают KPI по удержанию, и всё.
Скриншот №5: Таблица «событий на пользователя» по дням.
При этом были выявлены аномалии и в карточках профилей:
- Множественные open_app в одной сессии без close_app или нормального крэша.
- Нереалистичная длительность сессий — либо 0 секунд, либо одинаковое время изо дня в день.
- Геолокация либо не определяется, либо меняется каждый день (в т.ч. «прыжки» на тысячи километров).
Смена IP, характерная для работы через прокси/мобильные боты.
Скриншот №6: Примеры профилей: бот, органический пользователь, честный рекламный источник.
Ещё один маркер — ровный график времени в приложении.
- У органики и честных источников Time Spent колеблется в зависимости от дня недели, контента, обновлений.
- У подозрительного канала график почти прямая линия с минимальными колебаниями.
Скриншот №8: сравнение Time Spent: органика (волнообразный тренд) и фрод (прямая линия).
Как можно наблюдать, в отличие от прочих, график подозрительного источника фактически представляет прямую линию с минимальными отклонениями. Этот факт еще раз подчеркнул неестественность поведения «пользователей». По результатам всех действий, было принято решение обратиться к представителями Appmetrica напрямую и подтвердить безусловные признаки фрода по всем пунктам. В связи с чем обвинения с нас были сняты, а для вас у команды Adsup.me теперь есть несколько полезных рекомендаций.
Детекция фрода без антифрода:
- Собираем данные по плейсментам (показы, клики, установки, CR, RR, Time Spent, гео, устройства).
- Сравниваем между каналами: ищем показатели, которые «выпадают» из диапазона нормальных значений.
- Проверяем распределения: одинаковые пропорции → искусственное формирование статистики.
- Проводим когортный анализ: выявление стабильных паттернов (одна сессия в день, одинаковая длительность).
- Обязательна продуктовая верификация: проверка влияния канала на ключевые метрики (DAU, активность, просмотры контента).
Вывод
Даже если CTIT в норме, GAID и IP не повторяются, у вас нет антифрод-системы, комплексный анализ косвенных метрик способен выявить фрод.
В этом кейсе именно такой подход позволил обнаружить, что почти весь объём трафика из одного канала был синтетическим:
- CR выше реального потолка,
- одинаковые показатели по разным плейсментам,
- аномальный RR и удержание из регистраций,
- стабильная 1 сессия в день на пользователя,
- ровный график Time Spent,
- поведенческие паттерны ботов в карточках профилей.
Главное — смотреть в совокупности на все сигналы. Одна метрика может обмануть, но целая картина — нет.









