chatviz ✦ analyze
paper demo · ShareChat (arXiv:2512.17843)

Conversation completeness

Does a dialogue end resolved, or on a dangling user message? A measurable proxy for the paper's completeness analysis of multi-turn chat. — 5 questions, shown as one conversation. · × exit demo
round 1 of 5
What share of conversations end with an assistant reply?

% of conversations ending with an assistant reply

% of conversations ending with an assistant replyn
98.57129,584
What this shows: One overall figure: % of conversations ending with an assistant reply is 98.57%, computed over 129,584 rows. A conversation whose last message is the user's never got — or never captured — an answer; ending on the assistant is our completeness proxy.
1 row(s) · 0.042s on the full corpus
compiled SQL (read-only, parameterized)
SELECT AVG(t.is_complete) * 100.0 AS value, COUNT(*) AS n
FROM (
    SELECT 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
) t

-- params: []
open this round in the analyzer ⎘
round 2 of 5
Does completeness drop as conversations get longer?

% of conversations ending with an assistant reply by turn_bucket

1-2 98.77
3-5 97.67
6-10 99.10
11-20 98.57
21+ 98.38
What this shows: Each bar is one turn_bucket; the value is % of conversations ending with an assistant reply. 6-10 is highest at 99.10%; 3-5 is lowest at 97.67% across 5 groups. The paper's multi-turn angle: deeper dialogues risk more abandonment.
5 row(s) · 0.122s on the full corpus
compiled SQL (read-only, parameterized)
SELECT grp, AVG(t.is_complete) * 100.0 AS value, COUNT(*) AS n
FROM (
    SELECT CASE
    WHEN c.n_messages <= 2  THEN '1-2'
    WHEN c.n_messages <= 5  THEN '3-5'
    WHEN c.n_messages <= 10 THEN '6-10'
    WHEN c.n_messages <= 20 THEN '11-20'
    ELSE '21+' END 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 CASE
    WHEN c.n_messages <= 2  THEN '1-2'
    WHEN c.n_messages <= 5  THEN '3-5'
    WHEN c.n_messages <= 10 THEN '6-10'
    WHEN c.n_messages <= 20 THEN '11-20'
    ELSE '21+' END IS NOT NULL
) t
GROUP BY grp
ORDER BY CASE grp WHEN '1-2' THEN 1 WHEN '3-5' THEN 2 WHEN '6-10' THEN 3 WHEN '11-20' THEN 4 ELSE 5 END
LIMIT 20

-- params: []
open this round in the analyzer ⎘
round 3 of 5
Which platform leaves the most conversations hanging?

% of conversations ending with an assistant reply by platform

claude 100
gemini 100
perplexity 99.97
grok 99.51
chatgpt 98.11
What this shows: Each bar is one platform; the value is % of conversations ending with an assistant reply. claude is highest at 100%; chatgpt is lowest at 98.11% across 5 groups. Interfaces and sharing flows differ by platform, and so does completeness.
5 row(s) · 0.059s on the full corpus
compiled SQL (read-only, parameterized)
SELECT grp, AVG(t.is_complete) * 100.0 AS value, COUNT(*) AS n
FROM (
    SELECT c.platform 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 c.platform IS NOT NULL
) t
GROUP BY grp
ORDER BY value DESC
LIMIT 20

-- params: []
open this round in the analyzer ⎘
round 4 of 5
How long are the incomplete conversations?

avg messages per conversation

avg messages per conversationn
11.471,850
What this shows: One overall figure: avg messages per conversation is 11.47, computed over 1,850 rows. Scope: complete = false. filters.complete = false isolates the abandoned dialogues for closer study.
1 row(s) · 0.008s on the full corpus
compiled SQL (read-only, parameterized)
SELECT AVG(t.n_messages) AS value, COUNT(*) AS n
FROM (
    SELECT 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.is_complete = ?
) t

-- params: [0]
open this round in the analyzer ⎘
round 5 of 5
Do abandoned conversations cluster in particular topics?

conversations by topic

create_an_image 964
specific_info 606
other 543
unclear 330
write_fiction 302
greetings_and_chitchat 190
edit_or_critique_provided_text 169
tutoring_or_teaching 161
analyze_an_image 153
mathematical_calculation 141
computer_programming 110
argument_or_summary_generation 94
relationships_and_personal_reflection 83
personal_writing_or_communication 75
data_analysis 67
translation 60
how_to_advice 57
health_fitness_beauty_or_self_care 43
purchasable_products 35
asking_about_the_model 31
What this shows: Each bar is one topic; the value is conversations. create_an_image is highest at 964; asking_about_the_model is lowest at 31 (31.1× spread) across 20 groups. Scope: complete = false. Final round: where do users walk away mid-conversation?
20 row(s) · 1.657s on the full corpus
compiled SQL (read-only, parameterized)
SELECT grp, COUNT(*) AS value, COUNT(*) AS n
FROM (
    SELECT DISTINCT m.topic 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 messages m
    JOIN conversations c ON c.id = m.conversation_id
LEFT JOIN conv_signals cs ON cs.conversation_id = c.id
    WHERE cs.is_complete = ? AND m.topic IS NOT NULL
) t
GROUP BY grp
ORDER BY value DESC
LIMIT 20

-- params: [0]
open this round in the analyzer ⎘
end of the walkthrough That was “conversation completeness” in 5 rounds. try your own question → · source links demo · timestamps demo