The model includes a standalone evaluation tool (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ValveSoftware/counter-strike_regional_standings/llms.txt
Use this file to discover all available pages before exploring further.
main_fit.js) that measures how accurately the current ranking model predicts match outcomes. Valve uses this to validate the model before each Major cycle.
Running the evaluation
From themodel/ directory, run:
../data/matchdata.json). No additional arguments are required.
What the evaluation script does
The script iterates backward through historical weeks, generates rankings at each checkpoint, and measures how well those rankings predicted the matches that followed.Load the full match dataset
The script reads all matches from the data file and identifies the most recent match timestamp. It then sets an analysis window covering approximately the past four months.
Step backward through weeks
Starting from the most recent match, the script walks backward in one-week increments. At each step it re-generates the standings using only the match data available up to that point — simulating what the model would have produced at that moment in time.
Assign expected win rates
For each match in the current week, the script looks up the two teams’ rank values from the prior week’s standings and converts the point difference into an expected win probability using the Glicko formula.Matches where either team has no prior rank value are excluded from the evaluation.
Bin matches by expected win rate
All evaluated matches are placed into 5% expected-win-rate bins (0–5%, 5–10%, …, 95–100%). Bins with fewer than 20 observations are excluded from the output to avoid noise.
Output
The script prints one line per bin to stdout:Current model performance
Themodelfit.png image in the repository root shows a scatter plot of expected vs. observed win rates for the current model. Each point represents one 5% bin; the closer the points lie to the diagonal, the more accurate the model is.
Key statistics for the current model:
| Metric | Value |
|---|---|
| Spearman’s rho | 0.98 |
| Slope | Slightly less than 1 |
A slope less than 1 means the model is conservative at the extremes: it underestimates how likely a very dominant team is to win (high end of the expected-win-rate scale) and overestimates how likely a very weak team is to win (low end). In practice, this means the model slightly compresses confidence at the tails rather than predicting blowout win rates. The Valve team considers this a reasonable trade-off for the current Major cycle.
Evaluation parameters
The fit script uses these default parameters, defined infit.js:
| Parameter | Value | Description |
|---|---|---|
rd | 75 | Fixed Glicko rating deviation used for win-probability calculations |
sampleWindow | 7 days | Width of each evaluation step (one week of matches) |
analysisWindow | ~4 months | Total historical period examined |