Что такое Time to Value (TTV)
Коротко
Time to Value (TTV) — время от регистрации пользователя до получения первой реальной ценности от продукта.
Короче TTV — больше activation, выше retention.
Простой пример
Slack
- Регистрация.
- Setup team.
- Первое сообщение отправлено.
- Команда отвечает.
- Value: first meaningful conversation.
От регистрации до первой conversation → TTV.
Dropbox
- Регистрация.
- Установка клиента.
- Загрузка файла.
- Доступ с другого устройства.
- Value: доступ к файлам из любого места.
E-commerce
- Регистрация.
- Поиск товара.
- Первая покупка.
- Value: получение товара.
Почему TTV важен
1. Связь с activation
Чем дольше TTV — тем больше пользователей уходит до activation.
2. Связь с retention
Пользователи, которые быстро получили value, лучше удерживаются.
3. Сигнал для onboarding
Длинный TTV → over-complicated onboarding. Сокращайте.
4. Конкурентное преимущество
Продукт с TTV 1 минута бьёт конкурента с TTV 10 минут.
Как измерить
Определить value event
Первое — точно определите, что считается «value». Для Slack это первый обмен сообщениями, для e-commerce — первая покупка.
Формула
TTV_user = timestamp_of_value_event - timestamp_of_registrationВ SQL
WITH first_value AS (
SELECT user_id, MIN(event_time) AS value_time
FROM events
WHERE event_name = 'first_meaningful_action'
GROUP BY user_id
)
SELECT
PERCENTILE_CONT(0.5) WITHIN GROUP (
ORDER BY EXTRACT(EPOCH FROM (fv.value_time - u.registered_at)) / 60
) AS median_ttv_minutes,
AVG(EXTRACT(EPOCH FROM (fv.value_time - u.registered_at)) / 60) AS avg_ttv_minutes
FROM users u
JOIN first_value fv USING (user_id);Единицы
- B2B SaaS: минуты / часы / дни.
- Consumer apps: секунды / минуты.
- E-commerce: часы / дни (до первой покупки).
Больше таких примеров с разборами — в Telegram-тренажёре. Короткие сессии, прогресс по темам, объяснения после каждого ответа.
Median или average
Median лучше, потому что:
- Outliers (пользователи через 180 дней впервые купили) искажают mean.
- Median показывает типичного пользователя.
Показывайте также:
- p10 — быстрые (уже прошли).
- p90 — медленные (кто-то, но долго).
Визуализация
Distribution
import seaborn as sns
sns.histplot(ttv_minutes, bins=50)
plt.axvline(ttv_minutes.median(), color='red', label='Median')Распределение обычно right-skewed.
Cumulative
import matplotlib.pyplot as plt
import numpy as np
sorted_ttv = np.sort(ttv_minutes)
cumulative = np.arange(1, len(sorted_ttv) + 1) / len(sorted_ttv)
plt.plot(sorted_ttv, cumulative)
plt.xlabel('Minutes to value')
plt.ylabel('% users')«Какой % пользователей получает value в первые X минут».
Что сокращает TTV
1. Pre-filled onboarding
- Dropbox: sample file уже есть.
- LinkedIn: suggested connections.
- Slack: sample messages от бота.
Пользователь не начинает «с нуля».
2. Минимум friction
Меньше шагов → быстрее.
3. Smart defaults
Разумные настройки по умолчанию, чтобы сразу пойти работать.
4. Fast loading
Секунды загрузки — тоже TTV.
5. Guided tour
Ведёт пользователя прямо к value.
6. Social proof
«10 друзей уже на платформе» → мотивирует быстрее совершить action.
Сегментация TTV
По каналу
Channels могут иметь разный TTV:
- Organic: 5 min (высокий intent).
- Paid: 15 min (ниже intent).
По платформе
- Desktop: 3 min.
- Mobile: 1 min (удобнее для быстрых actions).
По сегменту
- Power users: 1 min.
- Casual: 30 min.
Смотрите распределение, оптимизируйте где долго.
Бенчмарки (примерно)
- Messengers: < 1 min.
- Social media: 1–5 min.
- SaaS consumer: 5–30 min.
- SaaS B2B: часы — 1 день.
- Ecommerce (до первой покупки): 1–7 дней.
- B2B enterprise: недели.
Если готовишься к собесу — бот @kariernik_bot закрывает 80% технических вопросов. SQL, Python, A/B, продуктовые метрики — всё в одном месте.
A/B-тесты для TTV
Хорошие тесты:
- Упрощение onboarding (от 5 шагов к 2).
- Pre-filled данные.
- Быстрая регистрация (social login).
- Guided tour on / off.
Метрика: median TTV + % reached value in N minutes.
TTV vs Activation
- Activation — доля users, которые достигли value.
- TTV — время до value.
Связаны: короче TTV → выше activation rate.
Оба важны:
- Activation 80% но TTV 30 минут — долго, многие уходят.
- TTV 1 минута но activation 30% — быстро, но мало кому value интересен.
Пример полного анализа
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_sql("""
SELECT u.user_id, u.channel, u.platform,
EXTRACT(EPOCH FROM (fv.value_time - u.registered_at)) / 60 AS ttv_min
FROM users u
JOIN first_value fv USING (user_id)
WHERE u.registered_at >= '2026-01-01'
""", conn)
# Базовые метрики
print(df['ttv_min'].describe())
# Сегменты
print(df.groupby('channel')['ttv_min'].median())
# Динамика
df['registered_week'] = df['registered_at'].dt.to_period('W')
weekly_ttv = df.groupby('registered_week')['ttv_min'].median()
weekly_ttv.plot()Читайте также
- Что такое activation
- Что такое engagement rate
- Метрики продукта
- Воронка конверсии
- AARRR пиратские метрики
FAQ
TTV в часах или днях?
Зависит от продукта. Consumer app — в минутах. B2B — в часах/днях.
Что считать «value»?
Конкретное действие, после которого retention явно выше. Определить через анализ когорт.
Можно ли снизить TTV до 0?
Нет. Но можно до секунд (TikTok).
TTV для existing users тоже?
Нет, это для новых. Для existing — time to next value.