A 4-team single round-robin is a common format for recreational basketball 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 a court 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 court 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 tip-offs
For leagues where those constraints matter — most leagues with more than a single court 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 basketball round-robin generators on the Basketball 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 basketball (court slots, standard 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 basketball leagues that experience mid-season changes regularly, the static matrix breaks down quickly — that's where LeagueNav's schedule builder helps.