BI Detective

Standalone static-site exercise for a data-literacy lecture (ХАРТІЯ × KSE GBS, 9 травня 2026).

VP message says brigade efficiency went 62% → 71% over a month. Player has 4 dashboard tabs and 9 multiple-choice quizzes to figure out why — and whether the headline number actually means what it looks like (mission-mix-shift / Simpson's paradox).

Synthetic dataset of 8 540 ops; UI in Ukrainian; no backend.

Run locally

Serve the directory with any static HTTP server, e.g.:

python3 -m http.server 8000

Then open http://localhost:8000.

Regenerate the dataset

python3 generate_data.py

Rewrites game_data.js (and raw_facts.csv). Headline calibrates to ≈ 62% → 71%; per-category success rates rock-stable across runs.

Files

  • index.html — main UI
  • game.js — game logic
  • game_data.js — pre-baked synthetic dataset (8 540 ops)
  • quizzes.js — 9 Ukrainian-language quizzes
  • generate_data.py — dataset generator (regenerates game_data.js + raw_facts.csv)
  • raw_facts.csv — intermediate flat data, kept for inspection
S
Description
Static-site data-literacy exercise: investigate why a headline metric moved (decomposition, attribution, mix shift).
Readme 148 KiB
Languages
JavaScript 65.1%
CSS 23.2%
HTML 11.7%