Mode C: Batch analytics report

Source: Discord Ticket Transcripts/Drive2/

Computed: From transcript HTML (metadata + decoded base64 message payloads).

Guide: Part 1 Analysis (Transcript analytics schemas, Broccolini support section).

Tool: scripts/batch_transcript_analytics.py

Analytics below are per‑ticket and aggregate across 722 transcripts. Dimensions that require full Mode A extraction (issue categories, tags, wiki success/failure, intake gaps, frequency/impact, resolution status, email forgotten/misspelled) are noted; tables use parser-derived data where available.

1. Volume and scope

MetricValue
Total tickets722
Transcripts with parse errors0
Tickets with "Ticket closed" / "Transcript saving" in payload722 (100%)
Tickets with claimed channel name (staff claimed)671 (93%)
Tickets with escalation mentioned in text1

Narrative: The Drive2 batch is fully parseable. Virtually all tickets show a close/saving event; 93% have a claimed channel, indicating most tickets were claimed by staff before closure. Escalations are rare in this set.


2. Game detection and game_or_server (heuristic)

From decoded form + messages: text buffer scanned for canonical game names and aliases (Part 1 Analysis §5). game_or_server routing buckets would require Mode A (Valheim | Rust main | MC modded | MC vanilla | Other).

game_detected (heuristic)Count%
Project Zomboid25735.6
Minecraft17924.8
Satisfactory7910.9
Palworld466.4
Not Mentioned456.2
Enshrouded182.5
ARK: Survival Evolved182.5
7 Days to Die172.4
Valheim141.9
DayZ101.4
FiveM81.1
Core Keeper60.8
Vintage Story50.7
Rust50.7
Factorio50.7
V Rising30.4
ECO30.4
Necesse40.6

Narrative: Project Zomboid and Minecraft dominate; Satisfactory and Palworld are next. About 6% have no game detected from text. Full game_or_server (MC modded vs vanilla, Rust main, etc.) needs per‑ticket Mode A extraction.


3. Issue categories and tags

Issue categories (Availability, Connectivity, Billing, Data/saves, Configuration/mods) and TICKET_TAGS (Server Down, Stuck Restarting, Can't Connect, Server Lag, Billing, Refund Request, Mod Help, Backup Restore, World/Save, Server Config) require Mode A extraction from each transcript. No aggregate table is computed from the batch parser.

Recommendation: Run Mode A on all transcripts (or a sample), then aggregate issue_types and suggested tags into counts and top tags per game.


4. Message count and conversation shape

Messages (header)Number of tickets
3–6151
7–10128
11–1595
16–2288
23–3578
36–6045
61+137

Summary stats (from header): Min 3, max 356 messages per ticket; majority in the 3–22 range. Back‑and‑forth turns, duration, and "staff asked for more info repeatedly" require Mode A.

Narrative: Conversation length is skewed toward short (3–10 messages) and mid (11–35); a smaller set of tickets are long (60+ messages), likely complex or multi-step resolutions.


5. Attachments (saved / skipped)

Attachments savedNumber of tickets
0325
1169
281
355
430
5+62
Attachments skippedNumber of tickets
0695
116
26
33
42

Narrative: About 45% of tickets have at least one attachment saved; most have none skipped. Skipped reasons and mentions_screenshots/clips/logs require Mode A.


6. Staff involvement (from payload)

Staff identified by Broccolini support user IDs (Part 1 Analysis §10.1) appearing in message payloads.

Staff involved (count per ticket)Number of tickets
0152
1545
225

Narrative: Most tickets have exactly one staff member in the payload; 152 have no staff ID in messages (e.g. Ticket Tool–only or unclaimed). "Tickets claimed per member" and first‑response time need claim/unclaim message parsing (channel name gives claim attribution; full workload per member needs Mode A or claim-event parsing).


7. User count (participants per ticket)

User count (header)Number of tickets
270
3582
444
58
62

Narrative: Most tickets have 3 participants (requester + 1 staff + Ticket Tool); 4+ participants suggest multi-staff or extra users in thread.


8. Wiki usage and wiki‑linked outcomes

wiki_articles_posted, wiki_solved_issue (true / false / unclear), and staff‑linked outcomes (user_wanted_broccolini_to_do_it, user_wanted_broccolini_but_walkthrough) require Mode A extraction. No aggregate table from the batch parser.

Recommendation: After Mode A, aggregate: (1) tickets where wiki_solved_issue = true / false / unclear; (2) per support member: wiki posts that solved vs did not, "do it for me" vs walkthrough counts.


9. Email analytics

Parser did not detect "Account Email" + email in the same decoded block in this run. Email analytics (email_forgotten, email_misspelled, email_didnt_link, email_corrected) require Mode A extraction from form embeds and message text.


10. Frequency / impact distributions

frequency (once | sometimes | every_time | unclear) and impact (minor | moderate | severe | blocked | unclear) require inference from transcript wording (Mode A). No aggregate table from the batch parser.


11. Resolution patterns

From parser: all 722 tickets contain "Ticket closed" or "Transcript saving" in the payload. status (resolved | unresolved | escalated | unclear) and relied_on (logs | mod_updates | staff_action | other) require Mode A. One ticket mentions escalation in text.

Narrative: All transcripts represent closed/saved tickets; resolution outcome and what resolution relied on need per‑ticket extraction.


12. Intake gaps

Per‑ticket intake_gaps (account_contact, issue_type, reproduction, environment, attachments, priority, rules) each as complete | partial | missing require Mode A. No aggregate table from the batch parser.

Recommendation: After Mode A, report % complete / partial / missing per dimension to target form and template improvements.


13. Recurring analytics (Broccolini support section)

From the batch parser we have:

Require Mode A or claim parsing:


14. How to reproduce and extend

  1. Run batch parser (this report's source):
    python3 scripts/batch_transcript_analytics.py "Discord Ticket Transcripts/Drive2"
    For a subfolder or Drive:
    python3 scripts/batch_transcript_analytics.py "Discord Ticket Transcripts/Drive"
  2. Full Mode C tables: Run Mode A extraction on each transcript (or a sample), collect JSON, then aggregate by issue categories, tags, game_or_server, wiki_solved_issue, intake_gaps, frequency/impact, resolution status, and email analytics. Use Part 1 Analysis and docs/TICKET-ANALYTICS-SCHEMA-PROMPTING.md as the schema source of truth.