Overview
Teams are ranked using a Standard Competition Ranking system (also known as “1224” ranking) where teams with equal marble counts receive the same rank, and the next rank accounts for the number of tied teams.Ranking Process
Filter Active Teams
Only teams with at least 1 marble are included in the rankings. Teams that have lost all their marbles are removed.
MarbleOrchestrator.php:136-146
Sort Teams
Teams are sorted by:
- Marble count (descending - most marbles first)
- Team name (alphabetically - for tiebreaking)
MarbleOrchestrator.php:304-313
Standard Competition Ranking
The algorithm uses Standard Competition Ranking (Olympic ranking style):- Teams with the same marble count receive the same rank
- The next rank is calculated by adding the number of tied teams
- This creates rank sequences like: 1, 2, 2, 4, 5, 5, 5, 8…
Implementation
MarbleOrchestrator.php:274-297
Tiebreaking Rules
When teams have the same marble count, they are ranked alphabetically by team name.Alphabetical tiebreaking only affects the display order of tied teams. All tied teams receive the same numerical rank.
Example: Three-Way Tie
If Ohio State, Oregon, and Penn State all have 250 marbles:- All three teams are ranked #2 (assuming one team is #1)
- Display order: Ohio State, Oregon, Penn State (alphabetical)
- The next team with fewer marbles would be ranked #5 (not #3)
Complete Ranking Example
| Team Name | Marbles | Rank | Notes |
|---|---|---|---|
| Georgia | 315 | 1 | Most marbles |
| Ohio State | 250 | 2 | Tied - alphabetically first |
| Oregon | 250 | 2 | Tied - alphabetically second |
| Penn State | 250 | 2 | Tied - alphabetically third |
| Texas | 220 | 5 | Rank skips to account for 3-way tie |
| Alabama | 220 | 5 | Tied with Texas |
| Michigan | 185 | 7 | Rank skips to account for 2-way tie |
| USC | 140 | 8 |
The Complete Flow
The main ranking method orchestrates the entire process:MarbleOrchestrator.php:34-47
Process Games
Games are processed in chronological order (week by week) and marbles are transferred after each game.
Rank Storage
Each team stores its rank internally:Team.php:46-53
Key Properties
- Zero marbles = No ranking: Teams must have at least 1 marble to be ranked
- Ties preserve rank numbers: Multiple teams can share the same rank
- Gap in rankings: After a tie, the next rank reflects the number of tied teams
- Alphabetical order: Provides consistent ordering within ties
- Week-by-week processing: Games are processed chronologically to ensure accurate marble transfers