← back to pipelines

Pipeline 3 · Analysis

BGG-mechanism regression (track A) + LLM-primitive ranking (track B).

Mechanisms scored
0
track A regression
Ranked candidates
328
track B fit_score
Last pipeline run
6h ago
2026-04-27

End-to-end ranking + reporting. Two tracks merged into one script.

python scripts/analyze.py

Track A — BGG-mechanism regression

Linear regression of bayesaverage residualized against averageweight (LOAD-BEARING — without this, BGG's complexity bias dominates every result), then a LightGBM/SHAP pass to pull out mechanism-pair interactions. Lands in reports/mechanism_scores.csv and reports/interactions.csv.

Track B — LLM-primitive ranking

Joins game_llm_primitives × game_llm_deep × the BGG quantitative columns to produce a per-game fit_score and port_headroom. Filters by:

  • playingtime ≤ 60
  • averageweight ≤ 3.0
  • usersrated ≥ 1000
  • no social mechanics (Hidden Roles, Voting, Negotiation, Trading, Bluffing, Acting)

Lands in reports/translation_candidates_ranked.csv and reports/clusters.csv.

Outputs

7 CSVs + 1 markdown briefs file in reports/, plus reports/analysis.xlsx (multi-sheet workbook with a provenance summary). Every output declares its SQLite snapshot date, the script that produced it, and the filter parameters — the /reproduce-report skill enforces this.

See /visualizations for the rendered take, and /candidates for the ranked candidate list.

Auxiliary inputs

If present, the script joins:

  • data/seed/bgg_ranks_2019.csv — historical 2019 rank for trajectory deltas.
  • data/kaggle/games.csv — Kaggle dump (drop in, gets joined automatically).

Top mechanisms by fit (sample)

From mechanism_scores.csv. See /mechanics for the full table.

MechanismGamesFit

Cluster snapshot

25 primitive-tag clusters from clusters.csv.

TagGamesAvg bayes
feeding_pressure47.69
tech_tree_unlock37.61
tableau_engine_growth37.58
card_combo_chaining37.56
event_card_dual_use37.49