Четырёхуровневая модель усталости от push-уведомлений

Push-уведомления — самый дешёвый способ потерять пользователя. Кривая удержания при одной push в день выглядит нормально — отраслевые данные Localytics и Urban Airship дают около 88% трёхмесячного удержания. При трёх push в день кривая падает на 17 процентных пунктов. При пяти — на 34. Форма кривой крутая и необратимая: 46% пользователей полностью отключают push, когда приложение присылает им от 2 до 5 уведомлений в неделю, которых они не хотят.

Ответ Soulwise — четырёхуровневая модель усталости. Она отслеживает снижение открываемости в скользящем 14-дневном окне и постепенно уменьшает объём уведомлений до того, как пользователь отключит их навсегда.

В этой статье описаны дизайн модели, пороговые значения и логика восстановления.

Четыре уровня

Автомат состояний прост. Каждый пользователь в любой момент находится ровно на одном уровне.

  • T0 - Здоровый. Полное расписание. Напоминание об утреннем ритуале, контекстный нодж в середине утра, вечерняя рефлексия, а также push, привязанные к событиям.
  • T1 - Пониженный. Контекстный нодж середины утра приостановлен. Всё остальное продолжается.
  • T2 - Только якорь. Остаются только напоминание об утреннем ритуале и воскресный ретроспектив. Все дискреционные push приостановлены.
  • T3 - Только еженедельный. Выживает единственная еженедельная push. Ежедневный ритм приостановлен.

Порядок важен. Первой убирается середина утра, потому что у неё наименьший вес событий: это контекстный нодж, а не часть самого ежедневного ритуала. Утреннее напоминание сохраняется дольше всего, потому что ежедневные push, привязанные к событиям, обеспечивают примерно в 2,85 раза более высокое удержание, чем обычные; убрать его — значит убрать главное в приложении.

Что запускает смену уровня

Скользящее 14-дневное окно данных об открываемости для каждого пользователя. Каждый день модель смотрит на последние 14 дней и вычисляет открываемость push, отправленных в этом окне.

Порог Soulwise — снижение открываемости на 30% от личного базового уровня пользователя. Если пользователь обычно открывает 60% push, а скользящее окно падает до 42% или ниже, модель понижает его на один уровень. Снижение должно сохраняться не менее 3 дней, чтобы не реагировать на единственную неудачную неделю (отпуск, болезнь, напряжённая рабочая неделя).

Повышение симметрично. Если пользователь находится на T2 и его открываемость в течение 3 последовательных дней превышает его базовый уровень минус порог 30%, он переходит на T1. Восстановление до T0 следует тому же шагу.

Почему push, привязанные к событиям, держатся дольше всего

Данные Localytics / Urban Airship, лежащие в основе дизайна: ежедневные push, привязанные к событиям, обеспечивают примерно в 2,85 раза более высокое удержание, чем обычные ежедневные push. Обычное «загляни к нам!» в 9 утра легко забудется. Утреннее напоминание, привязанное к актуальной фазе цикла («Мягкий старт. Что у тебя сегодня в планах?»), привязано к событию — оно несёт новую информацию.

T2 сохраняет утреннее напоминание, потому что его удаление разрушает весь ежедневный ритуал. Всё остальное в приложении построено вокруг того, что пользователь заходит один раз утром и один раз вечером. Без напоминания петля разрывается.

UX баннера усталости

Когда пользователь понижается в уровне, при следующем открытии приложения в нём появляется небольшой баннер:

«Мы снизили активность на 7 дней — хочешь вернуть уведомления?»

Эта фраза делает три вещи: признаёт изменение, связывает его с поведением приложения (а не с ошибкой пользователя) и предлагает выбор. Пользователь может отменить понижение одним нажатием, если хочет вернуть уведомления.

Это важно, потому что тихое понижение ощущается как брошенность со стороны приложения. Явное — как забота. Одно и то же действие с разной подачей.

Антипаттерны, которые мы намеренно не реализовали

Продуктовая спецификация прямо указывает, что запрещено:

  • Никаких push-манипуляций "не прерывай серию". Серии — это стыд через неприятие потерь. Модель усталости понижает пользователей в уровне; она не манипулирует ими.
  • Никаких реактивационных push "мы скучаем" в конце T3. Пользователь на T3 уже говорит приложению кое-что. Добавлять больше push — неправильный ответ.
  • Никаких поддельных счётчиков или искусственного дефицита в текстах push. «X человек только что зарегистрировались» — это театр тёмных паттернов, а не уведомление.
  • Никакого контента о менструальном цикле или астрологии в заголовках или текстах push. Push проходят через CI-линтер, отклоняющий сборки с запрещёнными паттернами; модель усталости никогда его не обходит.

Как выглядят данные внутри системы

Модель хранит состояние каждого пользователя в трёх полях:

tier: 'T0' | 'T1' | 'T2' | 'T3'
rolling_open_rate_14d: от 0.0 до 1.0
baseline_open_rate: от 0.0 до 1.0 (вычисляется за первые 30 дней)
last_tier_change_at: timestamp

Это всё состояние усталости. Никакой истории просмотров, никаких оценок вовлечённости кроме открываемости, никаких ML-моделей, обученных на данных пользователя. Простота намеренна: правила поддаются аудиту, пороговые значения задокументированы, последствия для UX предсказуемы.

Чем эта система не является

Уточнение области применения.

Модель усталости — на уровне пользователя, а не когорты. Мы не анализируем «пользователей, похожих на вас» и не проводим эксперименты, понижающие пользователей ради изучения удержания. Модель служит конкретному человеку.

Она также не заменяет пользовательские настройки. Часы тишины, отключение звука по категориям и явное отключение всех push работают независимо от модели усталости. Обе системы совместимы; явный выбор пользователя всегда превалирует над выводом модели.

Почему это важно для остальной части приложения

Push-уведомления — это то, что удерживает ежедневный ритуал ежедневным. Приложение для чек-инов, лишившееся прав на push, теряет свой главный механизм удержания. Четырёхуровневая модель существует для того, чтобы приложение не злоупотребляло этой привилегией и не потеряло её медленным путём — будучи лишь слегка раздражающим достаточно долго.

Более широкий контекст ежедневного ритуала находится в хабе Soulwise. Модель усталости — одна из причин, по которым ритуал остаётся взаимным, а не требовательным.

Короткая версия: правильное количество push — это наибольшее количество, которое не приводит к отключению. Модель усталости — это способ, которым приложение находит это число для каждого пользователя каждые 14 дней.

Попробуйте наши бесплатные инструменты

Получите персонализированные инсайты на основе вашей карты рождения

Поделиться этой статьей