Apphud — больше, чем аналитика подписок для iOS-приложений

Мы делаем Apphud — сервис, который избавит iOS-разработчиков от трудностей при работе с автоматически возобновляемыми подписками и поможет уменьшить отток подписчиков.

Кто мы

Привет! Меня зовут Денис. Первое приложение на iPhone разработал в 2011 году, в 2012-м познакомился со своими друзьями и партнёрами — Виктором и Александром, а в 2013 году к нам присоединился Ренат.

За семь лет вместе мы разработали и вывели на рынок больше двадцати собственных мобильных и веб-проектов, некоторые продали и пытались инвестировать (чаще — неудачно), основали аутсорс-студию и через два года закрыли, потому что «не наше», пытались играть в офлайн-бизнес и занимались блокчейн-проектами.

А с мая 2019 года разрабатываем Apphud.

Это мы: Саша, Денис, Витя, Ренат

Предыстория и идея

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

До этого мы никогда особо не возились с настройкой мобильной аналитики, но в этот раз решили подойти к этому вопросу основательно. Мы хотели протестировать платные каналы продвижения, в том числе Facebook. Нужно было понять, сколько денег в среднем приносит пользователь из каждого канала.

Начали искать подходящую мобильную аналитику и не нашли на 100% устраивающее нас решение. В Amplitude, Mixpanel, Firebase, AppMetrica нет аналитики iOS-подписок. Во все можно легко отправлять данные о выручке из самого приложения, но что делать, если пользователь уже удалил приложение, а подписку не отменил?

Как узнать, в какой именно момент произошли возобновление или отмена подписки? Amplitude и Mixpanel поддерживают приём событий от сервера, но разработчику всё равно придётся реализовывать логику проверки чека App Store на своём сервере.

Продолжив поиск, наткнулись на сервис RevenueCat. Это было именно то, что нужно. RevenueCat — это платформа для интеграции и управления подписками в мобильных приложениях. Работают с iOS и Android и умеют отправлять события о подписках в сторонние аналитики: Amplitude и Mixpanel. Ещё у них есть собственный дашборд с показом MRR, Churn rate и других метрик.

Но интеграции доступны лишь в самом дорогом тарифе за $499 в месяц. Поэтому мы решили собрать свой велосипед и заодно упаковать его в SaaS-решение. Ребята из RevenueCat весной 2018 года прошли акселерацию в Y Combinator. Солгу, если скажу, что это никак не повлияло на решение разрабатывать Apphud. В мае 2019 работа над новым проектом закипела.

Семь проблем при работе с подписками в iOS-приложении

Мы решаем проблемы, с которыми сталкиваются разработчики и продакт-менеджеры, когда имеют дело с подписками.

1. Сколько я зарабатываю в среднем с подписчика?

✴️ В разработке.

ARPU и LTV — важнейшие показатели для расчёта сходимости экономики приложения. Ключевая идея проста: привлечение пользователя должно обходиться дешевле (вообще говоря, в несколько раз), чем средняя прибыль с него. В дашборде Apphud можно будет просмотреть ключевые показатели. Пока в разработке, но базовая статистика уже есть: число активных триалов, подписок, выручка.

2. Отправка событий о подписках в продуктовые мобильные аналитики

Есть интеграция с Amplitude и Mixpanel.

Как ведут себя в приложении «киты» — наиболее платящие пользователи? Как их поведение отличается от тех, кто не платит? Ответы можно получить с помощью мобильной аналитики. Apphud умеет отправлять события о подписках в Amplitude и Mixpanel: оформление триала, конвертация триала в обычную подписку, возобновление подписки, её отмена или возврат денег и прочие.

3. Как связать подписки и атрибуцию установки?

Есть интеграция с AppsFlyer и Branch.

✴️ Скоро добавим Adjust и Apple Search Ads.

Какой канал привлечения пользователей приносит больше денег? Какова стоимость привлечения клиента по каждой кампании? Каково соотношение CAC и LTV? Мы интегрировали Apphud с системами атрибуции, чтобы помочь продакт-менеджеру ответить на этот вопрос.

4. Технические трудности при реализации подписок

Удобный SDK с открытым исходным кодом.

iOS-разработчик сталкивается с трудностями при интеграции подписок:

  • Определение статуса подписки пользователя в любой момент времени. Пользователь может находиться в триале, вводном или промопредложении, быть текущим подписчиком или не быть подписчиком вовсе. В зависимости от статуса нужно предоставлять пользователю доступ к платным функциям и нужным образом менять интерфейс.
  • Конвертация валют. Пользователь покупает подписку в локальной валюте. Перед отправкой в систему аналитики программист должен конвертировать эту валюту, например, в USD.
  • Реализация промопредложений (Subscription Offers) требует наличия собственного сервера для генерации подписи.

Apphud решает эти технические проблемы. Разработчику остаётся только интегрировать SDK и написать несколько строк кода.

5. Как узнать, почему пользователи отменяют подписку?

Apphud отправляет опрос пользователю при отмене подписки.

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

Apphud автоматически отправляет push-уведомление при отмене подписки. Вы можете сами задать вопрос и варианты ответов, которые пользователь увидит при следующем открытии приложения. А ответы пользователей помогут улучшить приложение.

Показываем опрос при отмене подписки. Если пользователь выбирает «Слишком дорого», даём скидку

6. Вернуть отвалившихся подписчиков

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

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

Экраны покупки не нужно программировать, всё можно сделать в визуальном редакторе:

Создавайте экраны покупок промопредложений во встроенном редакторе

7. Уменьшить Involuntary churn

Apphud отправит пользователю push-уведомление с просьбой обновить платёжные данные при проблеме с возобновлением подписки.

