Что такое Time to Value (TTV)?
Сколько минут/часов/дней проходит от регистрации до момента, когда юзер получил реальную пользу.
Формула
TTV = median(time_value_event - time_signup) across new usersКак считать
Определяем «value event» (например, получил первый ответ в чате, сохранил первый отчёт). Считаем median duration signup → value event.
Зачем нужна
Лучше чем Activation — даёт масштаб проблемы. TTV 2 дня vs TTV 10 минут — огромная разница для retention и conversion в paid.
SQL-запрос
WITH ttv AS (
SELECT
u.user_id,
u.created_at AS signup_at,
MIN(e.event_time) FILTER (WHERE e.event_name = 'first_report_saved') AS value_at
FROM users u
LEFT JOIN events e USING (user_id)
WHERE u.created_at >= CURRENT_DATE - INTERVAL '60 day'
GROUP BY u.user_id, u.created_at
)
SELECT
COUNT(*) FILTER (WHERE value_at IS NOT NULL) AS reached_value,
ROUND(
EXTRACT(EPOCH FROM PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY value_at - signup_at)) / 3600,
2
) AS ttv_median_hours,
ROUND(
EXTRACT(EPOCH FROM PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY value_at - signup_at)) / 3600,
2
) AS ttv_p90_hours
FROM ttv
WHERE value_at IS NOT NULL;