Наука о данных

Масштабная аналитика подписок

Развитие архитектуры данных подписки Canva для принятия решений на основе данных

Авторы Chuxin Huang и Paul Tune, редакция Grant Noble

Canva Pro - это наш флагманский продукт по подписке, впервые запущенный в 2015 году. Это подписка Программное обеспечение как услуга (SaaS) с возможностью ежемесячной или годовой подписки.

Пользователи Canva, подписавшиеся на Canva Pro, получают набор функций, таких как фирменный набор, инструмент для удаления фона и волшебное изменение размера для изменения размера своих дизайнов, что делает пользователей более продуктивными. Более того, теперь у них есть доступ к более чем 100 миллионам ингредиентов, таких как изображения и анимация, для использования в своих проектах. Эти функции не только позволяют подписчикам создавать более красивый дизайн, они также помогают повысить общую производительность за счет функций экономии времени, таких как планирование публикаций в Instagram с помощью нашей функции планировщик контента.

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

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

Эволюция аналитики подписок в Canva

Прежде чем идти дальше, рассмотрим, как работают подписки Canva Pro.

Canva Pro предлагает ежемесячную или годовую подписку. Предложение по годовой подписке ежемесячно дешевле, так что постоянным подписчикам предоставляется скидка. Цены на эти планы подписки локализованы для страны подписчика с локализованными вариантами оплаты.

Подпискам Canva Pro предшествует пробный период, когда пользователь Canva Free может опробовать продукт Pro в течение ограниченного периода времени. Испытания запускаются, когда пользователь Canva Free нажимает на призыв к действию (CTA), как показано в следующем примере.

Пробный период длится 14 дней для мобильных подписок и 30 дней для настольных подписок. Во время пробной версии пользователи могут пользоваться всеми преимуществами Canva Pro, а также получать доступ к нашим премиальным функциям. По окончании пробного периода у пользователей есть возможность перейти на Canva Pro и пользоваться всеми дополнительными функциями или вернуться к использованию Canva на бесплатной основе. Подписка продолжается, после чего продление подписки происходит каждый месяц или год в зависимости от выбранного варианта или прекращается, если подписка отменяется.

Как мы улучшили конвейер данных

Ранее Canva запустила первую версию своей службы подписки, службу подписок 1.0, которая была построена на базе службы подписки Stripe. Все показатели SaaS, такие как годовой регулярный доход (ARR), конверсия, отток, повторная активация и экономика нашего подразделения, размещались и отслеживались третьими сторонами. Мы использовали Profitwell для отслеживания вышеупомянутых ключевых показателей и анализа оттока. Эта система хорошо себя зарекомендовала, когда Canva была относительно небольшой.

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

Например, анализ оттока с помощью Profitwell был ограничен, потому что нам нужно было сделать разбивку по странам, различать ежемесячные и годовые планы и углубиться в другие сегменты, такие как рост в регионе Латинской Америки. В то время жизненная ценность подписчика (LTV) рассчитывалась в Profitwell. К сожалению, поскольку основное уравнение LTV было проприетарным, это было проблемой для нас, потому что нам нужно было четко понимать, что означает LTV в нашем контексте.

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

Учитывая эти и другие проблемы, нам понадобился стек, отвечающий следующим критериям:

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

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

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

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

Чтобы учесть каждый из этих факторов, команда Data переработала схему основных таблиц подписок Canva. Связывая и объединяя информацию из нескольких источников, включая подписку, выставление счетов, профиль, атрибуцию и события, теперь мы можем консолидировать метаданные о миллионах подписчиков в одном источнике, обеспечивая понимание конверсии, продления и отмены. До этого получение такого уровня информации часто занимало у аналитика полдня на запрос!

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

Нам пришлось перенести наши таблицы подписок и связанные таблицы, такие как сборы платежей, в Snowflake, в основном переводя таблицы, написанные на Presto и Hive, в диалект Snowflake SQL.

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

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

