Устранение расхождений в данных

Пользователи Adapty могут замечать расхождения при сравнении похожих наборов данных из разных источников. В частности, это может происходить при сравнении:

  • графиков Adapty с отчётами сторов
  • графиков Adapty с графиками сторонних сервисов
  • разных графиков внутри Adapty

Алгоритм устранения неполадок

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

В других случаях расхождения указывают на проблему с настройкой Adapty.

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

  • Даже у сторов могут возникать проблемы с обработкой и представлением данных. Для наиболее точного сравнения используйте сырые данные о транзакциях из сторов.
  • При сравнении Adapty с другой аналитической платформой используйте отчёты о транзакциях из сторов как источник истины и точку сравнения.
  • Проще выявлять расхождения на ограниченном наборе данных. Сравнивайте небольшие объёмы — сосредоточьтесь на конкретном продукте и одном дне.
  • Определите, связано ли расхождение с ценообразованием или количеством событий. Проблемы с ценами можно исправить через обновление продукта. Проблемы с событиями могут указывать на проблемы на стороне сервера.
  • Просматривайте ленту событий, чтобы отслеживать входящие события — возможно, вы заметите неожиданное поведение.

После того как вы определите, где именно расходятся данные, изучите следующие распространённые причины:

Проблемы с серверными уведомлениями и RTDN

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

Настройте server-to-server соединение как можно скорее (App Store | Play Store) и подождите, пока сторы установят соединение.

Вы можете вручную загрузить отсутствующие данные App Store Connect в Adapty.

Отсутствующие данные

Пользователи с устаревшими версиями приложения

Если часть пользователей использует старую версию приложения без Adapty SDK, Adapty не получает их данные. По этой причине показатели Adapty и других источников будут расходиться.

Проблемы с интеграциями

Некоторые интеграции Adapty (например, Adjust или AppsFlyer) требуют дополнительного кода в приложении. Если вы настроили дашборд Adapty, но не обновили приложение, необходимые данные не появятся в Adapty.

Отсутствие исторических данных

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

Задержки данных

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

  • При первой интеграции Adapty данные могут появиться не сразу.
  • При включении интеграции со сторонней платформой может потребоваться некоторое время для полной синхронизации данных.
  • После того как Adapty получает данные от стора, требуется ещё 15–30 минут для их обработки и отображения на странице аналитики.
  • Обмен данными между Adapty и сторонними сервисами не всегда происходит мгновенно из-за множества переменных.
  • Вычисления некоторых продвинутых метрик (например, прогнозов для когорт) требуют определённого объёма данных. Adapty выполняет эти расчёты только после накопления достаточного количества данных.

Время и календарь

Даты и временны́е зоны

Одна из самых распространённых причин воспринимаемых расхождений — разные настройки временно́й зоны.

Adapty считает дни по временно́й зоне UTC. Если другая платформа использует иную временну́ю зону, расчёты будут отличаться. Разница уменьшается по мере увеличения масштаба.

Вы можете изменить настройку временно́й зоны для каждого приложения.

timezone-setting.webp

Финансовый календарь Apple

Apple использует собственный учётный календарь для определения периодов продаж и дат выплат.

Каждый «месяц» в этом календаре состоит из 4 или 5 недель и может включать дни из соседних календарных месяцев. Выплаты, как правило, поступают через 30–45 дней после окончания периода продаж.

Например, период продаж «январь 2026» начинается 28 декабря 2025 года — за 4 дня до начала календарного месяца. Ориентировочная дата выплаты за этот период — 5 марта.

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

Даты транзакций

Некоторые сервисы (например, AppsFlyer) могут применять правила когорт при отображении транзакций и привязывать их к дате установки приложения, а не к дате самой транзакции.

Расчёт выручки

Комиссии и налоги

В зависимости от настройки графики Adapty могут отображать валовую выручку, выручку после комиссии стора или выручку после комиссии стора и налогов.

revenue-types.webp

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

Отмены и возвраты

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

Покупки в песочнице

Лента событий отображает покупки, сделанные sandbox-аккаунтами. Графики аналитики — нет. Однако если импортированные исторические данные содержат покупки из песочницы, Adapty не сможет их распознать, и графики будут отражать исторические покупки из песочницы.

Установки и загрузки

Сторы (особенно Apple App Store) могут отслеживать загрузки напрямую. Их статистика может включать случаи, когда приложение было установлено, но так и не запущено.

Adapty может зарегистрировать установку только тогда, когда пользователь запускает приложение, независимо от вашего определения установки.

install-definitions.webp

Страна и стор

Для точной отчётности Adapty может определять страну пользователя по IP-адресу. Сторы всегда привязывают загрузки и покупки к конкретному магазину приложений.

Если вам нужно чётко разграничить эти два подхода, вы можете создать новый сегмент пользователей с атрибутом Country by store account и фильтровать аналитику по сегменту.

Ценообразование продукта

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

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

Конфликты атрибуции

Adapty может использовать только один источник атрибуции для каждой транзакции. Впоследствии эти данные нельзя переопределить.

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

Различия в терминологии

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

AdaptyApp Store ConnectGoogle Play Console
Gross revenueSalesGross Revenue
Proceeds after store commissionN/AN/A
Proceeds after store commission and taxesProceedsEarnings
ARPPUProceeds per paying userARPPU

Другие метрики также могут различаться по определению:

  • Подписки:
    • Adapty не учитывает новые триалы как подписки. Новая подписка всегда начинается с финансовой транзакции.
    • Другие платформы, например Google Play Console, могут считать каждый триал новой подпиской, даже до первого платежа.
  • Удержание:
    • Adapty измеряет удержание на основе количества продлений подписки.
    • App Store Connect считает пользователя удержанным, если он открыл приложение в указанный день. Пользователь без подписки засчитывается, а подписчик, не открывший приложение в этот день, — нет.
    • Метрика «Retained Installers» в Google Play Console измеряет удержание по количеству дней, в течение которых приложение остаётся установленным на устройстве пользователя. Пользователи, не открывавшие приложение, учитываются в этой метрике.