7.7 KiB
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
| Metric | Value |
|---|---|
| Total tickets | 722 |
| Transcripts with parse errors | 0 |
| Tickets with “Ticket closed” / “Transcript saving” in payload | 722 (100%) |
| Tickets with claimed channel name (staff claimed) | 671 (93%) |
| Tickets with escalation mentioned in text | 1 |
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 Zomboid | 257 | 35.6 |
| Minecraft | 179 | 24.8 |
| Satisfactory | 79 | 10.9 |
| Palworld | 46 | 6.4 |
| Not Mentioned | 45 | 6.2 |
| Enshrouded | 18 | 2.5 |
| ARK: Survival Evolved | 18 | 2.5 |
| 7 Days to Die | 17 | 2.4 |
| Valheim | 14 | 1.9 |
| DayZ | 10 | 1.4 |
| FiveM | 8 | 1.1 |
| Core Keeper | 6 | 0.8 |
| Vintage Story | 5 | 0.7 |
| Rust | 5 | 0.7 |
| Factorio | 5 | 0.7 |
| V Rising | 3 | 0.4 |
| ECO | 3 | 0.4 |
| Necesse | 4 | 0.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–6 | 151 |
| 7–10 | 128 |
| 11–15 | 95 |
| 16–22 | 88 |
| 23–35 | 78 |
| 36–60 | 45 |
| 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 saved | Number of tickets |
|---|---|
| 0 | 325 |
| 1 | 169 |
| 2 | 81 |
| 3 | 55 |
| 4 | 30 |
| 5+ | 62 |
| Attachments skipped | Number of tickets |
|---|---|
| 0 | 695 |
| 1 | 16 |
| 2 | 6 |
| 3 | 3 |
| 4 | 2 |
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 |
|---|---|
| 0 | 152 |
| 1 | 545 |
| 2 | 25 |
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 |
|---|---|
| 2 | 70 |
| 3 | 582 |
| 4 | 44 |
| 5 | 8 |
| 6 | 2 |
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:
- Tickets per game_detected (heuristic): see §2.
- Claimed channel share: 671/722 (93%).
- Staff involved count per ticket: see §6.
Require Mode A or claim parsing:
- Tickets claimed per member (from claim/unclaim messages or channel name).
- First response time, re‑opens, escalations.
- Tag distribution, repeat customers, sentiment toward staff.
- Wiki‑linked outcomes per member (§9.2).
14. How to reproduce and extend
- Run batch parser (this report’s source):
For a subfolder or Drive:
python3 scripts/batch_transcript_analytics.py "Discord Ticket Transcripts/Drive2"python3 scripts/batch_transcript_analytics.py "Discord Ticket Transcripts/Drive" - 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.mdas the schema source of truth.