Теперь мы можем измерять отток на более детальном уровне, например, по дате когорты, стране, платформе плана и пути обновления. Это дает более полное представление о характере наших подписчиков, эффективности удержания с течением времени и дает представление о продукте и росте для улучшения воронки роста. Внедрение инструментов визуализации данных, в том числе Mode и Looker, позволило командам по продукту и развитию также самостоятельно обслуживать, если у них есть вопросы о данных.

Помимо вышеперечисленных преимуществ, эти изменения позволили нам открыть множество возможностей, которые изменили культуру данных в Canva Pro Group (теперь часть Супергруппы для бизнеса и образования), в том числе:

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

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

Прогнозирование оттока

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

Что для нас значит отток?

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

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

Здесь мы фокусируемся на добровольном уходе из расчета на каждого абонента. Затем он связывается с LTV подписчика для использования в различных приложениях в области финансов и маркетинга.

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

Моделирование оттока

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

Мы устанавливаем X как случайную переменную, которая указывает, уходит ли ежемесячный подписчик в месяц t. Предположим, мы обозначили вероятность оттока как p. Потом,

Это просто геометрическое распределение. Однако эта модель наивна, поскольку предполагает, что у всех подписчиков одинаковая скорость ухода. Как мы знаем из наших данных, это предположение неверно. У каждого подписчика разная вероятность оттока.

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

У этой модели есть два преимущества. Во-первых, он интерпретируемый, что позволяет нам понять, что происходит. Во-вторых, мы обнаружили, что модель правильно спрогнозировала отток с всего двумя точками данных (то есть двумя месяцами удержания), хотя, естественно, большее количество точек данных привело бы к лучшим прогнозам. Это большое благо для нас, потому что позволяет легко вычислить LTV конкретной группы подписчиков. Со временем, по мере того как мы получаем больше данных по фактическим показателям оттока для когорт, наши прогнозы становятся более точными.

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

Роль машинного обучения

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

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

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

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

Уроки

По пути мы извлекли несколько уроков.

  • Сбор данных из нескольких источников - сложная задача. Типичная проблема для любого, кто работает в сфере аналитики данных, - это философия разделения ответственности. Разделение проблем - это принцип разработки программного обеспечения, который гарантирует, что служба выполняет только одно и одно хорошо. С одной стороны, это гарантирует надежность и отказоустойчивость Canva. С другой стороны, это очень затрудняет сбор данных из нескольких производственных сервисов, чтобы обеспечить наилучшее представление о подписчике (и даже о типичном пользователе) в Canva. Мы обнаружили, что наличие налаженного процесса между владельцами сервиса и аналитикой помогает надежному и своевременному сбору данных.
  • Прежде чем начать хороший анализ данных, важно иметь надежную инфраструктуру данных. Все хотят быстрее получать ответы на свои запросы, но это было бы почти невозможно без своевременного и надежного процесса сбора данных, приема данных и проверки качества данных. Более того, базовая инфраструктура должна работать быстро, надежно и эффективно в любом масштабе.
  • Когда дело доходит до эффективного использования данных, важно не ставить телегу впереди лошади. Заманчиво применить машинное обучение, прежде чем вкладывать средства в надлежащую инфраструктуру данных и аналитику. Однако машинное обучение настолько хорошо, насколько хороши данные, которые в него входят. Инвестируя в улучшение наших данных до уровня, на котором мы использовали все простые идеи из данных, теперь мы можем объединять большие наборы разнообразных (то есть разнородных) данных, чтобы обеспечить понимание, не сразу очевидное для аналитика. с помощью машинного обучения.

Благодарности

Эта работа была бы невозможна без поддержки со стороны наших специалистов по работе с данными и всей нашей организации. Особая благодарность Стивену Майким, который был с нами в этом путешествии с самого начала ❤️.

Вас вдохновил этот пост? Любите данные? Присоединяйтесь к нам!