Метрики
Представь, что в твой продукт пришли 2505 пользователей в течение недели. За рекламу мы заплатили $3912, а эти пользователи нам принесли $4912 выручки.
Нам надо разобраться, насколько все здорово.
Сначала посчитаем, сколько мы тратим на привлечение одного пользователя. Для этого нужно затраты на рекламу поделить на количество пришедших пользователей:
$3912 / $2505 = $1.56
Теперь давай посчитаем, сколько мы зарабатываем с одного пользователя. Для этого нужно общие доходы с когорты поделить на количество пришедших пользователей:
$4912 / $2505 = $1.96
Мы только что посчитали ARPU и CPU:
— ARPU (Average Revenue Per User) — средняя выручка полученная с одного пользователя.
— CPU (Cost Per User) — средние затраты на привлечение одного пользователя.
Но мы до сих пор не понимаем, насколько наш продукт прибыльный. Для этого удобно использовать метрику ROI (Return On Investments) — возврат инвестиций, вложенных в маркетинг и привлечение пользователей. Эта метрика показывает, насколько эффективно мы привлекаем пользователей и конвертируем их в прибыль. Иногда эту метрику еще называют ROMI (Return on Marketing Investments).
Формула выглядит так:
ROI = ((Revenue – Cost) / Cost) * 100%
В нашем случае ROI равняется 25.6%
($4912 – $3912) / $3912 = 25.6%
ARPU и ROI помогают оценить прибыльность продукта. Но метрики не говорят о причинах явлений и не позволяют строить гипотезы, которые могли бы помочь вырастить продукт в десятки раз. Для этого нам пригодится воронка, которая разложит продукт на конкретные этапы, каждый из которых мы отдельно можем анализировать и строить гипотезы роста.
Метрики на каждом этапе воронки
Мы уже понимаем, что в цифровых продуктах основная статья расходов идет на маркетинг, а основная статья доходов — это доходы с пользователей продукта.
Сегодня конкуренция на рынке IT-продуктов настолько велика, что пользователи уже давно не приходят в продукт «просто так». Для того чтобы даже о самом лучшем продукте с самой высокой ценностью узнали пользователи, нужно потратить время и деньги на продвижение. А чтобы понимать, насколько эффективно мы привлекаем пользователей, нужно четко измерять каждый миллиметр маркетинговой деятельности.
Классическая воронка, по которой идет пользователь, выглядит так:
Рассмотрим подробнее метрики на каждом этапе.
Awareness
Цель этого этапа — привести пользователя на лендинг, сайт или страницу мобильного приложения.
Ключевая метрика на этом этапе — CTR (Click-Through Rate). Это отношение количества показов рекламы (упоминаний продукта) к количеству кликов.
CTR = Clicks / Impressions,
где Clicks (Traffic) — количество пользователей, которых заинтересовала идея и ценности нашего продукта,
Impressions — количество показов рекламного сообщения или упоминания продукта в других источниках, к примеру, СМИ.
Чаще всего CTR считают в рекламе. Но своеобразный CTR есть даже в виральном (реферальном) маркетинге: сколько новых пользователей придет в твой продукт по рекомендациям своих друзей (рассчитывается как отношение показов предложения зарефералить пользователя к количеству кликов по этому предложению). Это важно понимать, чтобы не смотреть на продукт только в разрезе привлечения пользователей с рекламы, а и считать метрики воронки по другим каналам привлечения пользователей.
Consideration
Когда пользователь пришел на лендинг, нужно побудить его совершить целевое действие — например, зарегистрироваться на сайте или скачать приложение.
Ключевые метрики на этом этапе:
— количество установок (для приложения), регистраций (для сайта), добавленных в корзину товаров (для e-commerce);
— Conversion Rate (CR) — конверсия из просмотра лендинга в целевое действие (регистрацию и прочее);
— CPI (Cost per Install) — цена за установку;
— CPL (Cost per Lead) — цена за лид (это может быть как регистрация, так и добавление товара в корзину).
На этом этапе важно, чтобы рекламное сообщение, лендинг продукта и сам продукт несли единый информационный посыл. Иначе вся цепочка конверсий может неконтролируемо нарушаться.
Например, маркетолог может изменить позиционирование продукта в маркетинге и «продавать» фичи, которых в продукте нет. Как следствие, пользователи будут ожидать внутри продукта одну ценность, а по факту получат другую. В результате маркетолог улучшит свои метрики, но понизит метрики продукта. Поэтому команде важно синхронизироваться и доносить пользователям одну и ту самую ценность. А задача синхронизации лежит как раз на менеджере по продукту.
Conversion
На этом этапе нужно показать пользователю, что он нуждается в нашем продукте. То есть наш продукт за счет своей ценности сможет максимально эффективно удовлетворить потребности пользователя.
Для этого можно:
— разработать онбординг — набор шагов, который познакомит пользователя с фичами продукта;
— предоставить бесплатный триал — пробный период, во время которого пользователь может попробовать все фичи из премиум-версии продукта;
— провести демо продукта — показать его потенциальным пользователям до продажи (актуально для b2b-продуктов или дорогого b2c).
Ключевые метрики на этом этапе:
— количество пройденных онбордингов, триалов или завершенных демо;
— конверсия из установки в пройденный онбординг, триал или демо;
— CPA (Cost Per Action) — цена за пользователя, который прошел онбординг, взял триал или захотел купить продукт после демо.
Retention
Наша задача на этом этапе — конвертировать пользователя в постоянного клиента. Другими словами, сделать так, чтобы пользователь как можно чаще возвращался в продукт и совершал то целевое действие, которое мы от него ожидаем.
Ключевые метрики на этом этапе:
— количество покупок, подписок или просмотренного контента;
— конверсия пользователей из онбординга или триала в покупку;
— конверсия пользователей из онбординга или триала в Aha Moment.
Loyalty
На этом этапе пользователь уже лоялен к продукту и знает о его ценности. Теперь нам важно его удержать на максимально длинное время, а также стимулировать его привести в продукт друзей.
Ключевые метрики на этом этапе:
— суммарное количество платежей одного пользователя;
— количество активных пользователей (например, таких, которые совершили столько-то покупок или прошли Aha Moment — каждый бизнес выбирает определение исходя из своих целей);
— среднее количество человек, которых активный пользователь пригласил в продукт;
— ARPU (Average Revenue Per User) — средняя выручка на одного пользователя;
— ARPPU (Average Revenue Per Paid User) — средняя выручка на одного платящего пользователя;
— LTV (Lifetime Value) — совокупный доход, который компания получила от одного клиента за все время использования продукта.
Метрик очень много. Но есть одна метрика, о которой думают практически все. Самые умные продакт-менеджеры ломают голову, как ее улучшить. Она — причина провала тысяч стартапов и одновременно причина успеха сотен скейлапов.
А сейчас — выводы!
– ARPU (Average Revenue Per User) — средняя выручка на одного пользователя.
– CPU (Cost Per User) — средние затраты на привлечение одного пользователя.
– ROI = ((Revenues – Investments) / Investments ) * 100%
– Awareness. Цель — привести пользователя на лендинг, сайт или страницу мобильного приложения.
– Consideration. Цель — когда пользователь пришел на лендинг, нужно побудить его совершить целевое действие
– Conversion. Цель – показать пользователю, что он нуждается в нашем продукте
– Retention. Цель — конвертировать пользователя в постоянного клиента
– Loyalty. Цель – удержать пользователя на максимально длинное время.
как правильно считать загрузку CPU?
нубский вопрос 🙂
допустим, есть 8 процессорная машина, на которой крутится мускуль.
по топу видно, что mysqld отжирает в среднем 200-400%.
я правильно понимаю, что :
1.максимальная загрузка может составлять 800% ?
2.верно ли что в случае 8 процов формула подсчета нагрузки за час : CPU_sec/(3600*8) ?
dreamer ★★★★★
25.11.09 19:05:00 MSK
как правильно считать загрузку CPU?
1. верно
2. неверно
BSD-ch
( 25.11.09 19:17:40 MSK )
Ответ на: как правильно считать загрузку CPU? от BSD-ch 25.11.09 19:17:40 MSK
Re: как правильно считать загрузку CPU?
2. почему неверно? CPU_секунды ведь должны считаться от всех процессоров
dreamer ★★★★★
( 25.11.09 20:01:45 MSK ) автор топика
как правильно считать загрузку CPU?
> по топу видно, что mysqld отжирает в среднем 200-400%.
это 25-50%
он суммарно по ядрам считает, у вас 100% человеческих эквивалентны 800% т.е. восьми CPUs.
Коньки запустите и детально увидите по каждому ядру/камню
${cpu cpu1}
${cpu cpu2}
.
${cpu cpu8}
papay ★★★
( 26.11.09 04:41:30 MSK )
Ответ на: как правильно считать загрузку CPU? от papay 26.11.09 04:41:30 MSK
Re: как правильно считать загрузку CPU?
да, с переводом в человеческие 100% понятно.
а вот с переводом из процессорных секунд в проценты — нет.
если процесс за час набрал на 8-процессорной машине допустим 5000 cpu_secs, то как перевести это в проценты ?
dreamer ★★★★★
( 26.11.09 15:28:50 MSK ) автор топика
Ответ на: Re: как правильно считать загрузку CPU? от dreamer 26.11.09 15:28:50 MSK
Re: как правильно считать загрузку CPU?
В /proc/stat есть рядок цифр — там cpu_secs отдельно для системной и юзерской загрузки, idle и ещё что-то. Если всех их вместе сложить, то получится число, которое надо принять за 100%.
Biga ★
( 26.11.09 16:36:49 MSK )
Ответ на: Re: как правильно считать загрузку CPU? от Biga 26.11.09 16:36:49 MSK
Re: как правильно считать загрузку CPU?
спасибо! щас попробую сравнить по этим цифрам
Cpu как считать
Вы собираетесь отправить сообщение о следующей ошибке:
Ник, привет! Мы вчера договорились обсудить мой онбординг. Вот, пишу 🙂
Привет! Да, сейчас расскажу.
По всем документам тебе поможет эйчар Денис. Я хотел тебе дать совет, с чего начать знакомство с продуктом. Попробуй посчитать его Unit-экономику за предыдущий месяц. Это добавит ясности.
К нам пришло 15 000 юзеров, 900 купило базовую подписку, а 600 — премиум. Надо разобраться, можем ли мы работать с такой конверсией.
Советую использовать этот фреймворк. Все метрики формируют дерево, которое отражает доходы и расходы.
Как посчитаешь — сразу поймешь, где в продукте есть проблемы.
Спасибо, Ник! Это точно будет полезно.
Отлично. Если будут вопросы — пиши
Дерево метрик — удобный фреймворк, чтобы быстро понять ключевые метрики продукта. Оно состоит из продуктовых метрик, которые показывают, насколько продукт умеет зарабатывать деньги, и маркетинговых метрик, которые показывают, насколько команда умеет привлекать пользователей в продукт.
Мы разберем каждую метрику, чтобы вы понимали ее суть, особенности и взаимосвязь с остальными показателями. Сначала продуктовые, потом — маркетинговые. В конце статьи посчитаем бизнес-метрики первого уровня.
Гайд по лучшим статьям skillsetter
В нашем блоге уже больше 150 статей про рост продуктов и карьеру в IT. Для удобной навигации мы объединили их в тематические подборки.
Продуктовые метрики Unit-экономики
Они показывают, насколько успешен продукт у пользователей. Через них мы измеряем, сколько пользователей покупает продукт, как долго они остаются в продукте и сколько мы зарабатываем суммарно с каждого. Начнем с Lifetime.
Lifetime — что это такое
Lifetime показывает среднее количество времени, в течение которого клиент активно использует продукт. В играх эта метрика может ограничиться двумя неделями, а в социальных продуктах — годами.
Зная этот показатель, можно предугадать, когда человек решит покинуть продукт, и предложить ему что-то для удержания: скидку, реферальную программу, новый продукт. Это важно делать, потому что привлечение новых клиентов обходится в 5 раз дороже, чем удержание существующих.
Ник не говорил о Lifetime пользователей Wallet Keeper, поэтому вы пишете Эмме, аналитику.
Эмма, привет! Я разбираюсь с юнит-экономикой продукта сейчас. Подскажи, пожалуйста, как мне определить Lifetime пользователей?
Привет! Для нашего продукта Lifetime будет 8 месяцев. Обычно эту метрику рассчитываю я, но потом и тебя научу.
И не забудь, что Lifetime связана с Churn Rate. Чем больше отток, тем меньше Lifetime продукта.
Мы узнали, сколько составляет Lifetime нашего продукта. Как правильно заметила Эмма, на него влияет Churn Rate.
Churn Rate показывает процент пользователей, которые перестали пользоваться продуктом. Например, если Churn Rate подписки за прошлый месяц составил 5%, это значит, что 5% пользователей перестали за нее платить.
Как повысить Lifetime пользователей:
— Улучшите User Experience. Наличие багов или долгий ответ службы поддержки точно не заставят пользователя снова открыть приложение. Чтобы минимизировать потери, разберитесь с UX-копирайтингом.
— Создавайте контент, который возвращает пользователей в продукт. Это могут быть how-to статьи, case study и даже собственные исследования. Пользователи должны видеть, как они могут получить максимум от вашего продукта.
— Разберитесь с продуктовым долгом. В бэклоге всегда есть фичи, которые отложили после приоритизации. Раз в несколько месяцев разгружайте продуктовый долг, чтобы повысить Customer Happiness.
Conversion — что это такое
Conversion — это процент пользователей, которые совершили целевое действие в продукте. Для Wallet Keeper целевым действием будет первая покупка ежемесячной подписки.
От Ника мы знаем, что в сентябрьской когорте было 15000 пользователей, из них 1500 купили платную подписку:
Conversion = 1500 / 15 000 = 10%
Пока мы не можем судить о том, подходит ли нам такой уровень конверсии. Unit-экономика продукта может быть одновременно успешной при 5% конверсии и провальной при 80% конверсии. Чтобы узнать это, нужно посчитать все показатели.
Как повысить Conversion:
— Используйте когнитивные искажения. Например, эффект приманки подтолкнет пользователей на покупку конкретного продукта. Иллюзия персонализации также поможет повысить конверсию. О том, как использовать когнитивные искажения в маркетинге продукта, читайте в нашей статье.
— Правильно размещайте текст на экране оплаты. Пользователи не «читают», а смотрят на текст по паттерну в виде буквы “F”. Формат текстов должен приковывать внимание читателя, поэтому всю важную информацию лучше сместить в начало.
— Используйте ретаргетинг. По статистике, 25% пользователей забывают о приложении после первого использования. Цель ретаргетинга — вернуть временно неактивного пользователя в приложение.
Задание
Потренируемся. Вам нужно повысить конверсию в покупку для Wallet Keeper. У вас есть несколько гипотез, как это сделать. Какая из них не повлияет на конверсию в покупку?
Average Price — что это такое
Average Price — это средний чек в когорте. Цена должна быть достаточно высокой, чтобы покрыть операционные расходы, и в то же время адекватной для пользователей, чтобы они хотели платить.
Цена зависит от трех факторов:
- Сколько юзер готов заплатить за продукт
- Какую минимальную цену готова назначить компания
- Какая цена позволит продукту остаться конкурентоспособным
Кевин Хейл, партнер в Y Combinator, рекомендует стартапам назначать цену на продукты по схеме ниже.
Промежуток между стоимостью и ценой — это маржа компании. Чем больше промежуток, тем больше желания и мотивации у отдела продаж продавать продукт.
Промежуток между ценой и ценностью — это маржа пользователя. Чем больше ценности в продукте, тем у пользователей больше желания его покупать.
Поняв свои затраты и среднюю ценность на рынке, вы сможете выбрать изначальную стоимость, и это позволит Unit-экономике сойтись. Дальше нужно экспериментировать, чтобы найти оптимальную точку на этом графике.
Вернемся к Wallet Keeper. Мы знаем, что из 1500 платящих пользователей 900 купили базовую подписку ($5) и 600 — премиум ($10). Вот чему равен средний чек.
Average Price = (900 × $5 + 600 × $10) / 1500 = $7
Мы делим на 1500, потому что нам интересен средний чек только платящих пользователей.
Как повысить Average Price:
— Адаптируйте ценовую политику для каждого региона. Покупательская способность различается в разных странах, как и цена, которую готовы платить потенциальные активные пользователи. С такой тактикой можно повысить доход с каждого клиента до 30%.
— Повышайте цены. В некоторых индустриях (образование, украшения, b2b сервисы) люди лучше воспринимают продукты, которые стоят дороже. Это еще одно когнитивное искажение «дороже — лучше».
— Покажите цену в ежедневном эквиваленте. Премиум тариф Wallet Keeper стоит 10$ в месяц, но клиенту можно наглядно показать, что он платит 0.3$ в день. Еще один вариант — указать цену в формате чашки кофе, чтобы провести параллель с небольшими тратами.
Мы знаем Lifetime, Conversion в покупку и Average Price когорты. Теперь можно рассчитать ARPU.
Выбираем IaaS: что такое vCPU, и сколько ядер вам нужно
От виртуальных процессоров во многом зависит производительность облачной инфраструктуры. Что такое vCPU, как рассчитать количество процессоров под конкретный проект, и в чем отличие от физических CPUs — рассказал Сергей Афанасьев, тимлид команды Compute в Selectel.
Что такое vCPU и какова его производительность
vCPU — это виртуальный процессор, который «отрезает» гипервизор от физического CPU при создании виртуальных машин (ВМ). vCPU содержит минимум одно ядро.
От количества ядер виртуального процессора зависит количество потоков, которыми может оперировать приложение, а следовательно — его возможности.
Гипервизор наряду с другими ресурсами может нарезать vCPU и отдавать его виртуальным машинам. Основная задача — правильно распределить время физических CPU между vCPU.
Чтобы собралась полная картина, сейчас необходимо ввести еще пару терминов.
Начнем с определения ядер. Ядра — это самостоятельные вычислительные блоки в архитектуре процессоров. Основная проблема ядер в том, что они выполняют команды последовательно. Если нагрузить одно ядро несколькими последовательностями задач, оно будет переключаться между ними по завершению каждой, что негативно повлияет на скорость работы системы.
Еще важно знать про потоки обработки. Этим термином называют выделенную область внутри физического ядра процессора. Ресурсы ядра разделяются по потокам. Это позволяет обрабатывать параллельно несколько последовательностей команд.
На уровне операционной системы каждый поток воспринимается как отдельный вычислительный центр, поэтому такая модель использования ресурсов ядра обладает большей скоростью вычислений.
Сам факт такого деления возможен, потому что даже самые интенсивные задачи не используют 100% ЦП все время. По этой причине vCPU иногда рассматривают не как отдельный процессор, а как часть времени, проведенного в ядре процессора.
Сколько vCPU выбрать в зависимости от проекта
Оценить производительность vCPU можно на примере параметра CPU Usage. Он как раз показывает процент использования CPU за заданный период времени. Если ядра виртуальной машины стабильно нагружаются до 80% и выше, то такие показатели говорят о том, что она близка или находится на пике своей нагрузки. В таком случае можно посоветовать увеличить количество vCPU или же мигрировать ВМ на сервер с более производительными процессорами. Второй путь сложнее, поскольку не каждый провайдер может предоставить подходящую конфигурацию.
Важно понимать, что ядра виртуальной машины не должны нагружаться до своего пика, всегда должен быть запас (в 40-50%). В противном случае виртуальная машина может не справиться с поступающей на нее нагрузкой, которая может внезапно резко возрасти.
Для расчета правильного количества vCPU для проекта нет единой формулы — это число обычно выявляется эмпирическим путем. Для этого нужно знать характер задач приложения.
Например, в случае с интернет-магазином нагрузка прямо пропорциональна количеству активных пользователей: чем их больше, тем выше нагрузка. Вряд ли на старте в один момент у него окажется 10000 пользователей, которые обеспечат высокую нагрузку. Поэтому вкладываться заранее в ресурсы неэффективно. Масштабироваться следует постепенно, в зависимости от фактической нагрузки на сайт или приложение. Важно, чтобы со стороны провайдера этот процесс был выстроен максимально комфортно: панель управления интуитивно понятна, поддержка работает 24/7.
Можно подключить системы мониторинга для отслеживания показателей виртуальной машины, нагрузки в частности. Такой подход поможет оперативно реагировать на резко возрастающую нагрузку и не дать « захлебнуться » приложению от нее. В период маркетинговых активностей и праздников присматривать за системой следует плотнее.
Стоит также обратить внимание на параметр CPU Steal Time. Он показывает время, в течение которого виртуальная машина должна была получать ресурсы от хостовой ОС, но что-то пошло не так, и по итогу они не были получены. А значит и вычисления ВМ также не были выполнены. Нормой для этого параметра считаются значения не более 5-10%.
Причин возникновения steal может быть несколько: одна из них — высокая загруженность хоста виртуализации. Это может быть спровоцировано системными задачами хоста или же большим количеством других виртуальных машин, которые тоже его нагружают. В таком случае увеличение количества vCPU никак не поможет в решении этой проблемы, от этого ВМ никак не станет производительнее.
В большинстве случаев это решается на стороне облачного провайдера, например, изменением значения параметра переподписки (vCPU:pCPU) или же уменьшением количества виртуальных машин на этом хосте. Обычно облачные провайдеры следят за этим и стараются не допускать превышения допустимого порога значений.
Можно ли управлять количеством и производительностью vCPU в виртуальной машине
На начальном этапе даже базовая конфигурация ВМ может быть избыточна, а платить за неиспользуемые ресурсы — сомнительное удовольствие. В этих случаях отлично работает нарезка ядер на доли для рабочих ВМ.
Часть настроек, связанных с ресурсами ВМ, находится на стороне провайдера, поэтому изменить их можно только по запросу. Впрочем, обычно это не занимает много времени.
С облачными серверами Shared Line ситуация намного проще. В этой линейке можно выбрать любую производительность ядра: 10%, 20% или 50% в зависимости от задач и не платить за остальное. Если остальные ресурсы ядра доступны, то производительность увеличивается вплоть до 100% без каких-либо доплат. Этого вполне хватает для поддержки dev-сред, хостинга простых сайтов, чат-ботов/Telegram-ботов или квизов.
Если оставшуюся часть сервера никто в этот момент не использует — производительность может доходить до 100%.
Главное, что следует учитывать при распределении vCPU — историю наблюдений и фактор сезонности, а также маркетинговые активности (например, можно зарезервировать ресурсы перед началом распродажи).
Возможно, в какие-то месяцы количество пользователей резко увеличивается, поэтому следует предоставить им должный уровень сервиса и выделить достаточно ресурсов.