Skip to main content

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.

The model generates markdown files in two output trees: live/<year>/ for all runs, and invitation/<year>/ only for runs where the day-of-month is ≤7. This page explains every output file and its format.

Output directory structure

Each run produces four standings files and one detail file per ranked team:
live/
└── <year>/
    ├── standings_global_<YYYY_MM_DD>.md
    ├── standings_europe_<YYYY_MM_DD>.md
    ├── standings_americas_<YYYY_MM_DD>.md
    ├── standings_asia_<YYYY_MM_DD>.md
    └── details/
        └── <YYYY_MM_DD>/
            ├── 0001--<team-name>--<roster>.md
            ├── 0002--<team-name>--<roster>.md
            └── ...

invitation/
└── <year>/
    └── (same structure, written only when day-of-month ≤ 7)
The live/ directory receives output from every run. The invitation/ directory only receives output when the run date’s day-of-month is 7 or earlier. These early-month snapshots are the “official” monthly standings used to determine Major qualifier invitations — all other runs are intermediate updates.

Standings files

Each of the four standings files contains a markdown table of all ranked teams in that region, sorted by rank.
FileContents
standings_global_<YYYY_MM_DD>.mdAll ranked teams sorted by global rank
standings_europe_<YYYY_MM_DD>.mdEuropean teams sorted by regional rank
standings_americas_<YYYY_MM_DD>.mdAmericas teams sorted by regional rank
standings_asia_<YYYY_MM_DD>.mdAsian teams sorted by regional rank
The date in the filename uses underscores (YYYY_MM_DD). By default this is derived from the timestamp of the most recent match in the data; you can override it with the third CLI argument.

Standings table columns

Each standings file contains a table with these columns:
ColumnDescription
StandingGlobal rank (all-regions view) or regional rank (single-region view)
PointsThe team’s Glicko-based rank value, rounded to a whole number
Team NameThe team’s display name
RosterActive player nicks, sorted alphabetically, comma-separated
(link)A [details] link to the per-team detail file
Example row from a standings table:
| Standing | Points | Team Name       | Roster                                    |        |
| -------: | -----: | :--------       | :---------                                | :-     |
|        1 |   1842 | Natus Vincere   | b1t, electronic, iM, jL, w0nderful        | [details](...) |

Per-team detail files

For every ranked team, the model writes a detail file at:
details/<YYYY_MM_DD>/<rank>--<team-name>--<roster>.md
Filename conventions:
  • Rank is zero-padded to four digits: 0001, 0042, 0150
  • Team name is lowercased and all non-alphanumeric characters (except hyphens) are replaced with underscores: Natus Vincerenatus_vincere
  • Roster is the player nicks sorted alphabetically, lowercased, joined with hyphens, with the same non-alphanumeric substitution applied
Example filename:
details/2024_03_01/0001--natus_vincere--b1t-electronic-im-jl-w0nderful.md

Detail page sections

Each detail file contains the following sections:
Team name, roster, global rank (linked back to the global standings file), region, and regional rank.
Explains how the team’s starting rank value was calculated. The model averages four factors — Bounty Offered, Bounty Collected, Opponent Network, and LAN Wins — then scales that average onto a 400–2000 point range using the min/max across all teams.
400 + ( ( Roster_Average - Min_Average ) / ( Max_Average - Min_Average ) ) * 1600
A per-match breakdown table showing every match that contributed to the team’s rank. Columns include:
ColumnDescription
Match PlayedMatch number (most recent first)
Match IDUnique match identifier
DateMatch date
OpponentOpposing team name
W/LWin or loss
Age WeightRecency multiplier (recent matches score higher)
Event WeightEvent stakes multiplier
Bounty CollectedRaw and age/event-adjusted bounty value
Opponent NetworkRaw and adjusted opponent network value
LAN WinsRaw and adjusted LAN win value
H2H Adj.Head-to-head Glicko adjustment (positive for wins, negative for losses)
RosterPlayer nicks active for this match
Explains how the team’s Bounty Offered factor was calculated:
  1. Sum the team’s top 10 scaled prize winnings over the scoring window
  2. Divide by the 5th-highest such value across all rosters
  3. Apply the curve function: 1 / ( 1 + abs( log10( x ) ) )
A winnings table lists each tournament payout with its age weight and scaled value.

Curve function

Several factors are scaled through the curve function before being used in rank calculations:
f(x) = 1 / ( 1 + abs( log10( x ) ) )
This function compresses extreme values and keeps scores in a workable range regardless of the raw prize money or network size involved.

Build docs developers (and LLMs) love