Рубрика развивается при поддержке
Маркетинг
Ruslan Nazarenko
6815

Как правильно измерить product-market fit

Последнее время очень часто всплывает тема product-market fit (дальше по тексту — PMF). Очень часто в этом контексте вспоминают про опросник Шона Эллиса как правильный способ измерить PMF. На своей практике я столкнулся с тем, что это очень далеко от истины.

В закладки
Аудио

И сейчас хотел бы поделиться тем, как однажды PMF погубил отличную компанию, с которой я работал, и как неправильный подход завёл меня не туда.

Product-market fit — это набор сигналов, которые говорят вам о том, что ваш продукт отлично вписывается в рынок. Самая важная вещь тут — PMF не бинарен. Дважды.

На практике: даже если он есть сейчас, не означает, что вы не потеряете его через один-два-три года, когда начнёте расти на других рынках. А второй раз он не бинарен потому, что нельзя просто так сказать: «Да, он есть» или «Нет, его нет». Для себя я нашёл, что лучше всего думать об этом как о шкале, где с левой стороны стоит точное «нет», а с правой — «да».

Могу выделить такие сигналы по мере возрастания влияния на наличие PMF:

  • Опросник Шона Эллиса.
  • Хорошее вовлечение и здоровый возврат.
  • Сведённая юнит-экономика.
  • Понятный путь до $100 млн ARR.
​Шкала индикаторов PMF Руслан Назаренко

Опросник Шона Эллиса

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

  • «Очень расстроюсь».
  • «Немного расстроюсь».
  • «Не расстроюсь».

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

Считается, что если вы получите 40% «очень расстроенных» людей, то у вас есть PMF. Подсчёт этой цифры лично меня ставит немного в тупик, потому что открытого исследования по ней нет, кроме, собственно, эмпирического пути Шона Эллиса.

Тем не менее этот опросник можно использовать вместе с другими вопросами. Классический пример, который GoPractice собрал вместе с самим Шоном. После хайпа статьи от Superhuman появилась ещё одна разновидность опросника, которую я и использую сейчас.

Опросник, который использует у себя Superhuman

Она нравится мне немногим больше. Второй вопрос поможет понять, кто эти люди, так как тут пользователи обычно описывают сами себя. Третий поможет перепроверить ценность, которую вы коммуницируете в рекламе, и подправить её. Четвёртый — насобирать (рандомную) обратную связь.

Для чистоты данных этот вопросник лучше отправлять разным персонам или под разные юзкейсы. У себя в продукте я отправляю его таким сегментам (в дополнение к персонам):

  • Те, кто заплатил.
  • Те, кто получил core value. Чаще всего это значит, что человек воспользовался вашим продуктом несколько раз.
  • Те, кто использовал вашу core-фичу.

По классике, сегменты должны быть следующие:

  • Те, кто получил core value.
  • Те, кто попробовал продукт хотя бы дважды.
  • Те, кто зарегистрировался в последние две недели.

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

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

Если кратко, большинство людей заказывает в Instacart… мороженое. Такие пользователи показывают низкий уровень вовлечения в дальнейшем. Из-за этого основная задача product marketing manager там — перевести пользователей на следующий уровень pizza fans.

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

Убрав особенности конкретно Instacart, можно сказать, что у них есть три категории пользователей: one-time (или casual), power и addicted.

Если тут вы собрали 40% «очень расстроенных» — время двигаться дальше.

Пример классического подхода к сегментации и нового Руслан Назаренко

Здоровый возврат

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

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

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

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

Эндрю Чен говорит, что неплохой возврат для b2c-продуктов — 25-35%, а churn rate для b2b — 2–5%. Брайан Балфор показывает вполне наглядный пример того, как должна выглядеть кривая возврата.

«Полка ретеншена» для продуктов с и без PMF​ Брайан Балфор

И вот тут новые продукты ждёт сложный вопрос. Если мы запустились три месяца назад, как нам понять, сколько же месяцев с нами будут пользователи? Многие используют формулу 1 ÷ churn для определения этой цифры.

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

Выйти из положения нам поможет регрессионный анализ на коленке. Счастье в том, что для него нужны буквально две минуты и «Google Таблицы».

Вот короткая инструкция:

  • Берём исторические данные по когортам: revenue за первый месяц и первые 3, 6, 12 месяцев (чем длиннее отрезок, тем лучше).
  • Строим scatter plot.
  • В его настройках в Series добавляем Trend Line, а как Label выбираем Equation
  • Готово. Вторая цифра в Equation и будет мультипликатором, на который вы можете умножить доход за первый месяц с новой когорты и узнать, сколько же вы заработаете с неё за первый год.

R покажет вам точность вашей модели. На скриншоте, как вы видите, мультипликатор — 2,76. А точность модели — 71%.

Пример создания предсказывающей модели с помощью «Google ​Таблиц» Руслан Назаренко

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

