Faculty Resources / Data dictionary
Telemetry Data Dictionary
Open Answer Analysis to see the answer choices behind current CSV records. Files stay in your browser.
Turn game-data rows into useful instructional questions.
All 88 columns in the current public and classroom Managerial Download Game Data CSV. Reviewed October 13, 2026. Public polished games, including Managerial Intelligence Directorate, Economic Realm, Macro Command System, and Micro Domains, remain local-only for telemetry for now. Supported gameplay records stay on the device unless deliberately downloaded and submitted; downloading a CSV does not transmit or submit it. Private or class-specific builds, including Composer-generated games, can transmit anonymous gameplay and interaction data only when the instructor/deployer explicitly enables collection. Collection is OFF by default. Ordinary collection is operational/instructional/product analytics, not research by default. Separately designated research requires its own institutional decisions and dataset handling. Other games, Composer exports, and older versions can have different fields.
Start with these fields
For collection settings, interpretation and file custody, read Responsible Telemetry Use and your data choices.
Play or test a game → choose Download Game Data from its report → open the CSV in a spreadsheet → filter and analyze. Local exports contain the selected run's retained browser records (up to 1,500); they are not a class roster or a complete cross-device history.
First group by game and runID, then filter event to question. Start with these 12 fields:
questionIDtagobjectivetypedifficultycorrectresponseTimeMsactiveResponseTimeMshiddenTimeMstabSwitchCountcopyCountaccuracyCompare correctness and timing by concept or objective to find material worth revisiting. For run-level accuracy, switch to the run's summary row; accuracy is a fraction (0.8 = 80%). Small samples and repeated exposure limit conclusions.
Timing: elapsed, visible, hidden
For newly measured response rows, responseTimeMs ≈ activeResponseTimeMs + hiddenTimeMs. “Active” means the document was visible, not that the student was attentive. Visible graph or modal time remains included.
Illustrative example: a 12-second response
responseTimeMs = 12000activeResponseTimeMs = 7000hiddenTimeMs = 5000tabSwitchCount = 1
Assume one visible → hidden → visible trip. The final return-to-answer duration is timeAfterReturnMs; it is blank if no return occurred or the page is still hidden.
Do not add hiddenTimeMs and unfocusedTimeMs. Visibility and window focus are independent and can overlap. A window can lose focus while the page stays visible. Focus fields measure blur, time unfocused, and time since final refocus.
Version boundary: a populated activeResponseTimeMs identifies the new measurement. Older rows retain their original gameplay responseTimeMs. On new rows, gameplayResponseTimeMs preserves that original engine value. Menu/Continue starts a fresh view interval; response timing is not an uninterrupted lifetime clock.
Exam review: committed question rows aggregate recorded views of that question/room. Durations and counts accumulate; selection maxima use the maximum and region flags use “any.” Return/refocus durations come from the last recorded view, and are blank if that view had no qualifying return. Copy timing retains the latest copied view's offsets.
Choose the right event rows
Local Download Game Data: use event = question for accepted response analysis. A repeated question can represent another attempt, so do not deduplicate by questionID alone. rapid_guessing records rejected rapid attempts; examine these separately.
Exam exam_answer_initial and exam_answer_revision rows describe drafts. Committed answers appear as question with adaptiveMode = exam-commit. Do not combine draft rows with committed answers or use draft correct = 0 as incorrect performance. Completion and early-ending rows describe runs, not individual answers.
Separate path: anonymous aggregate collection
Explicitly enabled anonymous collection uses a different envelope and field names. It can repeat a response snapshot across answer_submitted, answer_evaluated, and feedback_shown. For that export, normally use answer_evaluated and restrict to accepted attempts when analyzing accepted responses. Counting all three triples the same response. That recommendation does not change the local CSV's question filter.
Aggregate build/schema IDs, sequence numbers and graph indicators are not additional columns in this local 88-field dictionary. Ordinary faculty downloads need no server tools or administrative credentials.
Behavior is interaction evidence, not proof of intent
A tab switch, long hidden interval, rapid response, selection, or copy action is not proof of cheating. Use patterns to understand engagement, compare visible and elapsed work time, investigate unusual attempts in context, improve assessment design, or support appropriate research. There is no automatic misconduct score.
The selection/copy tracker records settled selection counts, the largest selected character count, question/answer region flags, relevant copy counts, and timing to subsequent hide or blur. It inspects relevant DOM selection transiently to calculate these measurements.
This tracker does not store selected or copied text, read clipboard contents, or collect keystrokes, screen contents, unrelated-tab URLs, or browser history. This describes the behavioral tracker, not all data on the website. The CSV also contains question metadata and run identifiers; the separate anonymous collection uses random persistent client/run identifiers. See the privacy information for broader context.
Explore all 88 fields
Use the categories or search. Technical fields are last. On narrow screens, scroll each table sideways to read all columns; keyboard users can focus the table region and use arrow keys. Definitions describe the current Managerial local export; absent artifact, boss, mastery-detail, or graph-indicator columns are not invented here.
88 fields shown.
Build authorization is separate from measurement
You can choose to collect anonymous gameplay data when you create a game with the official Mastery Quests Composer. Collection is OFF by default. To send data, the game must be published on a supported HTTPS website. Permission to send data lasts 365 days for each generated game. Collection stops if that permission expires or is withdrawn, or if a player turns it off in their browser. Players can still play and download their game data. Data already received stays subject to the separate 730-day retention policy.
A game opened directly from a file on your computer can be played and can save a CSV, but it cannot send gameplay data to Mastery Quests. Publish the same file on a supported HTTPS website to enable collection while its permission is valid. Your LMS or network may still block data collection, so test the game the way students will open it. Anonymous records cannot confirm who played or reliably link the same player across different websites.
The National Engine uses an older data-collection setup. Check its own notice for details.
Capability digests, build scope, issuance, expiry and revocation metadata are server authorization controls, not new learner measurement fields. Raw capabilities are not analytical fields or CSV columns. HTTPS transport permission alone does not authorize collection. The measurement, governance and disclosure contract versions remain unchanged.
Which export version do I have?
Column counts vary by game family and release. The header identifies the format; older files keep their original measurements. A blank value indicates unavailable data.
| Export | Columns | Coverage |
|---|---|---|
| Retained See It in Action demonstration | 41 | Historical sample, without answer snapshots |
| Historical Managerial | 75 | Before measurement contract metadata; still older exports used 57 |
| Managerial measurement contract 1 | 87 | Before answer snapshots |
| Current Managerial local | 88 | Public and classroom exports including answerSnapshotJSON |
| Current Composer, Economic Realm and Macro local | 117 | Previously 116 before answer snapshots |
| Current Micro local | 70 | Includes answer snapshots; some timing measures are unavailable |
| Current private admin export | 82 | Previously 81 before the flattened answer snapshot field |
The October 13 answers2 tracker saves version 2 snapshots inside the existing column. Version 2 includes game identity, available learning-objective metadata and correct choices for accepted answers. Version 1 preserves wording and selected choices without a key. Older files without snapshots cannot supply question wording or answer distributions. Class Answer Analysis reports these limitations.
Run information
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
runIDtext | Local run identifier shared by rows from one run. When: All events Values: Game-supplied text | Group by game and runID; this is not a student identifier. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
gametext | Game title recorded by the game. When: All events Values: Game-supplied text | Use with questionID because IDs are game-specific. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
modetext | Internal game-mode name. When: All events Values: standard, timed, exam, score, practice, legendary, quiz, fadingFortune, riskReward and other supported modes | A trailing -complete suffix is removed; use event to identify completion. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
eventtext | The action represented by this row. When: All events Values: question, rapid_guessing, start, resume, exam_answer_initial, exam_answer_revision, completion and mechanic events | Use question for accepted responses. See event guidance below. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
timestampISO timestamp | Time the local record was saved, in UTC. When: All events Values: ISO 8601 date/time | Exam commits are recorded at commitment, not necessarily initial selection. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
contractIDtextTechnical / QA | Versioned measurement contract identity. When: See stream-specific contract applicability Values: mq-measurement/1; unknown future values require a newer validator. | mq-measurement/1; unknown future values require a newer validator. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
manifestIDtextTechnical / QA | SHA-256 reference to the immutable analytical run segment manifest. When: See stream-specific contract applicability Values: Resolve from export_manifest rows in local CSV or run_manifest in the private stream. | Resolve from export_manifest rows in local CSV or run_manifest in the private stream. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
provenanceStatustextTechnical / QA | Whether the row was stamped in a measured segment, a resumed segment, or lacks a resolved context. When: See stream-specific contract applicability Values: A resume-segment label does not assign the current build to earlier answers. | A resume-segment label does not assign the current build to earlier answers. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
presentationIDtextTechnical / QA | Identifier for the observed question view. When: See stream-specific contract applicability Values: A revisit has a new presentation; exam views may share one attempt. Missing legacy views stay unknown. | A revisit has a new presentation; exam views may share one attempt. Missing legacy views stay unknown. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
attemptIDtextTechnical / QA | Identifier joining presentation and draft/revision records to an accepted outcome. When: See stream-specific contract applicability Values: Local event=question or anonymous answer_evaluated with acceptedAttempt determines an accepted response, not the existence of this identifier. | Local event=question or anonymous answer_evaluated with acceptedAttempt determines an accepted response, not the existence of this identifier. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
canonicalSelectedIndexintegerTechnical / QA | Zero-based position of the selected option in the versioned authoring bank before display shuffling. When: See stream-specific contract applicability Values: selectedIndex remains the displayed position. No answer text or key is added. | selectedIndex remains the displayed position. No answer text or key is added. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Option zero is the first canonical option; local sequences start at one. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
localSequenceintegerTechnical / QA | Creation sequence scoped to this local run and measurement segment history. When: See stream-specific contract applicability Values: Independent of the private sequenceNumber. Missing historical sequence values cannot be reconstructed. | Independent of the private sequenceNumber. Missing historical sequence values cannot be reconstructed. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Option zero is the first canonical option; local sequences start at one. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
manifestJSONJSON textTechnical / QA | Allowlisted analytical configuration and artifact fingerprints, included once per referenced segment in the CSV. When: export_manifest (local), run_manifest (private) Values: Only export_manifest / private run_manifest rows carry it. No titles, names, custom URLs, question text or answer keys. | Only export_manifest / private run_manifest rows carry it. No titles, names, custom URLs, question text or answer keys. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
deliveryQualityJSON textTechnical / QA | JSON containing observed storage failures, truncation or private queue outcomes. When: See stream-specific contract applicability Values: Counts describe observed delivery limits, not lossless delivery or intentional abandonment. | Counts describe observed delivery limits, not lossless delivery or intentional abandonment. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
supportJSONJSON textTechnical / QA | Response-time snapshot of displayed hint, artifact and mode option removal, canonical removed options, and remaining count. When: Question responses and exam drafts/commitments Values: Exam commitment uses its last draft snapshot. Hint display and link activation do not establish reading or learning. | Exam commitment uses its last draft snapshot. Hint display and link activation do not establish reading or learning. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
originAttemptIDtextTechnical / QA | Observed originating miss for an active repair, bridge or retest sequence. When: See stream-specific contract applicability Values: Blank when no originating measured miss is available; never infer an old attempt identity. | Blank when no originating measured miss is available; never infer an old attempt identity. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
resourceIDtextTechnical / QA | Stable authoring resource identifier on an observed recommendation or link activation. When: resource_offered, resource_activated Values: resource_activated observes activation only, not PDF loading, reading or improvement. | resource_activated observes activation only, not PDF loading, reading or improvement. Blank: Unknown, not collected historically, or inapplicable for this event. Do not replace with zero. Zero: Not a numeric measurement. Use the original row contract and event filter; metadata is not evidence of attention, misconduct or identity. |
Question and content
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
roominteger | Game room or section position attached to the event. When: Question-related events; defaults on other rows Values: Numeric value | Context may remain on non-question rows; not a unique question ID. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
questionIDtext or number | Stable question identifier within its game. When: Question-related events; defaults on other rows Values: Numeric or alphanumeric identifiers; preserve the original value. | Combine game identity and question revision when grouping. Matching IDs alone do not establish matching questions. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
difficultytext | Supplied question difficulty, current-question fallback, or mode fallback. When: Question-related events; defaults on other rows Values: Game difficulty label or blank | May describe the current question on unrelated events; compare within the same game. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
tagtext | Question concept/tag label. When: Question-related events; defaults on other rows Values: Game-supplied text | Group accepted responses by concept; empty on many lifecycle rows. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
typetext | Question's instructional type label. When: Question-related events; defaults on other rows Values: Game-supplied text | Use accepted question rows; this is not a graph-required flag. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
objectivetext | Learning objective supplied or inferred for the question. When: Question-related events; defaults on other rows Values: Game-supplied text | Use for instructional grouping; names may vary across games. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
Response and performance
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
selectedIndexinteger index | Selected answer option, counted from zero. When: question and rapid_guessing; see individual notes Values: -1 or nonnegative option index | 0 is the first option; -1 means no selected index supplied. Exam drafts can contain a choice. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
correct0/1 indicator | Whether the response was correct. When: question and rapid_guessing; see individual notes Values: 0 or 1 | Use question rows. Other event types, including exam drafts and completion, normalize to 0; these are not incorrect answers. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
rapidGuessing0/1 indicator | Whether the response was flagged as a rapid guess. When: question and rapid_guessing; see individual notes Values: 0 or 1 | rapid_guessing rows are rejected attempts; do not include them as accepted question responses. A flag is not evidence of intent. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
attemptinteger count | Game's cumulative attempt counter at the event. When: question and rapid_guessing; see individual notes Values: Numeric value | Not a per-question attempt number; also supplied on summaries. Defaults to 0 when omitted. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
streakinteger count | Current consecutive-correct streak recorded by the engine. When: question and rapid_guessing; see individual notes Values: Numeric value | Timing of the snapshot follows the event producer; not the run maximum. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
scorenumber, points | Current mode score or bankroll supplied by the game. When: question and rapid_guessing; see individual notes Values: Numeric value | Risk & Reward uses bankroll; Fading Fortune uses its score. Other rows may fall back to Score Attack state; compare like modes only. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
bestScorenumber, points | Stored Score Attack best score. When: question and rapid_guessing; see individual notes Values: Numeric value | May carry prior-run/browser state even in other modes; not this run's maximum score. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
elapsedTimeMsmilliseconds | Run elapsed time supplied at the event. When: question and rapid_guessing; see individual notes Values: Numeric value | Completion events use supplied totalTime; other events use supplied elapsedTime. Zero is a default when omitted; distinct from response duration. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
Adaptive and remediation
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
adaptiveModetext | Adaptive context label supplied by the event or current engine state. When: Question-related events and current game-state fallbacks Values: Game-supplied text | Includes exam-commit and completion labels; this is not a numerical mastery estimate. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
remediationStagetext | Explicit remediation stage or current active-remediation stage. When: Question-related events and current game-state fallbacks Values: Stage label such as repair, bridge, retest, or blank | Blank commonly means no active stage. Do not infer a separate exported boss or bridge column. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
priorExposureCountinteger count | Earlier stored question or rapid_guessing rows for the same questionID in this local run. When: Question-related events and current game-state fallbacks Values: Numeric value | Scoped to retained local run records: prior question and rapid_guessing rows, not lifetime learner exposure or every view. Truncated history can undercount. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
firstExposure0/1 indicator | 1 when a positive questionID has no earlier stored response rows in this run. When: Question-related events and current game-state fallbacks Values: 0 or 1 | Scoped to retained local run records: prior question and rapid_guessing rows, not lifetime learner exposure or every view. Truncated history can undercount. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
Run completion
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
totalTimeMsmilliseconds | Total run duration supplied by the summary producer. When: Run summary events: complete, mode completions, early endings or busts where supplied Values: Numeric value | Not a sum of response times; also populated on early-ending summaries. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
accuracyfraction 0–1 | Run accuracy supplied as a proportion. When: Run summary events: complete, mode completions, early endings or busts where supplied Values: 0–1 | 0.8 means 80%; format as a percentage in a spreadsheet. Non-summary rows default to 0; this is not objective-level mastery. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
maxStreakinteger count | Longest correct-answer streak reported for the run. When: Run summary events: complete, mode completions, early endings or busts where supplied Values: Numeric value | Use summary rows; other events default to 0. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
totalAttemptsinteger count | Total attempts reported in the run summary. When: Run summary events: complete, mode completions, early endings or busts where supplied Values: Numeric value | Use the same summary's accuracy; do not sum this cumulative value across rows. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
verificationCodetext | Game-generated completion/report code. When: Run summary events: complete, mode completions, early endings or busts where supplied Values: Game-supplied text | Helps compare a report with its local export; not secure identity verification. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
Fading Fortune
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
fadingFortuneScorenumber, points | Cumulative points earned for correct Fading Fortune answers. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Numeric value | Available on responses and summaries; compare within this mode. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortuneQuestionValuenumber, points | Points available for the question at response. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: 100, 75, 50, 25; 0 default elsewhere | Value can decrease as answer options fade. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortuneFadeCountinteger count | Number of fades recorded for this question. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Numeric value | Zero on a measured mode response means no fade. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortuneIntervalMsmilliseconds | Configured interval between question fades. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Numeric value | Game-mechanic timer, not measured response time. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortunePausedDurationMsmilliseconds | Paused time accumulated by the Fading Fortune gameplay timer. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Numeric value | Not hiddenTimeMs; visible pauses may be included in telemetry time. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortuneMaxScorenumber, points | Summary maximum: question target multiplied by 100. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Numeric value | A theoretical target, not observed score; summary only. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortuneAverageValuenumber, points | Rounded average available question value across completed questions. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Numeric value | Includes incorrect answers; not average points earned. Summary only. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
fadingFortuneDistributionJSON text | Summary counts of answered questions at each available point value. When: Fading Fortune response rows; summary fields only on Fading Fortune run summaries Values: Object keyed by 100, 75, 50, 25 | Includes correct and incorrect answers. Blank outside supplied summaries. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
Risk & Reward
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
riskRewardBankrollBeforenumber, points | Bankroll before the current wager. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Use response rows; wager-committed events do not supply this exported field under this name. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardWagerAmountnumber, points | Points staked on the current question. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Use response rows; do not assume the wager-committed event populates this column. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardWagerPercentpercentage 0–100 | Rounded percentage of bankroll chosen for the wager. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | 25 means 25%, not 0.25. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardWagerTiertext | Wager tier label for the selected fraction. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: 10%, 25%, 50%, ALL IN; blank elsewhere | Tier is a game choice, not a measure of student risk preference. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardBankrollAfternumber, points | Bankroll after answer settlement. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Rejected rapid guesses can precede settlement; use accepted question rows. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardAllIn0/1 indicator | Whether the current wager used essentially the entire bankroll. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: 0 or 1 | Use response rows in this mode; 0 elsewhere may be a default. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardStartingBankrollnumber, points | Starting bankroll supplied in the run summary. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; game points, not money. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardFinalBankrollnumber, points | Bankroll remaining at the run summary. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; 0 may mean a bust in this mode. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardNetnumber, points | Final bankroll minus starting bankroll. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; negative values represent a net loss. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardPeakBankrollnumber, points | Highest bankroll recorded during the run. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; not final bankroll. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardLargestWagernumber, points | Largest single wager committed in the run. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; not a total of wagers. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardAllInAttemptsinteger count | Count of all-in wagers committed. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; counts wager choices, not necessarily distinct completed questions. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardBusted0/1 indicator | Whether the run summary reports a bust. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: 0 or 1 | Use this mode's summary event; unrelated rows default to 0. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardQuestionsCompletedinteger count | Number of questions completed in the wager run. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; may be below the target after early ending or bust. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardTargetinteger count | Planned question count for the wager run. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Numeric value | Summary only; not the observed completion count. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Interpret only for the stated events and mode; defaults are not evidence of performance. |
riskRewardWagerDistributionJSON text | Summary count of committed wagers by tier. When: Risk & Reward response rows; run-level fields only on Risk & Reward summaries Values: Object keyed by 10%, 25%, 50%, ALL IN | Counts choices; not correctness or an intent score. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Interpret only for the stated events and mode; defaults are not evidence of performance. |
Visibility and focus
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
responseTimeMsmilliseconds | Total elapsed telemetry response interval on newly measured rows. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Includes hidden time and visible modal/graph time. Legacy rows retain gameplay timing: require nonblank activeResponseTimeMs for current semantics. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. Older rows preserve different gameplay-clock semantics. |
activeResponseTimeMsmilliseconds | Response interval spent with the document visible. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Visible is not proof of attention; window focus is separate. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
tabSwitchCountinteger count | Distinct visible-to-hidden transitions during the interval. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | A hidden document does not reveal destination or reason; starting hidden does not count as a switch. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
timeAfterReturnMsmilliseconds | Time from final return to visibility until submission. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Blank if never returned or still hidden. Exam aggregates follow the view aggregation rules below. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
focusLossCountinteger count | Distinct window blur transitions. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Window focus loss can occur while the document remains visible. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
unfocusedTimeMsmilliseconds | Accumulated time between window blur and refocus. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Can overlap hiddenTimeMs; never add the two to calculate time away. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
timeAfterFocusMsmilliseconds | Time from final window refocus until submission. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Blank if never refocused or still unfocused. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
Selection and copy
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
selectionCountinteger count | Settled nonempty selections intersecting question or answer text. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Uses a 250ms settle delay and flush at submission; not every selection-change signal. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
maxSelectedCharsinteger count | Largest trimmed relevant selection length. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | JavaScript UTF-16 string length; not bytes or necessarily visible character count. No selected text is stored. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
questionSelected0/1 indicator | Whether a relevant selection intersected question text. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: 0 or 1 | 1 means observed at least once; not how much was read. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
answersSelected0/1 indicator | Whether a relevant selection intersected answer text. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: 0 or 1 | 1 means observed at least once. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
copyCountinteger count | Copy events with a nonempty relevant selection. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Does not confirm clipboard success, paste destination, or intent. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
questionCopied0/1 indicator | Whether a relevant copy intersected question text. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: 0 or 1 | No copied text or clipboard content is stored by this tracker. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
answersCopied0/1 indicator | Whether a relevant copy intersected answer text. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: 0 or 1 | No destination is observed. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
lastCopyElapsedMsmilliseconds | Latest relevant copy's offset from the response-view start. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Blank if no relevant copy. Exam commits retain the last copied view's offset, not an offset from exam start. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
timeCopyToHideMsmilliseconds | Time from latest relevant copy to its first subsequent hide. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Blank until that transition follows the latest copy; a new copy clears the previous relationship. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
timeCopyToBlurMsmilliseconds | Time from latest relevant copy to its first subsequent window blur. When: Measured question, rapid_guessing, exam_answer_initial/revision rows; exam-commit question rows aggregate views Values: Numeric value | Blank until that transition follows the latest copy; not a suspicious-behavior threshold. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
Technical / QA
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
eventIDtextTechnical / QA | Unique ID assigned to this local event record. When: All events unless noted Values: UUID or local fallback identifier | Useful for identifying duplicate exported records; not a student ID. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Used for troubleshooting; does not establish learning or identity. |
telemetryVersiontextTechnical / QA | Measurement implementation label stamped when the row is created. When: All events unless noted Values: mq-tracker-2026.10.13-answers2 for current rows; original labels for historical rows. | answers1 introduced the snapshot column; answers2 adds snapshot version 2 without adding CSV columns. Earlier contract1 Managerial exports have 87 columns; historical v5-engine2 labels were reused across 57- and 75-column exports. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Used for troubleshooting; does not establish learning or identity. |
gameVersiontextTechnical / QA | Version label embedded in the game HTML. When: All events unless noted Values: Game-supplied text | Does not separately identify the private telemetry adapter version. Blank: Unavailable in older data or not supplied; see event and mode. Zero: Not a numeric measure. Used for troubleshooting; does not establish learning or identity. |
questionVersionintegerTechnical / QA | Supplied question version, current-question version, or default 1. When: All events unless noted Values: Numeric value | Fallback can appear without a question; not a guarantee of content identity. Blank: Unavailable in older data or not supplied; see event and mode. Zero: May be an unused default outside the stated events/mode; within those events, zero is the recorded value. Used for troubleshooting; does not establish learning or identity. |
gameplayResponseTimeMsmillisecondsTechnical / QA | Original game-engine responseTimeMs preserved on newly measured rows. When: All events unless noted Values: Numeric value | Measured response events only; legacy/non-response cells are blank. Can differ from telemetry responseTimeMs, especially with gameplay pauses. Blank: Not measured, not applicable, older row, or a required return/copy/transition has not occurred. Zero: Measured zero duration/count or false indicator; does not mean unavailable. Interaction evidence is not proof of attention or intent. |
Answer choices
| Field / type | Meaning / when populated | Interpretation / caution |
|---|---|---|
answerSnapshotJSONJSON text | Saved question wording, options, selected choice, revision and available learning-objective metadata. Version 2 adds the authoritative correct option after an accepted answer. When: Local accepted answers, rapid guesses and exam drafts/revisions; private answer_evaluated events. Blank on lifecycle events. Values: mq-answer-snapshot/2: prior version 1 fields plus gameID, objectiveID, objectiveLabel and correctOptionIndices (zero-based option positions, or null when unavailable). Version 1 remains supported without an answer key. | The revision includes game identity, wording and option order. Original order requires a reliable shuffle mapping; otherwise optionOrder is displayed. Exact objective identifiers and labels are retained. Exam commits preserve the final saved selection and use that room’s question key. Blank: Older record, unavailable question content or selection, or content too large to record. Zero: A selectedIndex of zero means the first option in the snapshot. Correct options are saved only for accepted answers; drafts and rapid guesses carry no key. Conflicting keys for one revision are flagged for review. Authored choices contain no typed learner input or clipboard contents. Historical content is never reconstructed from current banks. |