Если подписка не может быть продлена, например, из-за недостатка средств на кредитке пользователя, Apphud сразу же пришлёт push-уведомление. При следующем открытии приложения пользователь увидит такой экран:

​Apphud попросит пользователя обновить кредитную карту

Нажав на кнопку, он сразу попадёт на экран изменения платёжных данных его аккаунта в App Store.

Бонус: узнать в реальном времени, когда пользователь оформил, отменил, продлил подписку

Apphud присылает уведомления о событиях, связанных с подписками, в Slack и Telegram.

Приятно и круто получать уведомления о продлении подписки.

Прогресс

Мы начали продвижение Apphud в июне, когда до запуска оставалось два месяца. Сделали посадочную страницу, рассказывающую об основных фичах, завели блог на Medium, начали писать о разработке на Swift и особенностях работы с подписками на vc.ru и «Хабре», вскользь упоминая наше решение. В итоге получили больше 60 заявок на участие в бета-тестировании сервиса. В середине лета решили съехать с Medium и завели собственный блог.

Проект был запущен 7 августа. Сейчас у нас зарегистрировано 60 разработчиков и 45 приложений.

С августа Apphud отследил больше 200 тысяч пользователей, которые совершили покупок на $160 тысяч.

Сколько стоит

Apphud работает по подписочной модели и бесплатен, если отслеженная Apphud выручка до вычета комиссии Apple (Monthly Tracked Revenue, MTR) меньше $10 тысяч в месяц. В бесплатной версии доступны все функции, и она не ограничена по времени.

Если ваше приложение зарабатывает больше $10 тысяч в месяц, то можете выбрать один из двух платных тарифов: Launch (включает $25 тысяч MTR, стоит от $199 в месяц) и Grow (включает $100 тысяч MTR, стоит от $499 в месяц). Пока что тарифы отличаются только включенным в него MTR. MTR свыше включенного план оплачивается отдельно. Подробнее о ценах — на нашем сайте.

Платящих пользователей пока нет: сейчас занимаемся интеграцией Stripe. Компанию для проекта зарегистрировали через знакомого юриста в Delaware.

Y Combinator

В августе мы решили попытать счастье и подать заявку в Y Combinator. Анкету отправили 3 сентября, 6 октября нас пригласили на созвон. Через десять дней пришло приглашение на интервью в Mountain View, которое пройдёт в начале декабря. Если интересно, по результатам напишу статью. Напишите в комментариях, интересно ли.

Что дальше

Мы продолжаем совершенствовать платформу. В ноябре-декабре появятся:

  • Интеграции с Apple Search Ads и Adjust.
  • Новые метрики в дашборде с возможностью их просмотра по разным когортам пользователей.
  • Возможность создавать экраны любых подписок (сейчас поддерживаются только промопредложения) без программирования с помощью визуального редактора.
  • Поддержка других типов встроенных покупок, а не только подписок.

Если у вас есть iOS-приложение с подписками, то добро пожаловать на борт! Вот ссылка на сервис: Apphud.com. Будем рады идеям, пожеланиям и замечаниям.

Расскажите в комментариях, как вы работаете с подписками в ваших приложениях, с какими проблемами сталкиваетесь и как их сейчас решаете.

Передаем микрофон читателю.

0
51 комментарий
Написать комментарий...
Daniil Khanin

а почему цена зависит от MRR? ведь нагрузка на сервера зависит от числа платежей, а не от суммы MRR.

Ответить
Развернуть ветку
Maxim Syabro

А причем тут нагрузка на сервера? По такой логике все offline приложения должны быть бесплатны.

Ответить
Развернуть ветку
Daniil Khanin

нет конечно, но у вас ничего вообще не меняется от MRR, только от числа транзакций. мой же вопрос почему цена зависит от MRR? это тоже самое что повышать цену на самолеты из-за того, что ты на сайт с айфона зашел. 

Ответить
Развернуть ветку
Maxim Syabro

Не "у вас" а у автора. Я мимокрокодил.
Цена строится от того сколько люди готовы заплатить, а не от прямых затрат. MRR хороший пример.

Ответить
Развернуть ветку
Daniil Khanin

не понял почему зависимость от MRR хороший пример? 

Ответить
Развернуть ветку
Ренат Курбанов

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

Ответить
Развернуть ветку
Daniil Khanin

а зачем надо отдавать продукт бесплатно?

Ответить
Развернуть ветку
Ренат Курбанов

Триала у нас нет, мы даем продукт бесплатно небольшим приложениям, чтобы они росли вместе с нами. "Pay as you grow" – наш девиз.

Ответить
Развернуть ветку
Daniil Khanin

а зачем вам это? что вы получаете из-за этого какая стратегия? 

Ответить
Развернуть ветку
Ренат Курбанов

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

Ответить
Развернуть ветку
Daniil Khanin

стратегия понятна, но тогда зачем вам мелочь? реально ли они приведут крупняк? как замерять эффект?

Ответить
Развернуть ветку
Ренат Курбанов
 реально ли они приведут крупняк?

не знаем, посмотрим

 как замерять эффект?

 спрашивать у клиентов, откуда они про нас узнали :)

Ответить
Развернуть ветку
Ренат Курбанов

Наше дело – предоставлять хороший сервис и чтобы ничего не падало, для всех приложений

Ответить
Развернуть ветку
Daniil Khanin

это верно.

Ответить
Развернуть ветку
Daniil Khanin

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

Ответить
Развернуть ветку
Maxim Syabro

Ваш бесплатный тариф это тоже триал, просто с отсрочкой не по времени а по росту

Ответить
Развернуть ветку
Ренат Курбанов

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

Ответить
Развернуть ветку
Maxim Syabro

Триал же

Ответить
Развернуть ветку
48 комментариев
Раскрывать всегда