И вот если «полка возврата» есть и держится на уровне 30% для b2c-продукта? можно поставить галочку возле этого пункта.

Хорошее вовлечение

Для начала стоит определиться, что мы считаем вовлечением у себя в продукте. Я использую подход, которым поделился со мной Вася Шинкоренко из Storyline. Думать о «продукте своего продукта».

Если мы строим VSCO и говорим, что задача нашего продукта — помочь пользователю получить фото professional-like за минуту, то что мы трекаем? К тому же если наши пользователи выставляют эти фотографии в соцсети, то зачем? Ответ, конечно, в лайках.

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

В таком случае наше вовлечение можно описать не общей «количество обработанных фотографий», а «количество фотографий, получивших на 30% больше лайков». Всё, что нам надо после этого сделать, — сгруппировать пользователей по дням использования.

В идеале мы стремимся к тому, чтобы у нас был сегмент людей, которые используют наш продукт очень часто. Что такое «очень часто» — зависит от продукта, если вы думаете, что люди сталкиваются с проблемой, которую вы хотите решить, каждый день, то это могут быть пользователи, которые активны в продукте больше 25 дней в месяц.

Пример smiling curve​ Эндрю Чен​

Сведённая юнит-экономика

Про юнит-экономику уже написано и сказано очень много. Если комфортнее получать информацию на русском, лучшее решение — сходить на канал Даниила Ханина.

Я хочу сделать акцент на другом. Мы все знаем, что в идеальном мире соотношение LTV и CAC должно быть где-то 3:1. Но вот о чём говорят почему-то реже — payback. Сколько месяцев вам надо, чтобы окупить затраты на привлечение когорты и начать зарабатывать. Более короткий payback период обеспечивает вам большее реинвестирование в привлечение. В результате - вы растете быстрее.

Если у вас есть две кампании, в одной соотношение 3.5:1, но payback — шесть месяцев, а во второй — 2:1, а payback — два месяца, вам стоит выбрать второй вариант для более быстрого роста.

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

Понятный путь до $100 млн ARR

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

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

Тут на помощь может прийти несколько вещей. Первое — модель прайсинга, которая зависит от размера рынка. Её сделали ребята из фонда Point Nine.

​Зависимость цены от размера рынка Кристоф Янц

Что в ней прекрасно, так это то, что от размера рынка, на который мы целимся, зависит цена. А вот цена нам открывает или закрывает какие-то каналы рекламы. Об этом очень ёмко написано у Брайана Балфора.

У нас есть всего несколько каналов, которые могут пройти с нами путь от нуля к единице: SEO, viral, paid ads, content, sales team. Всё остальное — временные источники traction, а не самостоятельная история.

К примеру, программа Brand Ambassadors у Branch (частью которой я был), которая помогла вырасти с примерно $100 млн до $1 млрд, сейчас не работает активно. Подозреваю, дело в том, что она просто не даёт нужный поток клиентов.

Чтобы быть уверенным, что этот пункт у вас закрыт, необходимо в одном из каналов свести юнит-экономику и начать его масштабировать. Вот как раз масштабирование и будет очень сложным вопросом.

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

Мысль, которую я тут пытаюсь донести: не стоит бросаться с головой в PMF, если вам пять месяцев от роду, но это крайне важный показатель, или метрика, если хотите, который стоит держать в голове всё время. За счёт того, что она описывает несколько очень разных понятий и сводит их вместе, это и может быть неплохим ориентиром.

Несколько веселых историй

Я не могу называть конкретные компании, но, исходя из этого текста и моего Linkedin, можно догадаться, о ком я говорю. Когда я присоединился к одной из компаний, первым делом я отправил опросник Шона Эллиса. Результаты были восхитительные — больше 60% будут очень расстроены, если продукт перестанет существовать.

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

Никто из пользователей не захотел конвертироваться в клиента. Проанализировав данные, я увидел, что они используют продукт раз-два в месяц. И, конечно же, с таким уровнем вовлечения не стоит надеяться, что пользователь начнёт платить.

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

Подняли цены, это и решило проблему. Сейчас компания растёт на 28–33% MoM. Это, конечно, не WeWork, но в целом вполне хорошие показатели.

Когда закрылся Storyline, я спросил у Васи, почему так произошло. Несмотря на то, что у самого Storyline в целом всё было хорошо, YC за спиной и хороший продукт, проблема крылась в самом рынке. Строить навыки для Alexa без кодинга — чудесная история. Только вот у самой Alexa нет PMF.

Несмотря на все рассказы Amazon, что они рвут рынок, ни один крупный проект электронной торговли так и не ощутил прироста продаж от голосовых ассистентов. И пока это всё ещё достаточно тёмная лошадка.

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

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

А вот всё вместе, вполне вероятно, станет базой для следующего единорога.

