A8 — Prior Art: Quiz Bowl & Academic-Competition Analytics
A8 — Prior Art: Quiz Bowl & Academic-Competition Analytics
Purpose: Survey existing analytics in the quiz-bowl / academic-competition world before NSBA invents its own draft/combine metrics. Goal: adopt established terminology where it exists, and identify genuine gaps where NSBA work would be original.
Date: 2026-05-30 Status: Research complete. Two primary sources (NAQT stats explanation, NAQT Buzzword rules) and the qbwiki domain block automated fetches (HTTP 403); their content was recovered via search snippets and corroborating community sources. All definitions below are cross-checked across at least two sources.
TL;DR for NSBA
- The quiz-bowl world has a mature vocabulary for box-score stats (PPG, PPB, PPTUH, PP20TUH, powers, negs, conversion) — adopt these names verbatim; do not invent synonyms.
- It has a young but real "detailed stats" / buzzpoint movement (MODAQ → QBJ → buzzpoint-migrator → buzzpoints app; qbreader's per-question stats; the
quizbowl/open-datarepo). The key earliness metric is celerity, and NAQT's Buzzword format already monetizes earliness as continuous points. Adopt "celerity" as our buzz-earliness term. - It has almost no predictive / player-rating / draft modeling. Team rankings (HSQBRank) are hand-tuned/opaque; a formal Elo for quizbowl was proposed in 2009 but never became standard. This is where NSBA is original.
1. Standard box-score statistics (well-established — ADOPT verbatim)
These are the universal quiz-bowl stats. NSBA should reuse the exact names and formulas.
| Stat | Definition | Formula | Source |
|---|---|---|---|
| PPG (points per game) | For a player: tossup points only, per game. For a team: all points (tossups + bonuses), per game. | total tossup points (player) ÷ games; total points (team) ÷ games | NAQT, PACE Lexicon, UW glossary |
| PPB (points per bonus) | Average points (0–30) a team scores per bonus it hears (i.e., per bonus earned by a correct tossup). Opponent-independent, so it's the standard cross-field comparator of "depth." | total bonus points ÷ bonuses heard | NAQT, PACE Lexicon |
| PPTUH (points per tossup heard) | Total points ÷ number of tossups heard. Normalizes for variable question counts (NAQT rounds are timed, so games have different # of TUs). | total points ÷ tossups heard | NAQT |
| PP20TUH | PPTUH × 20 ≈ "points in an average 20-tossup game." NAQT's preferred normalized rate stat; used for seeding and individual awards. | PPTUH × 20 | NAQT, UW glossary |
| Power | A tossup answered correctly before the power mark (*) in the question. Worth extra points (15 in standard 10/15/-5; 20 in some formats). |
count | NAQT, Wikipedia, PACE |
| Get | A tossup answered correctly at normal value (10), i.e., after the power mark but before the end. | count | qbwiki/community |
| Neg ("negative five") | A tossup answered incorrectly on an interrupt (buzzing before the question ends and being wrong), incurring a −5 penalty. | count | NAQT, Wikipedia, PACE |
| Power rate / Neg rate | Powers (or negs) per tossup heard, or per game. Used to characterize aggressiveness vs. accuracy. | powers ÷ TUH ; negs ÷ TUH | community/GPQB |
| P/N ratio | Powers ÷ negs — a common shorthand for "is this player's aggression paying off." | powers ÷ negs | community |
| Conversion | Generic term for getting a tossup or bonus right. "Bonus conversion" ≡ PPB. "First-line conversion" etc. used in detailed stats. | context-dependent | NAQT, qbwiki |
Standard scoring convention: 10 / 15 / −5 (get / power / neg), bonuses 30 (three 10-pt parts). This is the canonical quizbowl scoring grammar; NSBA's pyramidal combine should describe its own scoring in these terms where analogous.
Sources: https://www.naqt.com/stats/explanation.jsp, https://www.pace-nsc.org/resources/quizbowl-lexicon/, https://students.washington.edu/quizbowl/glossary.html, https://en.wikipedia.org/wiki/Quiz_bowl
2. Buzz-point / celerity analytics (emerging — ADOPT "celerity," study the tooling)
This is the part of the field most relevant to NSBA's pyramidal combine, where earlier buzz = more value.
2.1 Celerity (the key earliness metric — ADOPT THIS TERM)
"Celerity is the fraction of the question that had not been read at the time of a (correct) buzz. 1.000 is an immediate buzz, .500 is halfway through, .000 is at the very end."
Measured against the audio recording timeline (time-based) in NAQT's Buzzword, but can equivalently be measured against word/character position in a text reader. This is exactly the quantity NSBA wants to value. Recommendation: standardize on "celerity," defined as the fraction of the question remaining at buzz (higher = earlier = better).
Source: NAQT Buzzword glossary / qbwiki "Buzzpoints", via search corroboration.
2.2 Buzzpoint (the raw datum)
A buzzpoint is the exact point in a tossup's text at which a player buzzed — or a curve/median/statistic generalizing where a group buzzed over a question.
Buzzpoint data enables: buzz-position curves per question, "buzzer-race spike" detection, question-difficulty analysis, and per-player buzz-position distributions. A noted finding from 2018 ACF Regionals: correct buzzes in the first 25% of a tossup are rare even among elite players, and questions vary between smooth buzz curves and sharp "buzzer-race" spikes. This directly informs combine design: very early buzzes are scarce signal and should be weighted heavily.
2.3 NAQT Buzzword — a working "earliness = continuous points" format (STUDY CLOSELY)
Buzzword is an online NAQT format where tossups are worth a sliding 20 → 10 points depending on buzz earliness (20 at the start, decaying to 10 at the end), with no penalty for wrong answers. This is the closest existing analog to NSBA's pyramidal combine scoring. NSBA can borrow the design pattern: map celerity to a points curve. (Note Buzzword removes the neg penalty; NSBA must decide whether its combine penalizes early-wrong buzzes.)
Source: https://www.naqt.com/buzzword/rules.html, https://www.qbwiki.com/wiki/Buzzword
2.4 Tooling & data pipeline (the de-facto stack)
- MODAQ (Alejandro Lopez-Lago) — moderator/scorekeeping web app; records buzzpoint data live and exports QBJ.
- QBJ (Quizbowl JSON, ext
.qbj, MIMEapplication/vnd.quizbowl.qbj+json, schema v2.1.1) — the standard match-serialization format. Top level:version+objects[]with typed objects (Tournament,Registration,Match,Team,Player). Matches carrymatch_questions[]with question number, bonus points, and abuzzes[]array (team ref, player ref, result with value 10/15/−5). Buzz position is captured implicitly by array order; there is no explicit position/celerity field in core QBJ — buzzpoint position is annotated separately. Schema: https://schema.quizbowl.technology/serialization/ - buzzpoint-migrator (JemCasey) — ingests JSON packets + QBJ game files into a SQLite DB.
- buzzpoints app (JemCasey; created by Jordan Brownstein) — Next.js/Vercel app that visualizes the SQLite DB (browse by tournament or by question set). Live: https://buzzpoints.vercel.app/
- qbreader.org — packet reader + question DB (MongoDB). Exposes
GET /question-stats/tossupandGET /question-stats/bonusfor aggregated per-question play stats. API docs: https://www.qbreader.org/tools/api-docs/ - College Quizbowl Stats (quizbowlstats.com, Ryan Rosenberg) — repository of traditional + detailed stats incl. a buzzpoints view and per-category/conversion stats; data published openly.
quizbowl/open-data(GitHub, ODbL license) — raw open data for research: detailed stats (e.g., 2018 ACF Regionals TSV) + annotated packets with buzz points. https://github.com/quizbowl/open-data- YellowFruit (Andrew Nadig) and SQBS — desktop statkeeping apps; YellowFruit imports MODAQ QBJ. These produce the box-score stats in §1.
Recommendation: NSBA should emit QBJ from its combine/league software so it interoperates with this ecosystem, and can reuse buzzpoint-migrator/buzzpoints for visualization rather than building from scratch. Store raw buzz position (celerity) explicitly since core QBJ does not.
3. Science Bowl specifics (scoring differs materially from quiz bowl)
NSBA is Science-Bowl-flavored, so note the format differences from standard quizbowl:
- Toss-ups: 4 points (not 10). Bonuses: 10 points (not 30, not 3 parts). A correct toss-up earns the team the right to a bonus.
- No "powers." Science Bowl toss-ups are not pyramidal in the quizbowl sense and have no power mark — so the native format has no celerity/earliness reward. (This is precisely why NSBA's pyramidal combine is a deliberate departure and why celerity must be imported from quizbowl, not Science Bowl.)
- Interrupt penalty: buzzing before the moderator finishes a toss-up and answering wrong gives +4 to the opponent (and may forfeit the bonus). Functions like a neg but credited to the other team.
- Format: teams of 4 (+1 alternate); ~23 TU/bonus cycles per round at regionals, 25 at nationals; round ends when all toss-ups are read or two timed halves elapse. Nationals = round-robin groups → double-elimination (top 4 per group advance, since 2020). Categories: Biology, Chemistry, Earth & Space, Energy, Math, Physics.
Sources: https://en.wikipedia.org/wiki/National_Science_Bowl, https://www.orau.gov/sciencebowl/format.html, https://science.osti.gov/-/media/wdts/nsb/pdf/NSB-Resources/Rules2026.pdf
Public Science Bowl stat tracking — Prometheus Science (the one real example)
Prometheus Science (community virtual Science Bowl) publishes per-player box scores — the most complete public Science Bowl stat set found. Definitions (4-pt TU, 10-pt bonus): - GP games played; TU toss-ups correct; X toss-ups incorrect with no penalty (didn't interrupt); Neg incorrect interrupts; #Buzz questions buzzed; %Buzz = buzzes ÷ questions; Acc = correct ÷ buzzed; Points = total TU points (= 4·TU); PPG = TU points ÷ GP; Bonus bonuses correct; Bonus% bonus accuracy; BAPPG = total points per game = Points + 10·Bonus per game. - Broken out by category: X-Risk, Math, Chemistry, Earth & Space, Biology, Physics.
This is essentially the quizbowl box score retrofitted to Science Bowl scoring (note no celerity / no buzzpoints — Prometheus tracks who buzzed and accuracy, not where/when in the question). Source: https://prometheus.science/virtual/statistics; code: https://github.com/LukeBousfield/prometheus-science-bowl
Recommendation: Adopt Prometheus's stat names (TU, X, Neg, #Buzz, %Buzz, Acc, BAPPG) for any Science-Bowl-native box score — they're the closest thing to a Science Bowl standard, and "X" (no-penalty miss) vs "Neg" (penalized interrupt) is a useful distinction we should keep.
4. Predictive / rating / draft analytics (SPARSE — this is where NSBA is original)
- Proposed Quiz Bowl Rating System (2009) — a forum proposal for a chess/Scrabble-style Elo rating for quizbowl players. It was discussed but never became a standard; no widely-used Elo for individual quizbowl players exists today. https://hsquizbowl.org/forums/viewtopic.php?t=2359
- HSQBRank — national HS team rankings. The team-ranking algorithm is not publicly documented (uses opaque "set adjustments by year," e.g., "+4.91 for NSC"); the "All-World" player selections are explicitly hand-picked, not calculated. So even the flagship ranking site is not a transparent predictive model. https://hsqbrank.com/
- Win-probability explorations — a few forum posts apply win-probability analysis to college quizbowl datasets, but these are one-off analyses, not maintained models.
- A-value / D-value (NAQT) — these are question/tournament difficulty indices (not player ratings); A-value relates to field/award thresholds, D-value to difficulty. Useful as a precedent for "difficulty-adjusting" buzzes, but not a player metric.
Bottom line: there is no established, transparent, predictive player-rating or draft-projection system in quizbowl or Science Bowl. The field has rich descriptive stats but almost no inferential/predictive modeling, and zero draft/combine/snake-draft analytics (no quizbowl league runs like the NBA).
5. Terminology to standardize on (for NSBA)
| Concept | Use this term | Avoid |
|---|---|---|
| Buzz earliness (fraction of question remaining at buzz) | celerity (0–1, higher = earlier) | "buzz speed", "earliness score" |
| Raw text position of a buzz | buzzpoint | "buzz location" |
| Points per bonus | PPB | "bonus average" |
| Rate stat normalized to a game | PP20TUH (or define our own PP-N-TUH) | ad-hoc per-game |
| No-penalty miss vs penalized interrupt | X vs Neg (Science Bowl convention) | conflating the two |
| Total points per game incl. bonuses | BAPPG (Science Bowl) / team PPG (quizbowl) | "total PPG" ambiguity |
| Match data interchange | QBJ (v2.1.1) | custom JSON |
6. Explicit GAPS — where NSBA would be original
- A predictive player-rating system (Elo/RAPM-style) for individual buzzer-game players. Proposed in 2009, never built/standardized. NSBA's RAPM+Elo lineage (cf. the NBA-modeling project) applied here is novel.
- Celerity-valued combine scoring → draft value. Buzzword scores earliness in-game, but no one converts celerity into a transferable "draft value" for assembling teams. Mapping combine celerity/accuracy to projected league contribution is original.
- Snake-draft / team-construction analytics for quiz games. No quizbowl league drafts players; there is no literature on roster construction, positional scarcity (category coverage), or draft-pick value in this domain. Entirely greenfield.
- Difficulty-adjusted / opponent-adjusted individual buzz value. Buzzpoint curves exist descriptively, but no maintained model gives a player credit relative to expected buzz position on that specific question (a quizbowl "expected buzz"/buzz-above-replacement). NSBA can build "celerity vs. field-expected celerity."
- Category-coverage optimization for drafting (drafting complementary subject strengths to maximize team TU conversion across Bio/Chem/Physics/etc.). Prometheus tracks per-category stats but no one optimizes a roster over them.
- Cross-format value translation (Science Bowl 4/10 scoring ↔ pyramidal celerity scoring). Nobody has had to reconcile these because no one runs a pyramidal-combine-to-Science-Bowl-league pipeline.
Source list
- NAQT Explanation of Statistics — https://www.naqt.com/stats/explanation.jsp (403 to bots; via search)
- NAQT Buzzword Rules — https://www.naqt.com/buzzword/rules.html
- PACE Quizbowl Lexicon — https://www.pace-nsc.org/resources/quizbowl-lexicon/
- UW Quizbowl Glossary — https://students.washington.edu/quizbowl/glossary.html
- Quiz bowl (Wikipedia) — https://en.wikipedia.org/wiki/Quiz_bowl
- qbwiki Buzzpoints / Detailed stats / Buzzword — qbwiki.com (403 to bots; via search)
- buzzpoints app — https://buzzpoints.vercel.app/ ; repo https://github.com/JemCasey/buzzpoints
- buzzpoint-migrator — https://github.com/JemCasey/buzzpoint-migrator
- qbreader API — https://www.qbreader.org/tools/api-docs/
- College Quizbowl Stats — https://quizbowlstats.com/buzzpoints
- open quizbowl data — https://github.com/quizbowl/open-data
- QBJ schema — https://schema.quizbowl.technology/serialization/
- An approach to buzz point tracking (forum) — https://hsquizbowl.org/forums/viewtopic.php?t=14632
- Proposed Quiz Bowl Rating System (forum) — https://hsquizbowl.org/forums/viewtopic.php?t=2359
- HSQBRank — https://hsqbrank.com/
- National Science Bowl (Wikipedia) — https://en.wikipedia.org/wiki/National_Science_Bowl
- NSB format / 2026 rules — https://www.orau.gov/sciencebowl/format.html, https://science.osti.gov/-/media/wdts/nsb/pdf/NSB-Resources/Rules2026.pdf
- Prometheus Science statistics — https://prometheus.science/virtual/statistics ; code https://github.com/LukeBousfield/prometheus-science-bowl
- GPQB Intro to Quizbowl Statistics — https://gpqb.wordpress.com/2019/12/19/an-introduction-to-quizbowl-statistics/