How to calculate Time to Value
Time to value is how long it takes a new user to reach their first meaningful outcome in the product.
Formula
Time to value = timestamp of first value event − signup timestamp (median across users)SQL query
This example assumes: users(id, signed_up_at), events(user_id, occurred_at, event_name). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.
WITH first_value AS (
SELECT user_id, MIN(occurred_at) AS first_at
FROM events
WHERE event_name = 'first_query_run'
GROUP BY user_id
)
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (
ORDER BY EXTRACT(EPOCH FROM (f.first_at - u.signed_up_at)) / 3600) AS median_hours
FROM users u
JOIN first_value f ON f.user_id = u.id;Common mistakes that make Time to Value wrong
- Users who never reach value are missing from the median; report their share alongside it.
- The mean is dominated by users who return months later; use the median.
- Define the value event before measuring, not after.
Ask for Time to Value in plain English
Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.
- What is the median time from signup to first query?
- How many signups never reached the first query?