Автор: Руслан Назаренко, Head of Growth в Let's Enhance.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Ruslan Nazarenko", "author_type": "self", "tags": ["\u043f\u0440\u043e\u0434\u0443\u043a\u0442"], "comments": 23, "likes": 59, "favorites": 306, "is_advertisement": false, "subsite_label": "marketing", "id": 84131, "is_wide": false, "is_ugc": true, "date": "Sun, 22 Sep 2019 12:51:23 +0300", "is_special": false }
Какая реклама
приносит деньги?
0
{ "id": 84131, "author_id": 4542, "diff_limit": 1000, "urls": {"diff":"\/comments\/84131\/get","add":"\/comments\/84131\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/84131"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199113, "last_count_and_date": null }
23 комментария
Популярные
По порядку
Написать комментарий...
5

Спасибо автору, хорошая статья! хорошо что обзор PMF не закончился методикой Шона Эллиса а пошел дальше :)

Ответить
4

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

Ответить
0

Так может лесом этот опросник тогда.

Ответить
1

Я на это смотрю как на low-effort и low-impact штуку. Ее можно засетапить через рассыльщик автоматически и пусть себе собирается. 

Ответить
1

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

Что можете посоветовать по поводу нахождения PMF у продуктов, которых еще нет, даже в виде MVP? Есть такое расхожее мнение, что 90% стартапов проваливается, часть из них наверняка потому, что делали продукт для людей, которых не существует и закрытия потребности, которой нет.

Например, считаю, что VR в нынешнем виде никогда не взлетит до интересных объемов рынка. Для того, чтоб такое мнение составить, мне не нужно смотреть на график ретеншена продукта. А что по поводу новых продуктов?

Ответить
3

PMF он по определению про поздние стадии. 

Если продукта нет, то до PMF идут два других фита: 

Problem fit - подтверждается через интерьюхи. Твердое "да" тут можно ставить только если человек тратил деньги или потратил существенное количество времени на решение проблемы. 

Solution  fit - когда появилась MVP и в ней уже есть 1-10 пользователей, которые активно юзают продукт и (важно) решают свои проблемы с его помощью. 

Так-то да, одна из основных проблем смерти - нет рынка. И тут как раз вот problem fit вместе с классикой Customer development или JTBD подходом могут спасти

Ответить
0

Мысль понял, спасибо.

Про А-сегмент будет статья? :)

Ответить
0

Полезная статья, спасибо автору. 

Волнует продолжение вопроса с retention - если на рынок (при условно фиксированном спросе в натуральном выражении), какой retention будет нормальным? И есть ли кейсы последующей нормализации retention rate?

Поясню, на рынок входят похожие продукты что приводят к тому, что игроки для customer acquisition начинают использовать всякие промо (вроде ваучеров и промо кодов), что в итоге сделало retention на рынке от 30% до 35% после первого месяца - что объясняется тем, что пользователи бегают между компаниями которые дают большее промо. Что еще делает LTV : CAC меньше 1 в отдельных случаях.

Ответить
1

Хороший вопрос.

Тут есть пару моментов:

1) Нормальный ретеншен - тот, при котором сходится юнит-экономика, как бы это странно не звучало. Идея в том, что на саму экономику влияет далеко не только ретеншен, а, к примеру, активация. Для того, чтобы определить, что будет нормальным для вас - надо сделать Growth Model (могу в личке в Линкедине/ФБ показать примеры).

2) Если есть акции и т.д. - это не оправдание плохого ретеншена. В конечном итоге, демпинг рано или поздно закончиться и стоит думать про бренд и качество продукта.

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

Ответить
0

Непривычно мало срача в комментах :) 

Ответить
0

Ща, погоди, выходные закончатся xD 

Ответить
1

так школа ж начнется)))

Ответить
0

Спасибо, отличная статья!

Сам всегда считал Lifetime через 1/Churn - попробую указанную выше формулу.

P.S. Плато ретеншн в 50% как на скрине - это конечно мечты. 15-20% ретешн 30го дня будет за счастье

Ответить
0

Рад, что понравилась!

Ребята с Reforge говорят, что 60% - новый золотой стандарт :) 

На самом деле, 15-20%  - это вполне окей, чтобы строить продукт, но в статьей идет скорее ориентир на продукты типа Notion, Superhuman и ко. Крч, те, кто очень быстро растет сейчас

Ответить

Комментарий удален

0

Спасибо, рад, что полезно!

Ответить
0

Отличная статья, спасибо за ссылки на источники!

Ответить

Комментарий удален

0

Спасибо за статью!)

Ответить
0

Лови лайкович!

Ответить
0

Лойс! 👍

Ответить
0

*ошибся веткой*

Ответить
0

Круто и полезно, спасибо автору!

Ответить
0

Хорошая нерекламная статья с небольшим количеством комментариев и лайков) такие дела.

Ответить
0

И реклама чего же? :)

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }