Per-message timestamps — the paper's Timestamp field — give the corpus a time axis for usage trends and assistant latency. — 4 questions, shown as one
conversation. · × exit demo
round 1 of 4
How many conversations are there per month?
conversations by month
What this shows: conversations over 20 months: it rose from 627 in 2023-05 to 6,862 in 2024-12, peaking at 6,862 in 2024-12.
Conversation-level timestamps turn the corpus into a usage time series.
20 row(s) · 0.117s on the full corpus
compiled SQL (read-only, parameterized)
SELECT grp, COUNT(*) AS value, COUNT(*) AS n
FROM (
SELECT substr(cs.created_day, 1, 7) AS grp,
c.id AS cid,
c.n_messages AS n_messages, c.turns_count AS turns_count,
cs.has_thinking AS has_thinking, cs.has_code AS has_code,
cs.has_links AS has_links, cs.is_complete AS is_complete
FROM conversations c
LEFT JOIN conv_signals cs ON cs.conversation_id = c.id
WHERE 1=1 AND substr(cs.created_day, 1, 7) IS NOT NULL
) t
GROUP BY grp
ORDER BY grp
LIMIT 20
-- params: []
How fast does the assistant respond, per platform?
avg assistant response time (seconds) by platform
grok28.93
What this shows: Each bar is one platform; the value is avg assistant response time (seconds). grok is highest at 28.93 across 1 groups.
Platforms with per-message timestamps (GPT, Grok) expose the user→assistant gap directly.
1 row(s) · 3.588s on the full corpus
compiled SQL (read-only, parameterized)
WITH base AS (
SELECT c.platform AS grp,
m.role, m.created_at,
LAG(m.created_at) OVER (
PARTITION BY m.conversation_id
ORDER BY m.message_index) AS prev
FROM messages m
JOIN conversations c ON c.id = m.conversation_id
LEFT JOIN conv_signals cs ON cs.conversation_id = c.id
WHERE 1=1
), d AS (
SELECT grp, (julianday(created_at) - julianday(prev)) * 86400 AS dt
FROM base
WHERE role = 'llm' AND created_at IS NOT NULL AND prev IS NOT NULL
)
SELECT grp, AVG(dt) AS value, COUNT(*) AS n
FROM d
WHERE dt > 0 AND dt < 3600 AND grp IS NOT NULL
GROUP BY grp
ORDER BY value DESC
LIMIT 20
-- params: []
What this shows: avg assistant response time (seconds) over 11 months: it rose from 1.03 in 2024-12 to 143.74 in 2025-10, peaking at 143.74 in 2025-10.
Latency as a trend — model releases and load show up here.
11 row(s) · 4.21s on the full corpus
compiled SQL (read-only, parameterized)
WITH base AS (
SELECT substr(cs.created_day, 1, 7) AS grp,
m.role, m.created_at,
LAG(m.created_at) OVER (
PARTITION BY m.conversation_id
ORDER BY m.message_index) AS prev
FROM messages m
JOIN conversations c ON c.id = m.conversation_id
LEFT JOIN conv_signals cs ON cs.conversation_id = c.id
WHERE 1=1
), d AS (
SELECT grp, (julianday(created_at) - julianday(prev)) * 86400 AS dt
FROM base
WHERE role = 'llm' AND created_at IS NOT NULL AND prev IS NOT NULL
)
SELECT grp, AVG(dt) AS value, COUNT(*) AS n
FROM d
WHERE dt > 0 AND dt < 3600 AND grp IS NOT NULL
GROUP BY grp
ORDER BY grp
LIMIT 20
-- params: []
What this shows: Each bar is one model; the value is conversations. ASSISTANT is highest at 11,490; grok-v-latest is lowest at 63 (182.4× spread) across 20 groups. Scope: date_from = 2025-01-01.
Timestamps let you slice the corpus around model release dates.
20 row(s) · 0.063s on the full corpus
compiled SQL (read-only, parameterized)
SELECT grp, COUNT(*) AS value, COUNT(*) AS n
FROM (
SELECT c.model AS grp,
c.id AS cid,
c.n_messages AS n_messages, c.turns_count AS turns_count,
cs.has_thinking AS has_thinking, cs.has_code AS has_code,
cs.has_links AS has_links, cs.is_complete AS is_complete
FROM conversations c
LEFT JOIN conv_signals cs ON cs.conversation_id = c.id
WHERE cs.created_day >= ? AND c.model IS NOT NULL
) t
GROUP BY grp
ORDER BY value DESC
LIMIT 20
-- params: ['2025-01-01']