Взлом приложений, таких как Freedom, iAP Cracker, iAPFree и т.д. позволяет пользователям совершать покупки внутри приложений бесплатно. С помощью таких хакеров игрок получает монеты, драгоценности, уровни или жизни, которые он купил, не заплатив никаких денег. Если разработчик игры не внедрил какой-либо процесс валидации покупок в приложении, покупки регистрируются в его системе как реальные покупки. В результате, заявленный доход может сильно отличаться от реального дохода (особенно в популярных играх с большим количеством мошенничества).
Мы хотим, чтобы отчеты были максимально точными, и чтобы разработчики игр имели возможность сообщать о реальном состоянии своей игры. Мы используем методы машинного обучения и статистического моделирования для нашего решения.
С помощью нескольких крупных игр в информационной сети GROW мы смогли построить модель, которая классифицирует каждую покупку как реальную или мошенническую, с очень высоким уровнем точности.
Схемы принятия решений для спасения
Деревья принятия решений, как следует из их названия, являются деревьями, которые помогают принимать решения. Каждый внутренний узел дерева проверяет значение одного признака, и узлы листьев являются целевыми классами. При новом наблюдении дерево может быть использовано для определения класса, который ему следует присвоить.
В нашем случае дерево может иметь два типа узлов (класса) листьев: мошенничество или отсутствие мошенничества. Примерами для внутренних узлов могут быть "Общее количество покупок > 100" или "Валюта соответствует правде". Чтобы избежать переполнения обучающих данных, методы, основанные на деревьях, объединяют несколько деревьев для получения конечного результата, который будет более точным, чем каждый отдельный выпуск дерева.
В частности, классификационные алгоритмы, основанные на деревьях, имеют много преимуществ:
- Нелинейные связи между параметрами не влияют на производительность дерева.
- Схемы принятия решений неявно выполняют скрининг переменных параметров или выбор параметров.
- Схемы принятия решений требуют относительно небольшой подготовки данных и просты для интерпретации и понимания.
Мы экспериментировали с двумя классификаторами на основе деревьев. Случайный лесной классификатор представляет собой совокупность деревьев принятия решений, подготовленных по подмножествам данных, которые выводят класс, то есть режим вывода классов отдельных деревьев. Повышающие деревья сочетают в себе несколько деревьев принятия решений с помощью техники градиентного усиления, подходящей для взвешенного дополнительного расширения простых деревьев.
Другим параметром модели являются веса классов, которые имеют две формы, однородные, в которых все классы получают вес 1, и подкласс, в котором в качестве веса класса используется относительный размер класса от всего населения.
Показатели эффективности классификации мошенничества
Мы оцениваем эффективность нашей модели по четырем показателям:
- Точность: отношение правильных классификаций ко всем данным испытаний.
- False Positive rate (FPR): соотношение действительных покупок, ошибочно классифицированных как мошеннические, и всех действительных покупок.
- False Negative rate (FNR): отношение количества мошеннических покупок, ошибочно классифицированных как недобросовестные, к общему количеству мошеннических покупок.
- Оценка F1: гармоническое среднее арифметическое точности и запоминания, мера, которая берется из мира поиска информации и передает баланс между двумя другими показателями.
Классификация действительных покупок и пользователей как мошеннических является гораздо худшей ошибкой, чем отсутствие мошеннических покупок, поэтому мы стремимся свести FPR к минимуму, даже за счет несколько более высокой FNR.
Наши базовые данные включают в себя данные о покупках в 4 играх. Для самых крупных из них у нас есть этикетки для 145 тыс. покупок. Для обоих алгоритмов параметры настраивались с помощью перекрестной валидации.
Для первого эксперимента мы построили для каждой игры свою модель. Эти результаты очень впечатляют! Каждая игровая модель работает очень хорошо, набрав 97% очков Формулы-1.
Во второй игре меньше достоверных данных (в среднем в 100 раз меньше покупок в месяц, и мы получили от них месячные данные о покупках), что объясняет снижение производительности.
Усиленные деревья превосходят случайный алгоритм, что неудивительно, так как это оптимизация, которая обычно дает вам большую точность при меньшем количестве деревьев.
Использование весов, настроенных на размер класса, обычно приводит к снижению FPR и повышению FNR, с немного более низким баллом F1. Как уже говорилось, нас больше волнует частота ложноположительных срабатываний, поэтому для последующих экспериментов мы используем алгоритм форсированных деревьев с неравномерным весом.
Межигровая классификация
Мы видели, что можем получить очень хорошие результаты, когда строим модель для конкретной игры. Но у нас есть достоверные наземные данные только по четырем играм. А как же остальные игры?
Для проверки этого был проведен второй эксперимент с составом поездов, который содержит данные из одной игры и тестовый набор из другой игры.
Все оценки 79% точны или выше! Это отличная новость для всех остальных игр. Как и ожидалось, наивысшие результаты достигаются, когда поезд и тестовый набор берутся из одних и тех же игровых данных (70%-30% случайного распределения). Самые низкие баллы получают при тестировании на 4-й игре, которая является самой маленькой из них (200 покупок).
Еще один интересный результат - результаты FPR в этом эксперименте.
Также следует отметить, что модель, обученная работе с игрой 4, генерирует низкие баллы FPR. Это связано с небольшим количеством покупок и относительно небольшим количеством мошенничества (54% по сравнению с 77%-85% в других играх). Поскольку в игре 1 собраны самые большие базовые данные, модели, тренированные в других (и меньших) играх, имеют очень высокий процент ложноположительных срабатываний, до 30% покупок классифицируются как мошенничество. При тренировках в других играх мы получаем гораздо лучшие результаты с 1-2% неправильно классифицированными действительными покупками.
Этот эксперимент показал, что передача данных между играми в большинстве случаев работает хорошо, но может быть проблематичной, если ваша игра имеет очень уникальное поведение пользователя.
Результаты
Наконец, мы подготовили модель на основе всех наших наземных данных и использовали ее для классификации всех закупок в нашей базе данных. По данным классификатора, 55,7% закупок являются мошенническими, и на их долю приходится 72,9% от общей выручки.
Эти цифры варьируются в разных играх. Мы видим общую тенденцию наибольшего процента мошенничества в более крупных играх (играх с большим количеством пользователей), несмотря на то, что мы также наблюдаем относительно небольшие игры с количеством случаев мошенничества до 89%. Различия могут быть объяснены различными моделями экономики, или популярностью игры в разных странах.
По результатам нашей модели, мошенничество наиболее распространено в славянских странах. Лидируют Россия, Украина и Беларусь, где более 90% закупок совершаются мошенническим путем.
Модель прогнозирует, что только 2% пользователей имеют действительные покупки и мошенничество. Остальные 98% пользователей являются либо мошенниками (всегда совершают мошенничество), либо нет (все покупки действительны). Из 98% больше половины мошенников.
Последствия для разработчиков игр
Знание того, какие пользователи являются мошенниками, позволяет разработчикам адаптировать игру и принимать ограничительные меры для обеспечения минимальной потери дохода. Некоторые варианты таковы:
- Полная блокировка покупок в приложении для конкретного пользователя.
- Возрастающие игровые трудности как средство сдерживания нелегитимной прогрессии пользователя, сделанной с взломанными внутри игровыми монетами.
- Увеличение частоты рекламы для максимизации доходов от злостных пользователей, которые никогда не будут платить.
- Например, отключение всего игрового процесса с четким предупреждающим сообщением пользователю с просьбой о немедленном внесении залога на покупку в приложении для разблокировки игры.
Как мы можем улучшить ситуацию?
Чем больше у нас информации, тем лучше будут результаты нашей классификации. Разработчики игр и студии могут получить более качественные отчеты и помочь нам в улучшении, предоставив нам свои отзывы или поделившись с нами отчетами о продажах.