Что такое 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()

Читайте также

FAQ

TTV в часах или днях?

Зависит от продукта. Consumer app — в минутах. B2B — в часах/днях.

Что считать «value»?

Конкретное действие, после которого retention явно выше. Определить через анализ когорт.

Можно ли снизить TTV до 0?

Нет. Но можно до секунд (TikTok).

TTV для existing users тоже?

Нет, это для новых. Для existing — time to next value.