A 4-team single round-robin is a common format for recreational hockey leagues. The math is clean: 6 games, 3 rounds, every team plays every other team exactly once.
This page lays out the full matchup schedule. Drop your team names into the 4 slots below and pair each game with an ice slot on your calendar.
How a 4-Team Round-Robin Works
With 4 teams, the structure is:
- Total games: 6 (n × (n−1) / 2 = 4 × 3 / 2)
- Rounds: 3
- Games per round: 2
- Games per team: 3 (one against each opponent)
Each team plays exactly once per round, and every team faces every other team by the end of the season.
The Full Matchup Schedule
Below is a standard round-robin rotation for 4 teams. Teams are labeled 1–4. Replace the team labels with your actual team names when you build your schedule.
Round 1
| Home | Away | |------|------| | Team 1 | Team 4 | | Team 3 | Team 2 |
Round 2
| Home | Away | |------|------| | Team 3 | Team 1 | | Team 4 | Team 2 |
Round 3
| Home | Away | |------|------| | Team 1 | Team 2 | | Team 4 | Team 3 |
This rotation uses the standard round-robin algorithm (fix one team, rotate the rest). Every team appears exactly once per round, and no matchup is repeated.
What This Generator Doesn't Do
This is a matchup-and-slot starter — not a constraint solver. It won't:
- Automatically assign ice slots based on team availability
- Detect conflicts if a team's preferred night changes mid-season
- Cascade reschedules — if a game moves, you manually update downstream games
- Balance rest time — depending on how you fill the slots, some teams may end up with back-to-back ice times
For leagues where those constraints matter — most leagues with more than a single ice surface or meaningful team preferences — that's where a real schedule builder earns its keep.
Frequently Asked Questions
Can I use this for a different team count?
No — this matchup matrix is only valid for 4 teams. For other team counts, browse the other hockey round-robin generators on the Hockey schedules hub.
What if I have a bye week?
With 4 teams and 2 games per round, there are no byes — every team plays every round. If you need a bye structure, that requires a different format or a different team count.
Can I use this for other sports?
The matchup matrix is sport-agnostic — the same rotation works for any sport where every team plays every other team once. The download is formatted for hockey (ice slots, 1-hour game blocks) but the matchup structure works for any sport that uses a round-robin.
What if a team drops out mid-season?
If a team drops, the round-robin structure becomes irregular and is best handled by re-generating the schedule from the new team count. For recreational hockey leagues that experience mid-season changes regularly, the static matrix breaks down quickly — that's where LeagueNav's schedule builder helps.