Equal Playing Time Settings
Fair playing time is one of the hardest things to manage in youth baseball. The lineup generator handles it automatically with a single fairness algorithm that distributes innings as evenly as possible across every player on your roster.
How the Fairness Algorithm Works
There are no modes to choose from. The algorithm uses one approach that balances playing time within each game you generate.
Player Selection Scoring
Every inning, the algorithm scores each player to decide who plays and who sits. Players with fewer innings played get higher priority. Here is how the scoring breaks down:
Innings played: Players who have played fewer innings in this game score higher. If one player has played 3 innings and another has played 4, the player with 3 innings gets priority.
Consecutive bench penalty: A player who has been on the bench for consecutive innings receives a -3 penalty per bench inning. This prevents any player from sitting for long stretches.
Never-played penalty: A player who has not played a single inning yet receives a -10 penalty, making it extremely likely they get into the game as soon as possible.
Random tiebreaker: When two players have identical scores, a small random value (0 to 0.3) breaks the tie. This randomness is intentionally small so it never overrides a genuine difference in playing time. It just prevents the same player from always winning ties.
Coverage guarantee: If all the players who prefer a given position would end up benched, the algorithm forces at least one of them onto the field. This prevents a situation where a position goes unfilled because the best candidates all happen to be sitting that inning.
What This Means in Practice
The algorithm produces lineups where the gap between any two players is typically 0 to 1 inning. In a 6-inning game with 12 players, most players will play 4 or 5 innings, and no player will sit for more than 2 innings total.
Playing time is balanced within the game you are generating. The algorithm does not track playing time across multiple games or across a season. Each game starts fresh.
The Math Behind Playing Time
Understanding the basic arithmetic helps set expectations for players and parents.
How to Calculate Expected Innings
Formula: Total innings x 9 positions = total player-innings available
Divide that by the number of attending players to get the average innings per player.
Example: 12 Players, 6 Innings
- 6 innings x 9 positions = 54 player-innings
- 54 / 12 players = 4.5 innings per player on average
- In practice: some players play 4 innings, some play 5
- Every player sits 1 or 2 innings total
Example: 10 Players, 6 Innings
- 6 innings x 9 positions = 54 player-innings
- 54 / 10 players = 5.4 innings per player on average
- In practice: most play 5 innings, a few play 6
- Only 1 player sits each inning
Example: 15 Players, 6 Innings
- 6 innings x 9 positions = 54 player-innings
- 54 / 15 players = 3.6 innings per player on average
- In practice: most play 3 or 4 innings
- 6 players sit each inning
With 15 players, everyone gets meaningful playing time, but each player also spends a fair amount of the game on the bench. This is simply the math of having more players than positions. If your roster is this large, consider rotating which players attend each game or running longer practices so everyone gets reps.
Batting Order Configuration
The lineup generator gives you several options for how the batting order is built.
All Players Bat Toggle
When All Players Bat is turned on, every player on the roster is included in the batting order, even those sitting on the bench for a given inning. This is how most youth recreational leagues work. The entire roster bats in a continuous order regardless of who is on defense.
When All Players Bat is turned off, you set a specific batting order size (for example, 9 batters). Only players in the batting order get at-bats.
Batting Order Size
When All Players Bat is off, you choose how many players are in the batting order. This is typically 9 (matching the number of defensive positions) but can be adjusted to match your league rules.
Randomize Toggle
Turn on Randomize to have the algorithm shuffle the batting order each time you generate a lineup. This is useful if you want a different order every game without manually rearranging players.
Manual Drag-and-Drop Reorder
After the lineup is generated, you can manually reorder the batting lineup by dragging players up or down. This gives you full control to put your leadoff hitter first, your power hitter in the cleanup spot, or arrange the order however you see fit.
The algorithm handles the fielding positions and playing time. You handle the batting strategy.
Coaching Tips for Managing Playing Time
Communicate Before the Season
At your first parent meeting, explain how you handle playing time. When parents understand the approach upfront, they are far less likely to question individual games. You can say something like: "Every player will play 4 or 5 innings in a 6-inning game. Nobody sits more than 2 innings. The lineup generator handles this automatically."
Let the Algorithm Do the Work
The temptation is to manually adjust the lineup to give a struggling player more time or reward a player having a great day. Resist this. The algorithm's strength is that it is consistent and unbiased. When you override it, you introduce the kind of favoritism (real or perceived) that causes problems.
Fewer Players Means More Playing Time
If you have 10 players instead of 15, each player gets significantly more innings. This is worth keeping in mind when building your roster. A roster of 11 to 13 players tends to be the sweet spot for 6-inning games, giving everyone 4 or more innings while still having bench depth.
Use Bench Time Productively
When players sit, use that time for coaching. Go over what they saw in their last at-bat, talk about what to look for on defense, or work on signs. Bench time does not have to be wasted time.
Troubleshooting
Some Players Seem to Play More Than Others
Check the playing time summary after generating a lineup. The gap should be 0 to 1 inning between any two players. If you see a larger gap, it is likely because:
- Position constraints are too tight: If only one player can play catcher and they must play every inning, they will play more. Loosen constraints or train more players at key positions.
- Very few players: With only 9 or 10 players, there is almost no bench time to distribute, so differences are minimal by definition.
- Regenerate: Click generate again. The random tiebreaker means each generation is slightly different.
A Player Sat for Multiple Consecutive Innings
The consecutive bench penalty (-3 per inning) makes this rare, but it can happen if position constraints leave the algorithm no choice. Review that player's position preferences to make sure they are eligible for enough positions to give the algorithm flexibility.