Refund events
График Refund events показывает, сколько покупок и подписок было возвращено. Adapty привязывает каждое событие возврата к дате его оформления, а не к дате начала подписки.
Расчёт
Adapty учитывает каждую покупку или подписку, по которой был оформлен возврат в выбранный период. Каждый возврат относится к дате его оформления, а не к дате начала подписки. Возвраты по триалам не учитываются, так как триалы не генерируют выручку.
Как метрики обрабатывают возвраты
Разные метрики обрабатывают возвраты по-разному. Одно и то же событие возврата может сразу уменьшить один график, ретроактивно изменить значения другого (затронув данные за прошлые периоды) или вообще не повлиять на третий. В таблице ниже описаны правила для каждой метрики.
| Метрика | Учитываются ли возвраты? | Дата атрибуции | Может быть отрицательной? | Примечания |
|---|---|---|---|---|
| Revenue | Да | Дата возврата — не дата исходной покупки | Да — в дни, когда возвраты превышают новую выручку | Revenue = общие транзакции − возвраты. |
| MRR | Да, ретроактивно | Подписка удаляется из всех периодов, когда она была активна | Нет | Значения за прошлые периоды могут уменьшиться после возврата. |
| ARR | Да, ретроактивно | Аналогично MRR | Нет | Значения за прошлые периоды могут уменьшиться после возврата. |
| ARPU | Да | Дата возврата | Да (в периоды с большим числом возвратов) | Возвраты вычитаются из числителя выручки. |
| ARPPU | Да, только числитель | Дата возврата | Да (в периоды с большим числом возвратов) | Возвраты вычитаются из числителя выручки. Пользователь, получивший возврат, по-прежнему учитывается в знаменателе платящих пользователей, поэтому при большом количестве возвратов ARPPU снижается быстрее, чем ожидается. |
| Active subscriptions | Да, ретроактивно | Подписка удаляется из счётчика | Нет | |
| New subscriptions | Нет | — | Нет | Счётчик включает подписки, по которым впоследствии был оформлен возврат. Для оценки чистого влияния сравните с Refund events. |
| Refund money / Refund events | Возвраты и есть данные | Дата возврата | Нет (всегда ≥ 0) | |
| Retention | Нет | — | Нет | Пользователи с возвратами остаются в кривой удержания. Это может делать Retention выше, чем Active subscriptions или Revenue для той же когорты. |
| Cohort revenue | Да, накопительно | Дата возврата | Нет (накопительные вычитания не опускают доход когорты ниже нуля) | Возвраты вычитаются из дохода когорты по мере их возникновения. |
| Paywall metrics / A/B test metrics (счётчики) | Нет | — | Нет | Subscribers, Paying Subscribers и ARPPU на этих страницах не учитывают возвраты. |
| GCS / S3-экспорты | Возврат как отдельная строка события | event_datetime = временная метка возврата | Чистые столбцы могут стать отрицательными при агрегировании | Строка возврата содержит is_refund = true (S3/GCS) или тип события subscription_refunded (вебхуки). |
Отрицательные значения
В агрегированных представлениях (график Revenue, кастомная аналитика при экспорте) метрика может принимать отрицательное значение за определённый период или в определённой группировке, если сумма возвратов в этом сегменте превышает новую выручку за тот же период. Это не баг — арифметика работает именно так, как задумано.
Например: в какой-то стране во вторник не было новых покупок, но в этот день был обработан возврат на $100 за более раннюю покупку. Тогда выручка этой страны за вторник отобразится как −$100.
Доступные фильтры и группировки
Основная статья: Инструменты аналитики
- ✅ Фильтровать по: атрибуции, аудитории, причине возврата, стране, типу предложения, ID предложения, типу скидки предложения, пейволу, A/B-тестам, плейсменту, периоду, сегменту, стору, продукту и длительности.
- ✅ Группировать по: причине возврата, продукту, стране, стору, пейволу, аудитории, плейсменту, длительности, типу предложения, типу скидки предложения, ID предложения, сегменту и атрибуции.
Похожие метрики
Для сравнения этих метрик в одной таблице смотрите Таблицу сравнения метрик.